facetize triangulation algorithm inconsistant

  • I have an ars object that is highly symmetrical. After facetizing, it is no longer symmetrical (actually, it just looses some symmetries, not all). This is due to the way facetize chooses to triangulate non-planer quadrilaterals. In my case, I have the "same" quadrilateral appearing four times, though, it is rotated/flipped etc. so that the object is symmetrical. It two instances, the triangulation connects the two closest opposite corners, the other two instances, the furthest opposite corners are connected.

    My object would retain all it's symmetries if triangulation algorithm constantly choose the closest OR consistently choose the furthest corners of the quadrilateral to connect.

    Is there any way to achieve this result?


  • Sean Morrison
    Sean Morrison

    I'm not immediately familiar with that piece of code, but what you're suggesting will probably require a source code modification.  ARS tessellation occurs in src/librt/primitives/ars/ars.c in the ars_tess() function.