Hello, I think this is more subtle than that. The procedure "triangulate" is used in several places, and sometimes it may generate triangles. When I wrote the old stl_ascii_string, I was lazy and did not care about faces other than triangles, even if I knew perfectly that they could happen. I have never seen any feedback on somebody using this STL export and saying "that's good to have", so my motivation was low. I do not think that the name "triangulate" is good, but there is not much value in changing it. This is a rather deep internal method.
Frederic Le jeudi 12 janvier 2017 12:29:13 UTC+1, ams a écrit : > > While investigating the stl export from 3D plots, (which have been > recently improved, see trac-ticket-22144 > <https://trac.sagemath.org/ticket/22144>) I found a method in > plot/plot3d/parametric_surface.pyx > <https://github.com/sagemath/sage/blob/develop/src/sage/plot/plot3d/parametric_surface.pyx> > > that is called *triangulate*, but that actually quadrangulates the > underlying self (maybe it also produces triangles, when some quadrilateral > is degenerate, I am not sure). > > def triangulate(self, render_params=None): > r""" > […] so normals of the triangles […] > """ > # […] > face.n = 4 # […] > > The reason I looked into it was that it caused problem for saving to stl > format because the old version of *stl_ascii_string* method assumed that > the output of a method called *triangulate* would always have only > *triangles*. *stl_ascii_string* have been modified in ticket 22144 > <https://trac.sagemath.org/ticket/22144>, but I still thing it's kind of > counterintuitive to have a *triangulate* method that do not produces > triangles but quadrilaterals instead. > > Does anybody here knows what were the reasons behind this choice ? And > where is it used ? > -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at https://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.