Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

How to obtain the vertices of the faces of a polyhedron in the cycling order ?

I wanted to transfer informations from sagemath to Asymptote and draw the faces of a dodecahedron. So according to the documentation I code

F1 = Dodec.faces(2)
fa=[f.ambient_V_indices() for f in F1]
Sdodec=[(round(Vdodec[i][0],2),round(Vdodec[i][1],2),round(Vdodec[i][2],2)) for i in range(len(Vdodec))]
show("fa= ",fa)
show("points = ",Sdodec)

If I have understood the documentation fa gives the vertices implied in a face. Those vertices are numbered according to the order of the Vrepresentation() of Dodec as written in the doc :

"The faces are printed in shorthand notation where each integer is the index of a vertex/ray/line in the same order as the containing Polyhedron’s Vrepresentation()". So (15,16,17,18,19) is a face composed of the points :

p15=(-0.76, 0.76, -0.76),
p16=(-0.76, -0.76, -0.76),
p17=(-1.24, 0.47, 0.0),
p18=(-1.24, -0.47, 0.0),
p19=(-0.47, 0.0, -1.24),

And this is true. But here comes the problem : as I understand it, the face should be the closed cycle p15--p16--p17--p18--p19. But transfered in Asymptote, I discovered that the true order should be p15--p19--p16--p18--p17. The same type of error seems to be the case for each face (good composition but bad order).

So here is my question : is there a command which gives the good order of the vertices which define a face or is it an error because the vertices should be given in the good order ?

(Hope that this time there is no element missing in the code)