Zum 3DCenter Forum
Inhalt




Geometrie: High Order Surfaces

25. April 2004 / von Frank / Seite 13 von 13


   Curved Point Normal Triangles (N-Patch)  (Forts.)

Interessant ist, ob ein Verbund vieler Curved PN Triangles überhaupt untereinander zusammenpasst - die einzelnen Bézierdreiecke also alle lücken- und überhangfrei abschliessen und eventuell auch einen glatten Übergang besitzen. Dies lässt  sich recht schnell herausfinden: Liegen zwei Grunddreiecke nebeneinander und haben an ihrer gemeinsamen Kante die gleichen Normalenvektoren, so fallen bei der Berechnung der beiden Kontrollpunkte des Randes genau diese auch zusammen, da jeweils der gleiche Normalenvektor vorliegt. Damit haben beide Kontrollnetze bei ihrem Übergang das selbe Randpolygon und erzeugen damit die selbe Rand(Bézier-)kurve. Zusätzlich liegt an den beiden Ecken gar C1 Stetigkeit vor. Jedoch auch nur da. Denn die nächste Polygonreihe, die wir für einen solchen gesamten stetigen Übergang benötigen, fließt schon bei der Berechnung anderer Kanten mit ein.

Man könnte hier den Grad des kubischen Bézierdreiecks erhöhen und mit einen größeren Kontrollnetz versuchen, dies zu umgehen. Sinnvoll erscheint dies aber kaum, da auch so schon eine deutliche visuelle Verbesserung eintritt bei entsprechend vertretbaren Aufwand. Diesen Weg gibt es aber durchaus: Verwendet werden keine kubischen Bézierdreiecke, sondern Quintische. Zusätzlich zu dem in jeder Ecke vorliegenden Normalenvektor fließen aber noch andere Informationen zu Generierung des Kontrollnetzes ein. (Das ganze läuft unter dem Namen Q18 Methode). Eine andere Möglichkeit wäre nicht einen einzigen Patch pro Grunddreieck zu verwenden, sondern gleich Mehrere kubische (drei Teilpatches: "Clough-Tocher-Element") oder quadratische Bézierdreiecke (sechs oder zwölf Teilpatches: "Powell-Sabin-Element"). Diese werden alle nach ähnlichem Muster erzeugt. 

Dafür stellt sich nun aber ein ganz anderes Problem: Was passiert, wenn an einer gemeinsamen Kante zweier Dreiecke die Normalenvektoren unterschiedlich ausfallen?


... dies ist schon bei einem normalen Würfel der Fall.


Ein einfacher Würfel zeigt schon, dass den Normalenvektor einer Ecke nicht immer einfach aus den anliegenden Flächennormalen mitteln kann. Auch wenn das Verfahren der Curved PN Triangles in speziell diesen Beispiel noch funktionieren würde - es lassen sich schnell andere Beispiele finden, wo es zu sogenannten Cracks kommt - Lücken zwischen zwei Freiformflächen: Übergang an einer Zylinderkante, ...

Es gibt aber noch ein anderes nicht gewünschtes Resultat:


Links: die scharfe Kante der Axt besitzt zu beiden Seiten unterschiedliche Normalen
Rechts: es wird pro Eckpunkt nur eine Normale verwendet


Links: das Ergebnis des obigen rechten Bildes. Die scharfe Kante dieses übertriebenen Beispiels ist "weggewölbt".
Mitte und Rechts: dies kann zum einem durch Einfügen kleinerer Dreiecke an den Kanten umgangen werden. Diese "isolieren" die Problembereiche.


   Fazit

Es dürfte daher offen liegen, dass ohne irgendwelche Eingriffe in ein bestehendes Grafiksystem eines Programms Truform nicht problemfrei anwendbar ist. Da aber vorhersehbar ist, wo es zu nicht gewünschten Darstellungsergebnissen kommt, kann man diese eventuell mehr oder minder aufwendig umgehen - oder natürlich bei einen neuen Projekt schon vorher einplanen. Dies wäre der andere Weg: gleich mit Freiformflächen zum Modellieren zu arbeiten. Beispiel RT Patches: Rectangular & Triangular Patches. Dies bedeutet nichts anderes als rechteckige und dreieckige Flächenstücke - ganz speziell sind dies Bézerflächen und Bézierdreiecke dritten und vierten Grades.






Kommentare, Meinungen, Kritiken können ins Forum geschrieben werden - Registrierung ist nicht notwendig Zurück / Back 3DCenter-Artikel - Index Home

Shortcuts
nach oben