Curved triangles

84 views
Skip to first unread message

Martin

unread,
Apr 5, 2012, 12:46:38 PM4/5/12
to st...@googlegroups.com
Hi all,

I have noticed some disturbing behavior of the curved triangle specification. I attached the problematic AMF file and some pictures which illustrate the problems. I attached subdivision levels 4-8, as well as a cross-section which shows the bumps in the surface. The fractal patterns you see on the surface are not shading artifacts -- the geometry is actually bumpy. Due to the fractal nature of the issue, it becomes more apparent at higher subdivision levels (and only with significantly curved triangles).

There is the possibility that these issues are due to a bug in my code (and I do hope it is). However, to double-check, I ported the curved triangle code from the open-source tool into our system, and the result is identical, so I assume that my implementation is not the problem. 

I would be very grateful if other people on this list could double-check the issue with their own, independent implementations of the standard. I could not get the full open-source amftools program to compile (not having Visual Studio, it was always a long shot), and the executable in SVN does not work. So if someone can test with the reference implementation, that would be a good first step.

The curved triangle specification in the standard will create a G1 continuous surface (in-plane tangents are collinear, but not of the same length). It is not surprising that such a subdivision scheme does not produce smooth surfaces (C2 is required for that). Modern subdivision schemes have this property, but cannot process each triangle individually. I think that no subdivision scheme that does process each triangle individually can offer more than C1 continuity.

I am not sure how people on this list perceive the severity of this problem. Unfortunately, I do not know of an easy fix.

Martin
curvetest.amf
cross-section.png
level4.png
level5.png
level6.png
level7.png
level8.png

Jonathan Hiller

unread,
Apr 6, 2012, 12:47:57 PM4/6/12
to st...@googlegroups.com
Martin,

Your observations are correct. The current recommended subdivison algorithm--although "good enough" to achieve 10-1000x reduction in geometric error per triangle--is not a replacement for NURBS (or similar).

By making the assumption that each triangle is subdivided independently (and therefore recursively) we see the effect as you have noted on triangles including edges with highly varying curvature. According to the current spec, the burden lies on the AMF generating program to not generate edges with such varying curvature as to cause undue deformation at 4+ subdivision levels. However, it would be a relatively small modification to the standard to switch the recursive subdivision for a similar top-down subdivision that always generates smooth surfaces. I personally think this is a desirable property and worth exploring.

***Note to all: This would require no changes to the actual AMF files, simply changes to the standard interpretation of an AMF file using curved triangles.***

  ~Jon







Martin

--
You received this message because you are subscribed to the Google Groups "STL 2.0" group.
To view this discussion on the web visit https://groups.google.com/d/msg/stl2/-/Mgdq3OskxiAJ.
To post to this group, send email to st...@googlegroups.com.
To unsubscribe from this group, send email to stl2+uns...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/stl2?hl=en.

Reply all
Reply to author
Forward
0 new messages