www.wikidata.de-de.nina.az
Non uniform rational B Splines deutsch nicht uniforme rationale B Splines kurz NURBS sind mathematisch definierte Kurven oder Flachen die im Computergrafik Bereich beispielsweise im CGI oder CAD zur Modellierung beliebiger Formen verwendet werden Ein NURBS kann jeden beliebigen nicht verzweigenden stetigen Linienzug darstellen Im Computergrafik Bereich wird die Geometrieinformation jedoch meist uber stuckweise funktional definierte Geometrie Elemente dargestellt statt die komplette Formgebung uber einen einzigen NURBS abzubilden Dreidimensionale NURBS Flachen konnen komplexe organische Formen aufweisen Kontrollpunkte beeinflussen die Richtungen der Oberflache Das ausserste Quadrat unten skizziert die X Y Ausdehnungen der Oberflache NURBS Flache grun vom Grad 4 definiert durch 36 Kontrollpunkte rot uber einem zweidimensionalen Parametergebiet unteres Gitter Inhaltsverzeichnis 1 Entwicklung 2 Anwendung 3 Mathematische Beschreibung 3 1 Randbedingungen und Definitionen 3 2 Einheitskreis 3 3 NURBS Flachen 4 Einfache Erklarung eines komplexen Sachverhaltes 5 Literatur 6 WeblinksEntwicklung BearbeitenIn den 1950er Jahren wurden besonders im Automobil und Schiffbau fur die fehlerfreie Reproduzierbarkeit technischer Bauteile mathematisch exakte Beschreibungen von Freiformflachen benotigt Vor dieser Zeit wurden derartige Oberflachen durch einzelne von einem Konstrukteur hergestellte physikalische Modelle beschrieben So begann unter anderem der Ingenieur Pierre Etienne Bezier zu dieser Zeit bei Renault in Frankreich mit der Entwicklung der nach ihm benannten Bezierkurve Unabhangig von Bezier arbeitete Paul de Casteljau angestellt bei Citroen zur gleichen Zeit auch an diesem mathematischen Problem Weil Bezier die Ergebnisse seiner Arbeit veroffentlichte werden heutzutage in der graphischen Datenverarbeitung Splines deren Kontrollpunkte nicht auf der Kurve selbst liegen als Bezier Spline bezeichnet wahrend der Name von de Casteljau in dem nach ihm benannten Algorithmus fortlebt der fur die numerische Verarbeitung parametrischer Flachen eingesetzt wird In den 1960er Jahren wurde klar dass non uniform rational B Splines NURBS eine Generalisierung von Bezier Splines sind die als uniform non rational B Splines angesehen werden konnen Zunachst wurden NURBS nur in proprietaren CAD Werkzeugen von Automobilunternehmen verwendet Spater hielten sie Einzug in weiter verbreitete Computergrafik Anwendungen beispielsweise die Open Graphics Library OpenGL Auf Systemen von Silicon Graphics wurde erstmals 1989 die Echtzeitverarbeitung und interaktives Rendering von NURBS Kurven und Flachen moglich Auf der Cebit 1994 stellten die Firmen CAS Berlin und CAA in Zusammenarbeit mit der TU Berlin den ersten auf den Namen NoRBS getauften interaktiven NURBS Modellierer fur PCs vor Heutzutage enthalten die meisten professionellen Computergrafik Anwendungen NURBS Technologie die in den meisten Fallen durch die Integration einer NURBS Engine realisiert ist die von einer darauf spezialisierten Firma bereitgestellt wird Anwendung BearbeitenNURBS sind bei der computergestutzten Konstruktion CAD und Fertigung CAM beinahe unersetzlich und Teil zahlreicher Industriestandards wie IGES Initial Graphics Exchange Specification STEP STandard for the Exchange of Product model data und PHIGS Programmer s Hierarchical Interactive Graphics System Im Allgemeinen ist die interaktive Bearbeitung von NURBS Kurven und Flachen sehr intuitiv und vorhersagbar Kontrollpunkte sind stets entweder direkt mit der Kurve oder Flache verbunden oder wirken als seien sie mit einem Gummiband verbunden Eine Manipulation der Geometrieelemente kann am offensichtlichsten bei Bezierkurven direkt an den Kontrollpunkten durchgefuhrt oder durch ubergeordnete Werkzeuge realisiert werden Derartige Werkzeuge basieren zum Teil auf der Eigenschaft von NURBS Kurven und Flachen unterschiedlicher Stetigkeit darstellen zu konnen Hierbei werden unterschiedlich starke Stetigkeitsforderungen gestellt Neben der ublichen C displaystyle mathcal C nbsp Stetigkeit wird hier auch die geometrische Stetigkeit betrachtet G 0 displaystyle mathcal G 0 nbsp Positions Stetigkeit gilt wenn die Endpunkte zweier Kurven oder Flachen zusammentreffen Trotzdem konnen Kurven oder Flachen sich in einem Winkel beruhren der zu einer scharfen Kante oder Ecke an dieser Stelle fuhrt und Storungen bei Lichteffekten verursacht G 1 displaystyle mathcal G 1 nbsp Bei tangentialer Stetigkeit verhindert die Parallelitat der Endvektoren von Kurven oder Flachen das Auftreten scharfer Kanten Tangentiale Stetigkeit ist oftmals ausreichend da die Beleuchtung derartiger Geometrien kontinuierlich und damit naturlich erscheint G 2 displaystyle mathcal G 2 nbsp Krummungsstetigkeit herrscht bei gleichen Krummungswerten im gemeinsamen Punkt von aneinander grenzender Kurven respektive gemeinsamen Linien aneinander grenzender Flachen Diese Stetigkeit ist beispielsweise notwendig fur uberstromte Flachen um ein Ablosen der Stromung ausschliessen zu konnen Hohere Stetigkeitsgrade sind mit NURBS ebenfalls moglich Die Realisierung glatter Oberflachen erfordert NURBS Flachen die wenigstens G 1 displaystyle mathcal G 1 nbsp Stetigkeit erreichen Fehler in der Oberflache konnen durch Beleuchtung und Reflexion detektiert werden Eine Methode zur Bewertung einer Flache basiert auf der Auswertung eines durch Ray Tracing oder Reflexion und Abbildung aufgenommenen Bilds einer Flache mit weissen auf sie reflektierten Streifen womit selbst die kleinsten Abweichungen der Flache aufgedeckt werden konnen Diese Methode stammt aus dem Prototypenbau im Automobilbereich wo die Oberflachenqualitat durch Uberprufung der Reflexionen von einem Neonlichthimmel auf der Karosserie sichergestellt wird Mathematische Beschreibung BearbeitenNURBS Kurven und Flachen haben eine Reihe interessanter Eigenschaften Sie sind invariant fur projektive Transformationen Sie bieten eine gemeinsame mathematische Darstellung fur sowohl analytische Standardformen z B Kegelschnitte als auch Freiformflachen Sie reduzieren den Speicheraufwand fur geometrische Objekte im Vergleich zu einfacheren Methoden Sie konnen durch numerisch stabile und prazise Algorithmen verhaltnismassig schnell ausgewertet werden Sie sind Verallgemeinerungen von nicht rationalen B Splines und nicht rationalen und rationalen Bezier Kurven und Flachen Die Aussage dass NURBS Kurven eine Verallgemeinerung von Bezierkurven sind bedeutet dass alle Bezierkurven NURBS Kurven aber nicht alle NURBS Kurven Bezierkurven sind Eine NURBS Kurve C u displaystyle textstyle C u nbsp ist definiert durch den Grad k displaystyle textstyle k nbsp ihrer Basispolynome Ordnung p der NURBS Kurve 1 eine Menge P displaystyle textstyle mathbb P nbsp gewichteter w i displaystyle textstyle w i nbsp Kontrollpunkte P i displaystyle textstyle P i nbsp und einen Knotenvektor U displaystyle textstyle U nbsp NURBS Kurven und Flachen sind Verallgemeinerungen von sowohl B Splines als auch Bezierkurven und flachen Der hauptsachliche Unterschied zu diesen beiden Splinearten ist die Gewichtung der Kontrollpunkte mit den Gewichten w i displaystyle textstyle w i nbsp Durch die w i displaystyle textstyle w i nbsp werden NURBS Kurven rational Eine NURBS Kurve ist uber die Summe der mit rationalen B Spline Basisfunktionen R i k displaystyle textstyle R i k nbsp gewichteten Kontrollpunkte P i displaystyle textstyle P i nbsp also uber die Formel C u i 0 n R i k u P i displaystyle C u sum i 0 n R i k u P i nbsp vollstandig definiert Die rationale B Spline Basisfunktion errechnet sich aus B Spline Basisfunktionen N i k displaystyle textstyle N i k nbsp des Grads der Basispolynome k displaystyle textstyle k nbsp und den zu den Kontrollpunkten zugehorigen Gewichten w i displaystyle textstyle w i nbsp zu R i k u N i k u w i j 0 n N j k u w j displaystyle R i k u frac N i k u w i sum j 0 n N j k u w j nbsp Der Parameter u a b displaystyle textstyle u in a b nbsp schaltet im Bereich des Knotenvektors U a 0 a p 1 p u p u n b n 1 b n p p displaystyle displaystyle U underbrace a 0 ldots a p 1 p u p ldots u n underbrace b n 1 ldots b n p p nbsp die einzelnen Segmente der Spline Kurve aktiv Die Elemente des Knotenvektors sind monoton steigend wobei alle a i a j displaystyle textstyle a i a j nbsp sowie alle b i b j displaystyle textstyle b i b j nbsp sind Randbedingungen und Definitionen Bearbeiten Kontrollpunkte P P i P i x y mit x y R und i 0 n N displaystyle mathbb P P i mid P i x y text mit x y in mathbb R text und i 0 n in mathbb N nbsp P m n 1 displaystyle mathbb P m n 1 nbsp W w i R i 0 n N displaystyle mathbb W w i in mathbb R i 0 n in mathbb N nbsp W m n 1 displaystyle mathbb W m n 1 nbsp KnotenvektorDer Knotenvektor U displaystyle textstyle U nbsp besteht aus Parameterwerten u i displaystyle textstyle u i nbsp die den Einfluss der Kontrollpunkte P i displaystyle textstyle P i nbsp auf die NURBS Kurve festlegen Die Anzahl der Knoten ist immer gleich der Anzahl der Kontrollpunkte plus dem Grad der Kurve plus eins U r m k 1 n p 1 displaystyle textstyle U r m k 1 n p 1 nbsp Beispielsweise hat eine Kurve dritten Grades mit vier Kontrollpunkten acht Knoten 4 3 1 8 Fur den Graphik Designer sind Knoten gewohnlich nicht hilfreich sie werden nur fur interne Berechnungen benotigt Aus diesem Grund sind Knoten in vielen Graphik Design Programmen nicht anderbar oder uberhaupt sichtbar Neuere Versionen von NURBS Software z B Alias Maya erlauben interaktive Anderungen an Knotenpositionen was allerdings bedeutend weniger intuitiv ist als Anderungen an Kontrollpunkten Die Werte des Knotenvektors mussen in aufsteigender Reihenfolge vorliegen Damit ist 0 0 1 2 3 gultig 0 0 2 1 3 dagegen nicht Die einzelnen Knotenwerte haben keine Aussage fur sich selbst einzig und allein die Verhaltnisse der Differenzen zwischen den Knotenwerten haben eine Bedeutung Demzufolge ergeben die Knotenvektoren 0 0 1 2 3 0 0 2 4 6 und 1 1 2 3 4 alle die gleiche Kurve Weiterhin muss die Vielfachheit eines Knotens kleiner gleich sein als der Grad der Kurve kein Knoten darf ofter als der Grad der Kurve auftauchen Fur NURBS ersten Grades ist jeder Knoten gepaart mit einem Kontrollpunkt Ordnung einer NURBS KurveEine NURBS Kurve ist von der Ordnung p k 1 displaystyle textstyle p k 1 nbsp sie besteht aus Polynomen vom Grad k displaystyle textstyle k nbsp Die Ordnung p displaystyle textstyle p nbsp einer NURBS Kurve ist festgelegt durch die Anzahl benachbarter Kontrollpunkte die die Kurve beeinflussen Die Kurve setzt sich mathematisch aus Polynomen zusammen deren Grad k displaystyle textstyle k nbsp eins kleiner als die Ordnung der Kurve ist k p 1 displaystyle textstyle k p 1 nbsp Also werden Kurven zweiter Ordnung die durch lineare Polynome dargestellt werden lineare Kurven Kurven dritter Ordnung quadratische Kurven und Kurven vierter Ordnung kubische Kurven genannt Die Anzahl m displaystyle textstyle m nbsp der Kontrollpunkte muss grosser oder gleich der Ordnung p displaystyle textstyle p nbsp der Kurve sein In der Praxis werden am haufigsten kubische Kurven gebraucht Kurven funften oder sechsten Grades sind manchmal nutzlich gerade fur Ableitungen Kurven hoheren Grades werden in der Praxis aber nie benutzt da sie zu internen numerischen Problemen fuhren und ihre Berechnung tendenziell unverhaltnismassig viel Berechnungszeit erfordert Einheitskreis Bearbeiten Im Gegensatz zu nicht rationalen Kurven die nicht geeignet sind Kreise darzustellen klappt dies mit NURBS problemlos Der Einheitskreis in der xy Ebene kann beispielsweise als NURBS Kurve vom Grad 2 mit Knotenvektor 0 0 0 1 1 2 2 3 3 4 4 4 und folgenden Kontrollpunkten und Gewichten konstruiert werden x y z Gewicht1 0 0 11 1 0 2 20 1 0 1 1 1 0 2 2 1 0 0 1 1 1 0 2 20 1 0 11 1 0 2 21 0 0 1NURBS Flachen Bearbeiten Wahrend eine NURBS Kurve ausschliesslich in eine parametrische Richtung u displaystyle u nbsp aufgespannt ist wird eine NURBS Flache durch zwei Parameter genannt u displaystyle u nbsp und v displaystyle v nbsp aufgespannt Die Kurve kann durch Auswertung an unterschiedlichen Parametern im kartesischen zwei oder dreidimensionalen Raum abgebildet werden Analog erfolgt die Abbildung einer NURBS Flache im kartesischen Raum durch Auswertung mit verschiedenen Werten fur zwei Parameter S u v i 0 n j 0 m R i j u v P i j displaystyle S u v sum i 0 n sum j 0 m R i j u v P i j nbsp sind definiert durch ein Kontrollgitter P i j displaystyle P i j nbsp und die rationale Basisfunktion R i j u v N i p u N j q v w i j k 0 n l 0 m N k p u N l q v w k l displaystyle R i j u v frac N i p u N j q v w i j sum k 0 n sum l 0 m N k p u N l q v w k l nbsp mit einer zweidimensionalen Gewichtematrix w i j displaystyle w i j nbsp Die zweite Dimension der Flache S u v displaystyle S u v nbsp mit dem Parameter v displaystyle v nbsp wird geschaltet durch den analog zu U displaystyle U nbsp aufgebauten Knotenvektor V c c q v q 1 v s q 1 d d q displaystyle V underbrace c ldots c q v q 1 ldots v s q 1 underbrace d ldots d q nbsp mit der Ordnung q displaystyle q nbsp und der Lange s displaystyle s nbsp Einfache Erklarung eines komplexen Sachverhaltes BearbeitenIn den 1950er Jahren hat Bezier eine mathematische Formel entdeckt mit der sich eine geschwungene Kurve beschreiben lasst Die Kurve wird dabei durch wenige sogenannte Kontrollpunkte definiert In der Folge hat sich herausgestellt dass diese Bezierkurven noch nicht ausreichend sind um beispielsweise einen Kreis exakt darzustellen Daraufhin wurden mathematische Formeln entwickelt bei denen die einzelnen Kontrollpunkte unterschiedlich stark rational auf den Kurvenverlauf einwirken konnen die sogenannten B Splines Der Begriff Spline ist historisch und stammt aus dem Schiffbau Linealartige biegsame Metallstreifen sogenannte Straklatten engl splines wurden seitlich mit Gewichten beschwert und konnten somit eine definierte Kurve darstellen Mehrere dieser Kurven hintereinander stellten die Spanten dar die wiederum den Rumpf des Schiffes ergaben Spater wurden dann mathematische Formeln entwickelt die sowohl Beziers Formel als auch die B Splines verallgemeinerten die sogenannten Non uniform rational B Splines Damit kann man also beliebige Kurven darstellen und wenn man nicht nur eine Richtung Lange wie bei einer Kurve sondern eine zweite Breite hinzufugt konnen damit beliebige Flachen dargestellt werden Theoretisch konnen diese Flachen beliebig komplex und gross sein Da der Aufwand zur Berechnung der Formeln allerdings mit zunehmender Komplexitat stark ansteigt und auch mit einem leistungsfahigen Computer nicht mehr in angemessener Zeit berechnet werden kann werden kompliziertere Flachen durch mehrere aneinandergesetzte sogenannte Patches dargestellt In der industriellen Produktion werden mittlerweile fast ausschliesslich NURBS eingesetzt um jede Art von herzustellendem Objekt Joghurtbecher Motorgehause Sonnenbrillen usw mathematisch exakt abbilden zu konnen Literatur BearbeitenLes Piegl Wayne Tiller The NURBS Book Monographs in Visual Communication Springer 2000 David F Rogers An Introduction to NURBS With Historical Perspective Academic Press 2001 Lyle Ramshaw Blossoming A connect the dots approach to splines Research Report 19 Compaq Systems Research Center Palo Alto CA June 1987 James D Foley Andries van Dam Steven K Feiner John F Hughes Computer Graphics Principles and Practice 2nd ed Addison Wesley 1996 David Salomon Curves and Surfaces for Computer Graphics Springer Science Business Media 2006 ISBN 0 387 24196 5 Weblinks BearbeitenTinySpline Open Source C Programmbibliothek mit Bindings fur verschiedene Sprachen Abgerufen von https de wikipedia org w index php title Non Uniform Rational B Spline amp oldid 236490378