DE69915837T2 - Parametrische Flächenauswertung im Eigenraum der Unterteilungsmatrix eines irregulären Flächenstücks - Google Patents

Parametrische Flächenauswertung im Eigenraum der Unterteilungsmatrix eines irregulären Flächenstücks Download PDF

Info

Publication number
DE69915837T2
DE69915837T2 DE69915837T DE69915837T DE69915837T2 DE 69915837 T2 DE69915837 T2 DE 69915837T2 DE 69915837 T DE69915837 T DE 69915837T DE 69915837 T DE69915837 T DE 69915837T DE 69915837 T2 DE69915837 T2 DE 69915837T2
Authority
DE
Germany
Prior art keywords
computer
control nodes
subdivision
based method
evaluation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69915837T
Other languages
English (en)
Other versions
DE69915837D1 (de
Inventor
Jos Stam
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alias Systems Corp
Original Assignee
Silicon Graphics Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Silicon Graphics Inc filed Critical Silicon Graphics Inc
Publication of DE69915837D1 publication Critical patent/DE69915837D1/de
Application granted granted Critical
Publication of DE69915837T2 publication Critical patent/DE69915837T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

  • Hintergrund der Erfindung
  • Computer bieten immer weiter verfeinerte Verfahren zur Flächenmodellierung an. Anwendungen dieser Flächenmodelle reichen von der Erzeugung realistischer Anzeigebilder bis zur Bereitstellung von Simulationen mit genauen Flächeninformationen.
  • Mit Bezug zu 1 erscheint eine Freiformfläche 10 in einem dreidimensionalen Raum (z. B. auf einem Computermonitor angezeigt). Mit Bezug zu 2 kann man sich eine Fläche 10 bei einem Computermodellierprogramm als durch einen verbundenen Satz von Flächenstücken 12, 14, wie beispielsweise bikubische Spline-Flächenstücke, vorstellen. Ein üblicher Typ einer bikubischen Flächen-Spline ist eine Bezier-Spline (B-Spline). Mit Bezug zu 3 bieten Steuerknoten 16 Modellierern von Computerflächen ein intuitives Verfahren zum Angeben der Kontur eines ausgewählten Flächenstücks 12 an. Die Bewegung eines Steuerknotens 16 verursacht eine korrespondierende Veränderung bei der Kontur des Flächenstücks 12. Zum Beispiel könnte eine Bewegung des Steuerknotens 16a die Koordinaten des oberen rechten Abschnitts des Flächenstücks 12 signifikant ändern. In einem geringeren Ausmaß sollte sich die Bewegung des Steuerknotens 16a auch auf den unteren linken Abschnitt des Flächenstücks 12 auswirken.
  • Wieder mit Bezug zu 2 weist jedes Flächenstück der Fläche 10 einen korrespondierenden Satz von Steuerknoten auf. Aneinander angrenzende Flächenstücke (z. B. Flächenstück 12 und Flächenstück 14) teilen sich die Steuerknoten. Somit wirkt sich eine Bewegung eines einzigen Steuerknotens auf einige benachbarte Flächenstücke aus. Jedoch hat diese Bewegung keine Auswirkung auf Flächen stücke, die sich nicht den bewegten Steuerknoten teilen. Somit stellen die Steuerknoten 16 ein praktisches Werkzeug zum Einstellen von Konturen eines örtlichen Bereichs benachbarter Flächenstücke bereit.
  • Obwohl eine graphische Benutzerschnittstelle (GUI), die einem Benutzer erlaubt, Steuerknoten sichtbar zu bewegen (z. B. mittels Auswählen und Ziehen eines Steuerknotens), einen Modellierer von der damit einhergehenden Mathematik abschirmen kann, wirken, mit Bezug zu 4, die Koordinaten der Steuerknoten 16 als Koeffizienten eines Satzes von Funktionen 22, die die Kontur eines B-Spline-Flächenstücks 12 in drei Dimensionen bestimmen können. Sechzehn B-Spline-Basisfunktionen 22, mit b1–b16 in der 4 bezeichnet, übersetzen einen Satz von Parametern u und v 20, die einen Flächenort beschreiben (z. B. die Werte u und v, die Koordinaten des Flächenorts 20 innerhalb einer zweidimensionalen Ebene 18 beschreiben), in die Koordinaten des Orts in drei Dimensionen 24. Das in der 4 gezeigte Verfahren ist als Parametrisierung bekannt. Es gibt viele Techniken zur Bearbeitung von parametrisierten Flächen.
  • Mit Bezug zu 5 ermöglicht es die Unterteilung von Steuerknoten (d. h., die Bestimmung eines neuen Satzes von Steuerknoten basierend auf einem vorhergehenden Satz von Steuerknoten) einem Modellierer, gesteigerte Kontrolle über einen feineren Satz von Flächenstücken zu erzielen. Unterteilungsregeln leiten die Bestimmung neuer Steuerknoten aus existierenden Steuerknoten. Viele verschiedene Unterteilungsregeln existieren. Zum Beispiel erzeugen Catmull-Clark-Unterteilungsregeln neue Steuerknoten 28 aus einem Satz ursprünglicher Steuerknoten 16, die ein B-Spline-Flächenstück 12 angeben. Catmull-Clark-Flächen haben viele Eigenschaften, die sie als Freiformflächen-Gestaltungswerkzeug attraktiv machen. Zum Beispiel bilden, ungeachtet der anfänglichen Topologie eines Satzes von Steuerknoten, nach einer einzigen Anwendung von Catmull-Clark-Unterteilungsregeln die von den neuen Steuerknoten gebildeten Flächen Vierecke (quadrilaterals). Ferner sind viele verschiedene Algorithmen für diese Flächen geschrieben worden, zum Beispiel glättende Algorithmen, die eine ungewollte Flächen wellung reduzieren. Unterteilungsalgorithmen für diese Flächen sind im Dokument Halstead M et al.: "Efficient, fair interpolation using Catmull-Clark surfaces", Computer Graphics Proceedings, Proceeding of Siggraph 20th Annual International Conference on Computer Graphics and Interactive Techniques, The Eye of Technology, Anaheim, CA, USA, 1.–6. Aug. 1993, Seiten 35–44, 1993, New York, NY, USA, ACM, USA, ISBN: 0-89791-601-8, offenbart.
  • Um Unterteilungsregeln zu verstehen, ist es hilfreich, sich jeden Steuerknoten 16 als eine Ecke eines Polygons vorzustellen. Catmull-Clark-Unterteilungsregeln fügen neue Steuerknoten 28 in die Mitte jeder Polygonfläche, die mittels der ursprünglichen Steuerknoten 16 gebildet wurde, und in die Mitte jedes Polygonrandes, der nicht eine äußere Kante des Satzes von Polygonen bildet, ein. Der neue Satz der Steuerknoten 28 umfasst auch diejenigen ursprünglichen Steuerknoten 16, die nicht die äußeren ursprünglichen Steuerknoten 16 sind. Die Anwendung von Unterteilungsregeln auf ursprüngliche Steuerknoten 16 verändert die Kontur des Flächenstücks 12 nicht, wenn keiner der neuen Steuerknoten 28 bewegt wird. Teilmengen der neuen Steuerknoten 28 ermöglichen jedoch eine Steuerung von Unterflächenstücken, indem sie im Wesentlichen vier kleinere, neue Flächenstücke aus dem ursprünglichen Flächenstück 12 machen. Zum Beispiel steuern die neuen Steuerknoten 28a28p das Unterflächenstück 26 des ursprünglichen Flächenstücks 12. Jedoch können B-Spline-Basisfunktionen (und die Basisfunktionen für andere Flächengeometrien) eine Fläche nur dann auswerten, wenn die Anordnung der Steuerknoten einem festen Satz von Bedingungen entspricht.
  • Mit Bezug zu 6A definiert ein Satz von Steuerknoten 30, der auch als "Netz" (mesh) bekannt ist, eine glatte Fläche. Jeder Steuerknoten 30 hat eine Valenz (Wertigkeit), die der Anzahl der Kanten, die am Knoten zusammentreffen, entspricht. Zum Beispiel hat der Steuerknoten 32a, der sich am Schnittpunkt von drei Kanten befindet, die Valenz drei. Im Fall einer in vierseitige Flächenstücke geteilten Freiformfläche wird ein Knoten, der eine Valenz ungleich vier aufweist, als außerordentlicher Knoten bezeichnet. Die 6A enthält drei außerordentliche Knoten.
  • Die Knoten 32a und 32c haben die Valenz drei. Der Knoten 32b hat die Valenz fünf.
  • Ein Flächenstück, das mittels eines regulären Satzes von Steuerknoten (d. h., eines Satzes von Steuerknoten, der keine außerordentlichen Steuerknoten aufweist) gesteuert wird, kann unter Verwendung der in der 4 gezeigten Basisfunktionen ausgewertet werden. In den 6A6C sind reguläre Flächen, die durch reguläre Steuerknotensätze gebildet sind, schattiert. Mit Bezug zu 6B erzeugt die Anwendung von Catmull-Clark-Unterteilungsregeln auf die Steuerknoten 30 der 6A einen neuen Satz von Steuerknoten 30'. 6C zeigt ihrerseits die Anwendung der Unterteilungsregeln auf die Steuerpunkte 30' von 6B, die noch einen weiteren Satz von Steuerpunkten 30'' erzeugen. Wie in den 6A6C gezeigt, wächst der Anteil der Fläche, der aus schattierten regulären Flächenstücken besteht, mit jeder Unterteilung. Die zu den außerordentlichen Knoten 32a32c benachbarten Flächenstücke bleiben, obwohl sich bei jeder Anwendung der Unterteilungsregeln schrumpfen, dennoch irregulär und können deshalb nicht mit den für die regulären Flächenstücke (4) entwickelten Basisfunktionen ausgewertet werden. Ferner benötigt jede Unterteilung beträchtliche Computerressourcen, weil die Software eine zunehmende Zahl von Steuerknoten verwaltet.
  • Zusammenfassung der Erfindung
  • Die Erfindung wird durch die beigefügten Verfahrensansprüche 1 und 7 und durch den Computerprogrammproduktanspruch 17 dargelegt.
  • Im Allgemeinen umfasst gemäss einem Aspekt ein computerbasiertes Verfahren zur Bestimmung einer Eigenschaft eines Orts auf einem Computerflächenmodell, wobei der Ort mittels eines Parametersatzes beschrieben wird und das Flächenmodell mittels eines Satzes von Steuerknoten beschrieben wird, die einen korrespondierenden Satz von Unterteilungsregeln aufweisen, und wobei die Steuerknoten eine Parametrisierung von regulären Sätzen von Steuerknoten zulassen, das Erhalten von Eingaben, die Koordinaten von Steuerknoten angeben, die das Flächenmodell beschreiben, das Projizieren der angegebenen Koordinaten der Steuerknoten in einen Eigenraum, der von einer Matrixdarstellung der Unterteilungsregeln abgeleitet ist, um einen Satz von projizierten Steuerknoten zu erzeugen, das Bestimmen, welche Platte eines hierarchisch verschachtelten bzw. eingebetteten (nested) Satzes von regulären Platten des Flächenmodells den Ort enthält, und das Auswerten des Orts als eine Funktion einer Valenz eines der Steuerknoten, der bestimmten eingebetteten Platte und des Satzes der projizierten Steuerknoten. Der ausgewertete Ort wird in einem Computerspeicher gespeichert.
  • Ausführungsformen des computerbasierten Verfahrens können Folgendes umfassen. Einer der Steuerknoten kann ein Steuerknoten sein, der eine außerordentliche Valenz aufweist. Die Unterteilungsregeln können Catmull-Clark-Unterteilungsregeln und/oder Loop-Unterteilungsregeln umfassen. Die Auswertung kann Koordinaten des Orts bestimmen. Die Auswertung kann eine Ableitung eines beliebigen Grades des Flächenmodells am Ort bestimmen. Das computerbasierte Verfahren kann auch eine Verarbeitung der Auswertung umfassen, um eine Anzeigecharakteristik, wie beispielsweise eine Schattierung oder eine Strukturabbildung (texture mapping), zu bestimmen. Die Auswertung kann im Wesentlichen nach folgender Gleichung ausgeführt werden:
    Figure 00050001
    wie unten beschrieben wird. Die Auswertung kann im Wesentlichen nach folgender Gleichung ausgeführt werden: s(v, w) = ĈT0 Φ(v, w), wie unten beschrieben wird. Das computerbasierte Verfahren kann eine auf der Auswertung basierende grafische Anzeige erzeugen. Das Projizieren kann das Lesen von Daten aus einer Datei umfassen, die inverse Eigenvektormatrixdaten des Eigenraums enthält. Das computerbasierte Verfahren kann das Lesen von Daten aus einer Datei umfassen, die Eigenwert- und Eigenvektordaten des Eigenraums enthält. Eingaben können über eine grafische Benutzerschnittstelle oder über Programmvariablen erhalten werden.
  • Im Allgemeinen umfasst gemäss einem Aspekt ein computerbasiertes Verfahren zur Auswertung eines Orts eines Computerflächenmodells, wobei der Ort mittels eines Parametersatzes angegeben wird und die Fläche mittels eines Satzes von Steuerknoten beschrieben wird, die einen korrespondierenden Satz von Unterteilungsregeln aufweisen, und wobei die Steuerknoten eine Parametrisierung von regulären Sätzen von Steuerknoten zulassen, und wobei einer der Steuerknoten ein Knoten mit einer außerordentlichen Valenz ist, das Erhalten von Eingaben, die Koordinaten der Steuerknoten angeben, das Auswerfen des Orts als eine Funktion der Steuerknoten ohne explizite Unterteilung der Steuerknoten gemäß den Unterteilungsregeln, und das Speichern des ausgewerteten Orts in einem Computerspeicher.
  • Im Allgemeinen umfasst gemäß einem Aspekt ein Computerprogrammprodukt, das auf einem computerlesbaren Medium niedergelegt ist, zur Bestimmung einer Eigenschaft eines Orts auf einem Computerflächenmodell, wobei der Ort mittels eines Parametersatzes angegeben wird und die Fläche mittels eines Satzes von Steuerknoten beschrieben wird, die einen korrespondierenden Satz von Unterteilungsregeln aufweisen, und wobei die Steuerknoten eine Parametrisierung von regulären Sätzen von Steuerknoten zulassen, Anweisungen, um einen Computer zu veranlassen, Eingaben zu erhalten, die Koordinaten der Steuerknoten angeben, die angegebenen Koordinaten der Steuerknoten in einen Eigenraum zu projizieren, der von einer Matrixdarstellung der Unterteilungsregeln abgeleitet ist, um einen Satz von projizierten Steuerknoten zu erzeugen, zu bestimmen, welche Platte eines hierarchisch verschachtelten bzw. eingebetteten (nested) Satzes von regulären Platten den Ort enthält, und den Ort als eine Funktion einer Valenz eines der Steuerknoten, der bestimmten eingebetteten Platte und des Satzes der projizierten Steuerknoten auszuwerten. Der ausgewertete Ort wird in einem Computerspeicher gespeichert.
  • Vorteile können einen oder mehrere der folgenden Aspekte einschließen.
  • Die Auswertung einer Fläche, die eine Parametrisierung auf einem regulären Teil des Steuernetzes zulässt, erfordert keine explizite Unterteilung und reduziert somit die Programmkomplexität und den Ressourcenbedarf für die Verarbeitung. Die Auswertungsberechnungen sind leicht implementierbar und effizient. Die beschriebenen Techniken können verwendet werden, um schnell Krümmungsdarstellungen (curvature plots) von Unterteilungsflächen mit hoher Qualität zu erzeugen. Die Berechnungskosten der Auswertung sind mit denen einer bi-kubischen Spline vergleichbar. Die schnelle und genaue Auswertung einer Fläche ist für viele Standardoperationen bei Flächen wichtig, wie beispielsweise das Aufnehmen (picking), die Darstellung (rendering) und die Strukturabbildung (texture mapping). Die Auswertungstechnik erlaubt es ferner, einen großen Bestand nützlicher Techniken von parametrischen Flächen auf Unterteilungsflächen zu übertragen, was sie als ein Modellierungswerkzeug für Freiformflächen noch attraktiver macht.
  • Andere Merkmale und Vorteile gehen aus der folgenden detaillierten Beschreibung einschließlich der Zeichnungen und aus den Ansprüchen hervor.
  • Kurzbeschreibung der Zeichnungen
  • 1 ist eine schematische Zeichnung, die eine Freiformfläche darstellt.
  • 2 ist eine schematische Zeichnung, die eine Teilung der Freiformfläche in einen Satz regulärer Flächenstücke darstellt.
  • 3 ist eine schematische Zeichnung, die Steuerknoten darstellt, die die Kontur eines regulären Flächenstücks steuern.
  • 4 ist ein Flußdiagramm, das darstellt, wie Steuerknoten die Kontur eines regulären Flächenstücks mathematisch steuern.
  • 5 ist eine schematische Zeichnung, die die Anwendung von Catmull-Clark-Unterteilungsregeln darstellt.
  • 6A6C sind schematische Zeichnungen, die die Auswirkung der außerordentlichen Knoten auf die Flächenauswertung darstellen.
  • 7A und 7B sind schematische Zeichnungen, die einen außerordentlichen Knoten darstellen.
  • 8A und 8B sind schematische Zeichnungen, die die Auswirkung von Catmull-Clark-Unterteilungsregeln auf einen Satz von Steuerknoten darstellen, der einen außerordentlichen Knoten enthält.
  • 9 ist eine schematische Zeichnung, die darstellt, wie die Unterteilung einen Satz regulärer Flächenstücke erzeugt.
  • 10 ist eine schematische Zeichnung, die einen hierarchisch verschachtelten Satz von Platten darstellt, die einen Einheitsbereich (unit domain) bilden.
  • 11 sind Bilder, die Eigenbasisfunktionen für außerordentliche Knoten darstellen, die eine Valenz N = 3 aufweisen.
  • 12 sind Bilder, die Eigenbasisfunktionen für außerordentliche Knoten darstellen, die eine Valenz N = 5 aufweisen.
  • 13 ist ein Bild einer einfachen, mittels Auswertung unter Verwendung der Eigenbasisfunktionen erzeugten Fläche.
  • 14 ist ein Bild einer komplexen, mittels Auswertung unter Verwendung der Eigenbasisfunktionen erzeugten Fläche.
  • 15 ist eine schematische Zeichnung, die die Teilung einer Fläche in dreieckige Flächenstücke darstellt.
  • 16 ist eine schematische Zeichnung, die Steuerknoten darstellt, die die Kontur eines dreieckigen Flächenstücks steuern.
  • 17 ist eine schematische Zeichnung, die einen irregulären Satz von Steuerknoten mit einem außerordentlichen Steuerknoten darstellt.
  • 18 ist eine schematische Zeichnung, die die Anwendung von Loop-Unterteilungsregeln auf einen Satz von Steuerknoten mit einem außerordentlichen Steuerknoten darstellt.
  • 19 ist eine schematische Zeichnung, die darstellt, wie die Unterteilung einen Satz regulärer Flächenstücke erzeugt.
  • 20 ist eine schematische Zeichnung, die einen hierarchisch verschachtelten Satz von Platten darstellt, die einen Einheitsbereich (unit domain) bilden.
  • 21 sind Bilder, die Eigenbasisfunktionen für außerordentliche Knoten darstellen, die eine Valenz N = 5 aufweisen.
  • 22 sind Bilder, die Eigenbasisfunktionen für außerordentliche Knoten darstellen, die eine Valenz N = 7 aufweisen.
  • 23 ist ein Flußdiagramm, das die Auswertung eines Flächenortes darstellt.
  • 24 ist eine schematische Zeichnung einer Computerplattform.
  • Beschreibung der bevorzugten Ausführungsformen
  • Das Folgende beschreibt Techniken, die Flächenstücke an jedem Ort, ungeachtet der Gegenwart eines außerordentlichen Knotens, auswerten können. Eine Untersuchung der mathematischen Grundlagen der Unterteilung ist für das Verständnis dieser Techniken hilfreich.
  • Wieder mit Bezug zu 3 definiert ein Satz von sechzehn Steuerknoten 16 eine bi-kubische B-Spline. Die Nummerierung der Knoten 16 zeigt ihre Anordnung in den korrespondierenden B-Spline-Basisfunktionen an, die in der 4 mit b(u, v) bezeichnet sind. Mit Bezug zu den 7A und 7B umfasst ein Flächenausschnitt 40 einen außerordentlichen Knoten 38, der eine Valenz N = 5 aufweist, wobei das Symbol N die Knotenvalenz bezeichnet. Die 7B zeigt die Anordnung der Steuerknoten 36 von 1 bis 2N + 8. Da die Steuerknotenstruktur 36 neben einem außerordentlichen Knoten 38 kein einfaches rechtwinkliges Gitter bildet, können Flächen, die außerordentliche Knoten enthalten, nicht als gleichmäßige B-Splines ausgewertet werden.
  • Mit Bezug zu den 8A und 8B isoliert die Verwendung von Catmull-Clark-Unterteilungsregeln, um die ursprünglichen Steuerknoten mindestens zweimal zu unterteilen, die außerordentlichen Knoten, so dass jede Fläche ein Viereck (quadrilateral) ist und höchstens einen außerordentlichen Knoten enthält. Ausgehend von einem einzigen außerordentlichen Knoten der Valenz N definieren die hier beschriebenen Techniken eine Funktion s(u, v), die schnell einen Ort irgendwo auf dem Flächenstück 40 ohne explizite Unterteilung (d. h., unter Verwendung von Unterteilungsregeln, um neue Steuerknoten aus bestehenden Steuerknoten zu erzeugen) auswerten kann. Die Funktion s(u, v) ist auf einem Einheitsquadrat Ω = [0, 1] × [0, 1] definiert und kann direkt in Abhängigkeit von den K = 2N + 8 Knoten 36, die die Form des Flächenstücks 40 beeinflussen, ausgewertet werden. Somit definiert Ω ein Koordinatensystem, wobei s(0, 0) der dem außerordentlichen Knoten 38 entsprechende Flächenpunkt ist. Die Orientierung von Ω ist so gewählt, dass su × sv von der Fläche nach außen zeigt.
  • Obgleich die hier beschriebenen Techniken das Erfordernis einer expliziten Unterteilung bei der Auswertung eines Flächenorts unnötig machen, hilft ein mathematisches Verständnis der Unterteilung, diese Techniken zu verstehen.
  • Wieder mit Bezug zu 7B können die Koordinaten der ursprünglichen Steuerknoten 38 mathematisch als Vektor von Steuerknoten ausgedrückt werden: CT0 = (c0,1, ..., c0,K)
  • Die Anordnung der Steuerknoten 38 wie in 7B gezeigt, insbesondere in einer Datenstruktur, die in einem Computerprogramm gespeichert ist (unten beschrieben), macht spätere Berechnungen besser handhabbar. Wie gezeigt, ergibt sich aus den Steuerknoten 36 nicht ein regulärer Satz von sechzehn Steuerknoten, die ein gleichförmiges bi-kubisches B-Spline-Flächenstück steuern, wie in 4 gezeigt.
  • Mit Bezug zu den 8A und 8B kann eine Catmull-Clark-Unterteilung der ursprünglichen Steuerknoten 36 einen neuen Satz von M = K + 9 Steuerknoten 42 erzeugen, die in 8A als den ursprünglichen Knoten 36 überlagerte Kreise gezeigt sind.
  • Mit Bezug zu 9 sind Teilmengen der Steuerknoten 42, die mittels Unterteilung erzeugt wurden, Steuerknoten von drei gleichförmigen B-Spline-Flächenstücken 44, 46, 48. Daher hat die explizite Unterteilung drei Viertel des ursprünglichen Flächenstücks 40 parameterisiert. Das heißt, dass jeder Flächenort, der sich in diesen drei parameterisierten Abschnitten befindet, als Funktion der neuen Steuerknoten und der Parameter u und v ausgewertet werden kann.
  • Der Satz von Steuerknoten 42, die mittels Unterteilung erzeugt werden, wird ausgedrückt durch: CT1 = (c1,1, ..., C1,K) und C T1 = (CT1 , C1,K+1, ..., C1,M). wobei c1,1 bis c1,k Steuerknoten repräsentieren, die nach der Unterteilung dem außerordentlichen Knoten benachbart sind, und c1,k+1 bis c1,M Steuerknoten repräsentieren, die mindestens um einen Knoten von dem außerordentlichen Knoten entfernt sind. Die Catmull-Clark-Unterteilung kann als Matrixmultiplikation mit einer erweiterten K × K Unterteilungsmatrix A ausgedrückt werden. Somit ist: C1 = AC0. (1)
  • Infolge der für die Knoten gewählten Ordnung hat die erweiterte Unterteilungsmatrix die folgende Struktur:
    Figure 00120001
    wobei S eine 2N + 1 × 2N + 1 Unterteilungsmatrix ist, die dem außerordentlichen Knoten benachbarte Steuerknoten unterteilt, und die übrigen Untermatrizen regulären Mittelpunktknoteneinfügungsregeln für B-Splines entsprechen. Definitionen der Matrizen sind im Anhang A offenbart. Die zusätzlichen Punkte, die benötigt werden, um die drei B-Spline-Flächenstücke auszuwerten, werden unter Verwendung einer größeren Matrix A der Größe M × K definiert: C 1 = AC0,wobei
  • Figure 00130001
  • Eine Definition der Matrix A ist auch im Anhang A offenbart.
  • Die Unterteilung, die mittels der Gleichung (1) durchgeführt wird, kann wiederholt werden, um eine unbegrenzte Sequenz von Steuerknoten zu erzeugen, wobei: Cn = ACn–1 = AnC0 und C n = ACn–1 = AAn–1C0, n ≥ 1.
  • Mit Bezug zu 9 wird für jede Stufe n ≥ 1 eine Untermenge der Knoten von Cn zu Steuerknoten von drei B-Spline-Flächenstücken 44, 46, 48. Diese Steuerknoten können definiert werden, indem sechzehn Steuerknoten aus Cn ausgewählt werden und diese in "Aufnahme"-Matrizen ("picking" matrices) P1 52, P2 54 und P3 56, die Steuerknoten auswählen, gespeichert werden. Daher entsprechen die drei B-Spline-Flächenstücke 42, 44 und 46: Bk,n = Pk C n,wobei Pk eine 16 × M Aufnahmematrix ist, die Steuerknoten 58, 60, 62 auswählt, welche den drei mittels k = 1, 2, 3 bezeichneten B-Spline-Flächenstücken entsprechen.
  • Es sei b (u, v) der Vektor, der die sechzehn (im Anhang B beschriebenen) kubischen B-Spline-Basisfunktionen enthält. Gemäß der Anordnung ist ein jeder Matrix von Steuerknoten zugeordnetes Flächenstück definiert als: sk,n(u, v) = BTk,n b(u, v) = C Tn PTk b(u, v), (4)wobei (u, v) ∊ Ω, n ≥ 1 und k = 1, 2, 3 sind. Die Definition der Aufnahmematrizen P ist am Ende der Beschreibung offenbart.
  • Mit Bezug zu 10 beschreibt die Gleichung (4) eine Hierarchie von verschachtelten Flächenstücken. Jedes der Flächenstücke ist auf einer Platte (tile) definiert, die einen Einheitskörper Ω n / k bildet, wobei das hochgestellte Zeichen n eine Hierarchiestufe angibt und das tiefgestellte Zeichen k eine bestimmte Platte innerhalb einer angegebenen Hierarchiestufe angibt. Zum Beispiel ist die Einheitsplatte 70 die erste Platte der ersten Hierarchiestufe, während die Einheitsplatte 74 die dritte Platte der zweiten Hierarchiestufe ist. Jeder Bereich entspricht einem regulären B-Spline-Flächenstück.
  • Die unendliche Sequenz gleichförmiger B-Spline-Flächenstücke, die mittels der Gleichung (4) definiert und in 10 gezeigt sind, bilden eine Fläche s(u, v), wenn sie zusammengeheftet werden. Formeller umfasst ein Einheitsquadrat Ω einen unendlichen Satz von Platten {Ω n / k}, n ≥ 1, k = 1, 2, 3. Wie in 10 gezeigt ist, ist jede Platte mit Index n vier Mal kleiner als die Platten mit Index n – 1. Genauer werden die Dimensionen eines Unter-Flächenstücks wie folgt angegeben:
  • Figure 00140001
  • Eine Parameterisierung für s(u, v) wird konstruiert, indem die Begrenzung von s(u, v) auf jede Platte Ω n / k als gleich dem durch die Steuerknoten Bk,n definierten B-Spline-Flächenstück definiert wird: s(u, v)|nnk = sk,n(tk,n(u, v)). (6)
  • Eine Transformation tk,n bildet die Platte Ω n / k auf das Einheitsgaadrat Ω ab: t1,n(u, v) = (2nu – 1,2nv), (7) t2,n(u, v) = (2n u – 1,2nv – 1) und (8) t3,n(u, v) = (2nu, 2nv – 1). (9)
  • Die Gleichung (6) gibt eine Parameterisierung einer Fläche ohne explizite Unterteilung (d. h., Berechnung neuer Sätze von Steuerknoten) an. Jedoch ist ihre Auswertung sehr aufwendig, da sie n – 1 Multiplikationen der K × K Matrix A erfordert. Die Berechnung der Eigenstruktur von A kann den Berechnungsaufwand der Auswertung eines Flächenorts stark reduzieren.
  • Die Eigenstruktur der Unterteilungsmatrix A ist als der Satz ihrer Eigenwerte und Eigenvektoren definiert. Die Matrix A ist für jede Valenz nicht-gestört (d. h., diagonalisierbar). Folglich existieren K linear unabhängige Eigenvektoren. Deshalb wird diese Eigenstruktur mit (Λ, V) bezeichnet, wobei Λ eine Diagonalmatrix ist, die die Eigenwerte von A enthält, und V eine invertierbare Matrix ist, deren Spalten die korrespondierenden Eigenvektoren sind. Die Berechnung der Eigenstruktur ist dann äquivalent zur Lösung der folgenden Matrixgleichung: AV = VA, (10)wobei das i-te Diagonalelement von Λ ein Eigenwert mit einem korrespondierenden Eigenvektor ist, der gleich der i-ten Spalte der Matrix V (i = 1, ..., K) ist. Es gibt viele numerische Algorithmen, die Lösungen für solche Gleichungen berechnen. Leider liefern diese Algorithmen nicht immer die korrekte Eigenstruktur. Zum Beispiel liefern in einigen Fällen diese Algorithmen komplexe Eigenwerte. Aus diesem Grund wird die Eigenstruktur explizit berechnet. Da die Unterteilungsmatrix eine bestimmte Blockstruktur aufweist, kann die Eigenstrukturberechnung in mehreren Schritten durchgeführt werden.
  • Anhang A enthält die Berechnung der Eigenstruktur (Σ1, U0) (bezüglich (Δ1, W1) ) des Diagonalblocks S (bezüglich S12) der in Gleichung (2) definierten Unterteilungsmatrix. Die Eigenwerte der Unterteilungsmatrix sind die Vereinigung der Eigenwerte ihrer Diagonalblöcke:
  • Figure 00160001
  • Unter Verwendung der Eigenvektoren von S und S12 kann bewiesen werden, dass die Eigenvektoren für die Unterteilungsmatrix die folgende Form aufweisen müssen:
  • Figure 00160002
  • Die Matrix U1 ist unbekannt und wird aus Gleichung (10) bestimmt. Durch Ersetzen der Matrizen Λ, V und A durch ihre Blockdarstellungen erhält man die folgende Matrixgleichung: S11U0 + S12U1 = U1Σ. (11)
  • Da U0 bekannt ist, wird U1 durch Lösung des (2N + 1)-Linearsystems der Gleichung (11) berechnet. Im Prinzip könnte diese Gleichung symbolisch gelöst werden. In der Praxis jedoch kann, wegen der kleinen Größen der Linearsysteme, die Lösung bis zur Rechnergenauigkeit berechnet werden, wie unten beschrieben. Das Inverse der Eigenvektormatrix ist:
    Figure 00170001
    wobei sowohl U0 als auch W1 exakt invertiert werden können (vgl. Anhang A). Deshalb kann die Gleichung (10) wie folgt umgeschrieben werden: A = VΛV–1
  • Diese Zerlegung ermöglicht den Aufbau eines schnellen Auswertungsschemas für das Flächenstück. Die unterteilten Steuerknoten können in der Stufe n wie folgt wiedergegeben werden: C n = AAn–1C0 = An–1V–1C0 = An–1Ĉ0,wobei Ĉn = V–1Cn die Projektion der k Steuerknoten in den Eigenraum der Unterteilungsmatrix ist. Unter Verwendung dieses neuen Ausdrucks für die Steuerknoten bei der n-ten Unterteilungsstufe kann Gleichung (4) in die folgende Form umgeschrieben werden: Sk,n(u, v) = ĈT0 Λn–1(Pk AV)Tb(u, v).
  • Die am weitesten rechts stehenden Terme in dieser Gleichung sind von den Steuerknoten und der Potenz n unabhängig. Deshalb kann dieser Ausdruck im voraus berechnet werden und die folgenden drei Vektoren definieren: x(u, v, k) = (Pk AV)Tb(u, v) k = 1, 2, 3. (13)
  • Die Komponenten dieser drei Vektoren entsprechen einem Satz von x bi-kubischen Splines. Anhang B zeigt, wie diese Splines zu berechnen sind. Die Splines xi(u, v, k) hängen nur von der Valenz des außerordentlichen Knotens ab.
  • Folglich kann die Gleichung für jedes Flächenstück kompakt geschrieben werden als: sk,n(u, v) = ĈT0 Λn–1x(u, v, k) k = 1, 2, 3. (14)
  • Um den Ausdruck für die Auswertung des Flächenstücks konkreter zu machen, bezeichne P T / i die Reihen von Ĉ0. Dann kann das Flächenstück ausgewertet werden als:
  • Figure 00180001
  • Deshalb müssen die neuen Steuerknoten P T / i berechnet werden, um das Flächenstück auszuwerten. Diese Berechnung braucht für einen gegebenen Satz von Steuerknoten nur einmal durchgeführt zu werden. Als Nächstes muss für jede Auswertung der Wert n bestimmt werden, und der Beitrag jeder der Splines muss mit dem einschlägigen Eigenwert zur (n – 1)-ten Potenz skaliert werden. Da bis auf den ersten Eigenwert alle Eigenwerte kleiner als Eins sind, sinkt ihr Beitrag mit ansteigendem n. Somit leisten für große n, d. h., für Flächenpunkte in der Nähe des außerordentlichen Knotens, nur einige wenige Terme einen signifikanten Beitrag. Tatsächlich ist für (u, v) = (0, 0) der Flächenpunkt P1, was mit der Definition eines Grenzwertpunktes übereinstimmt.
  • Alternativ können die bi-kubischen Splinefunktionen x(u, v, K) verwendet werden, um einen Satz von Eigenbasisfunktionen für die Unterteilung zu definieren. Für einen gegebenen Eigenvektor λi kann die Funktion φi durch ihre Restriktionen auf die Bereiche Ω n / k wie folgt definiert werden: φi(u, v)|nnk = (λi)n–1xi(tk,n(u, v),k), wobei i = 1, ..., K ist. Vermöge der obigen Definition genügen diese Funktionen der folgenden Skalierungsbeziehung: φi(u/2, v/2) = λiφi(u, v).
  • Explizite analytische Ausdrücke für bestimmte Eigenbasen können berechnet werden.
  • Mit Bezug zu den 11 und 12 werden vollständige Sätze von Eigenbasisfunktionen für die Valenzen drei und fünf gezeigt. Jede Funktion wurde normalisiert, so dass ihr Wertebereich innerhalb –1 und 1 beschränkt ist. Insbesondere ist die einem Eigenwert Eins entsprechende erste Eigenbasis für jede Valenz immer eine konstante Funktion. Eine genauere Betrachtung der 11 und 12 zeigt, dass sie sieben identische Funktionen gemeinsam haben. Tatsächlich sind, wie in Anhang B gezeigt, die letzten sieben Eigenbasisfunktionen für jede Valenz immer gleich zu:
  • Figure 00190001
  • Außerdem erzeugt die Rücktransformation dieser Funktionen aus dem Eigenraum unter Verwendung von W1 –1 sieben B-Spline-Basisfunktionen
    b4(u, v), b8(u, v), b12(u, v), ..., b16(u, v),
    d. h., die Basisfunktionen, die denjenigen Steuerknoten der 8B entsprechen, die sich nicht in Nachbarschaft des außerordentlichen Knotens befinden.
  • Im Fall einer regulären bi-kubischen B-Spline (N = 4) kann die verbleibende Eigenbasis so gewählt werden, dass sie gleich der Potenzbasis ist:
    {1, u, v, u2, uv, v2, u2v, uv2, u2v2}
  • Die Potenzbasis hat eine skalierende Eigenschaft. Zum Beispiel korrespondiert die Basisfunktion u2v mit dem Eigenwert 1/8:
  • Figure 00200001
  • Somit besteht im regulären Fall (das heißt, ohne einen außerordentlichen Knoten) eine Beziehung zwischen der Catmull-Clark-Unterteilung und der Potenzbasis. Ferner korrespondieren die Eigenvektoren in diesem Fall mit der "Basiswechselmatrix" von der bi-kubischen B-Spline-Basis zur Potenzbasis. Die Eigenbasisfunktionen können bei außerordentlichen Knoten somit als eine Generalisierung der Potenzbasis angesehen werden. Jedoch sind die Eigenbasen im Allgemeinen nicht Polynome. Im Fall der Catmull-Clark-Unterteilung sind die Eigenbasen stückweise bi-kubische Polynome. Die Auswertung des Flächenstücks, die durch Gleichung (15) angegeben wird, kann nun exakt umgeschrieben werden als:
  • Figure 00200002
  • Diese Gleichung gibt eine Parametrisierung für die Fläche an, die irgendeiner Fläche des Steuerknotennetzes, ungeachtet der Valenz eines Knotens, entspricht. Ferner besteht keine Notwendigkeit zu einer expliziten Unterteilung. Die Gleichung (16) erlaubt auch die Berechnung von Ableitungen der Fläche bis zu jedem Grad. Nur die entsprechenden Ableitungen der Basisfunktionen, die in Gleichung (16) auftreten, werden benötigt. Zum Beispiel ist die partielle Ableitung der i-ten Eigenbasis bezüglich u:
    Figure 00200003
    wobei der Faktor 2n gleich der Ableitung der affinen Transformation tk,n ist. Im Allgemeinen ist ein Faktor 2pn vorhanden, wenn der Grad der Ableitung p ist.
  • Obwohl die Ableitung der Auswertungstechnik mathematisch kompliziert ist, ist ihre Implementierung einfach. Die Aufgabe der Berechnung der Eigenstruktur der Unterteilungsmatrix braucht nur einmal ausgeführt zu werden; das Berechnungsverfahren wird in Anhang A bereitgestellt. In der Praxis ist es nützlich, diese Eigenstrukturen bis zu einer maximalen Valenz (z. B., NMAX = 500) im Voraus zu berechnen und die berechneten Werte in einer Datei zu speichern. Die Eigenstrukturwerte für die Valenzen 3 und 5 sind im Anhang E aufgeführt. Jedes Programm, das die Auswertungstechnik verwendet, kann diese vorausberechneten Eigenstrukturen einlesen. In einer Implementierung ist die Eigenstruktur für jede Valenz N wie folgt gespeichert:
    Figure 00210001
    wobei K = 2*N + 8 gilt. Die Berechnung der Werte dieses Feldes von Strukturen braucht nur einmal durchgeführt zu werden, so daß der erforderliche Berechnungsaufwand im Hinblick auf die Effizienz des Auswertungsschemas im wesentlichen irrelevant ist.
  • Nach dem Einlesen von vorausberechneten Werten für Eigenstrukturen aus einer Datei kann die computerunterstützte Auswertung eines Flächenstücks um einen außerordentlichen Knoten fortgeführt werden. Zuerst werden die Steuerknoten, die das Flächenstück umgeben, in den Eigenraum der Unterteilungsmatrix projiziert. Die Steuerknoten werden wie in 8B gezeigt angeordnet und in einem Feld C[K] gespeichert. Die projizierten Knoten Cp[K] sind dann leicht berechenbar, indem die vorausberechneten Inversen der Eigenvektoren verwendet werden:
  • Figure 00220001
  • ProjectPoints (ProjizierePunkte) braucht nur aufgerufen zu werden, wenn eines der Flächenstücke zum ersten Mal oder nach einer Veränderung des Netzes ausgewertet wird. Deshalb wird ProjectPoints höchstens einmal pro Flächenstück aufgerufen.
  • Evalsurf (AuswertungFläche) ist eine einfache Implementierung der in Gleichung (15) auftretenden Summe und schließt die Berechnung des Bereichs n, der einen Ort enthält, ein. Evalsurf wird jedesmal aufgerufen, wenn die Fläche für einen bestimmten Parameterwert (u, v) berechnet werden muss. Die folgende Routine berechnet das Flächenstück für jeden Parameterwert.
  • Figure 00220002
  • Evalspline (AuswertungSpline) berechnet das bi-kubische Polynom, dessen Koeffizienten durch das erste Argument für den Parameterwert (u, v) gegeben sind. Eine Beispielsimplementierung von Evalspline folgt:
  • Figure 00230001
  • Wenn einer der Parameterwerte u oder v Null ist, wird der Wert auf einen ausreichend kleinen Wert nahe der Maschinengenauigkeit erhöht, um einen Überlauf, der durch die log2-Funktion verursacht werden würde, zu vermeiden. Da Evalspline ein bi-kubisches Polynom berechnet, sind die Kosten von Evalsurf mit denen einer bi-kubischen Flächenspline vergleichbar. Die zusätzlichen Kosten infolge des Logarithmus und der Potenzierung mit einem ganzzahligen Exponenten sind minimal, da diese Rechenarten von gängiger Computerhardware meistens effizient implementiert werden. Da der Projektionsschritt nur aufgerufen wird, wenn das Netz verändert wird, hängen die Auswertungskosten überwiegend von Evalsurf ab.
  • Die Berechnung der p-ten Ableitung erfolgt ganz analog. Statt die Routine Evalspline zu verwenden, wird eine Routine verwendet, die die p-te Ableitung des bi-kubischen Polynoms liefert. Zusätzlich wird das Endergebnis um einen Faktor pow(2, n*p) skaliert. Die Auswertung von Ableitungen ist bei Anwendungen wesentlich, die genaue Flächennormalen und -krümmungen benötigen. Zum Beispiel benötigen Newton'sche Iterationsverfahren, die bei Strahl-Flächenberechnungen verwendet werden, höhere Ableitungen der Fläche bei beliebigen Parameterwerten.
  • Wie diskutiert, braucht die Eigenstruktur der Unterteilungsmatrix nur einmal für einen gegebenen Satz von Valenzen berechnet zu werden. Daher ist die Genauigkeit in diesem Fall weitaus wichtiger als die Effizienz. Wie in Anhang A gezeigt, kann die Eigenstruktur der beiden Matrizen S und S12 analytisch berechnet werden. Die korrespondierende Eigenstruktur der erweiterten Unterteilungsmatrix A erfordert die Lösung der 2N + 1 Linearsysteme von Gleichung (11). Diese Systeme können bis zur Maschinengenauigkeit unter Verwendung üblicher Linearlöser gelöst werden, wie beispielsweise einer dgesv-Routine von LINPACK. Das Inverse der Eigenvektoren kann durch Ausrechnen der Matrixprodukte, die in Gleichung (12) erscheinen, berechnet werden. Unter Verwendung der Eigenvektoren können die Koeffizienten der bi-kubischen Splines x(u, v, k), wie in Anhang B erklärt, vorausberechnet werden. Für jede Valenz N werden Daten in der Datenstruktur eigen[NMAX] in einer Datei gespeichert, um beim Start jedweder Anwendung, die die Routinen ProjectPoints und EvalSurf verwendet, eingelesen zu werden.
  • In 13, auf die Bezug genommen wird, ist eine Catmull-Clark-Unterteilungsfläche gezeigt. Ein außerordentlicher Knoten befindet sich im Mittelpunkt der Fläche. Die Ortsinformationen in den Flächenstücken, die den außerordentlichen Knoten umgeben, werden unter Verwendung der Auswertungstechnik errechnet. Die übrigen Flächenstücke werden als bi-kubische B-Splines ausgewertet. Die Krümmung ändert sich an der Grenze zwischen den Flächenstücken, die unter Verwendung unserer Technik ausgewertet wurden, und den regulären bi-kubischen B-Spline-Flächenstücken glatt. 14 stellt eine komplexere Fläche dar.
  • Die oben beschriebene Technik kann auf verschiedene Unterteilungsregeln angewendet werden, wenn die Regeln nur die Parametrisierung regulärer Flächenstücke zulassen. Zum Beispiel wertet die Analyse von Loop-Unterteilungsregeln, die die Unterteilung von Steuerknoten behandeln, die dreieckige Flächenstücke bestimmen, auf ähnliche Weise eine Fläche ohne explizite Unterteilung aus.
  • Mit Bezug zu 15 kann eine Freiformfläche 10 als durch einen Satz verbundener dreieckiger Flächenstücke, wie beispielsweise Flächenstück 80, überdeckt angesehen werden. Mit Bezug zu 16 bestimmt ein Satz von zwölf Steuerknoten 82 die Kontur eines dreieckigen Flächenstücks 80. Jeder Steuerknoten eines regulären dreieckigen Flächenstücks hat die Valenz sechs. Wie in 16 gezeigt, haben die Steuerknoten, die das reguläre Flächenstück 80 bestimmen, jeweils die Valenz sechs. Das dreieckige Flächenstück kann unter Verwendung bekannter Basisfunktionen für dreieckige Bezier-Flächenstücke, die aus den Box-Splines abgeleitet sind, parameterisiert werden. Die Basisfunktionen, die jedem der Steuerknoten entsprechen, sind in Anhang D angegeben.
  • Mit Bezug zu 17 hat ein regulärer Steuerknoten für dreieckige Flächenstücke, anders als ein Steuerknoten für viereckige Flächenstücke, die Valenz N = 6. Der in 17 gezeigte Steuerknoten 84 ist ein außerordentlicher Knoten, der die Valenz N = 7 hat. Daher lässt das dreieckige Flächenstücke 86 eine gewöhnliche Parametrisierung nicht zu. Loop-Unterteilungsregeln können jedoch verwendet werden, um Steuerknoten zu unterteilen, die dreieckige Flächenstücke bestimmen. Die Matrixdarstellung von Loop-Unterteilungsregeln erzeugt andere Eigenstrukturen als die von Catmull-Clark-Unterteilungsregeln, jedoch unterscheiden sich die Vorgehensweise und die letztendliche Implementierung nur bezüglich der abgeleiteten Werte.
  • Wie in Verbindung mit Catmull-Clark-Unterteilungsregeln beschrieben wurde, wird durch die Techniken der vorliegenden Erfindung das Erfordernis einer expliziten Unterteilung aufgehoben. Jedoch wird eine mathematische Analyse der Unterteilungsregeln verwendet, um die Techniken zu beschreiben.
  • Wieder mit Bezug zu 16 wird ein reguläres dreieckiges Flächenstück 80 kurz wie folgt beschrieben: s(v, w) = CTb(v, w), (v, w) ∊ Ω, wobei C eine 12 × 3 Matrix ist, die die Steuerknoten des Flächenstücks, angeordnet wie in 16, enthält, und b(u, w) der Vektor von Basisfunktionen ist (siehe Anhang D). Die Fläche wird über das "Einheitsdreieck" definiert: Ω = {(v, w)|v ∊ [0, 1] und w ∊ [0,1 – v]}.
  • Der Parameterbereich ist eine Teilmenge der Ebene, so dass v = 1 dem Punkt (1,0) entspricht und w = 1 dem Punkt (0,1) entspricht. Ein dritter Parameter u = 1 wird so abgeleitet, dass (u, v, w) ein baryzentrisches (schwerpunktsbezogenes) Koordinatensystem für das Einheitsdreieck bildet. Der Wert u entspricht dem Ursprung (0,0). Der Grad der Basisfunktion ist in jedem Parameter höchstens vier, daher bildet das Flächenstück eine Spline vierten Grades.
  • Wieder mit Bezug zu 17 wird ein dreieckiges Flächenstück 86 durch einen Satz von k = N + 6 Steuerknoten bestimmt, der einen außerordentlichen Knoten 84 enthält. Der außerordentliche Knoten entspricht dem Parameterwert u = 1. Weil die Valenz des außerordentlichen Knotens in der Mitte der Figur N = 7 ist, gibt es in diesem Fall K = 13 Steuerknoten. Die Figur bezeichnet auch die Ordnung der Steuerknoten. Die K ursprünglichen Steuerknoten werden in einer K × 3 Matrix gespeichert: CT0 = (c0,1, ..., c0,K).
  • Mit Bezug zu 18 erzeugt die Anwendung von Loop-Unterteilungsregeln einen neuen Satz von M = K + 6 = N + 12 Steuerknoten. Dieses erzeugt genug Steuerknoten, um drei Viertel des dreieckigen Flächenstücks auszuwerten. Der neue Satz von Steuerknoten wird durch die folgenden Gleichungen dargestellt: CT1 = (c1,1, ..., c1,K) und C T1 = (c1,1, ..., c1,K, c1,K+1, ..., c1,M). C1,1 bis C1,K entsprechen Steuerknoten, die nach der Unterteilung immer noch dem außerordentlichen Knoten 84 benachbart sind, während C1,K+1 bis C1,M denjenigen Steuerknoten entsprechen, die durch die Unterteilung erzeugt wurden und die dem außerordentlichen Knoten 84 nicht benachbart sind. Die Loop-Unterteilungsregeln können durch eine Multiplikation mit einer erweiterten K × K Unterteilungsmatrix A dargestellt werden: C1 = AC0,wobei
  • Figure 00270001
  • Der Anhang C enthält Definitionen der Matrix A. Die zusätzlichen Knoten, die zum Auswerfen der Fläche benötigt werden, erhält man aus einer größeren Unterteilungsmatrix A: C 1 = AC0,wobei
  • Figure 00270002
  • Der Anhang E enthält auch Definitionen von S21 und S22.
  • Mit Bezug zu 19 definieren drei Teilmengen von zwölf Steuerknoten aus C 1 drei reguläre dreieckige Flächenstücke 90, 92 und 94, die leicht ausgewertet werden können. Wiederholte Anwendung von Loop-Unterteilungsregeln kann eine unbegrenzte Sequenz von Steuerknoten erzeugen: C n = ACn–1 = AAn–1C0, n ≥ 1.
  • Für jedes n ≥ 1 bildet eine Teilmenge von Steuerknoten 102, 104, 106 die Steuerknoten der regulären dreieckigen Flächenstücke 90, 92, 94. Diese drei Sätze von Steuerknoten 102, 104, 106 werden durch die folgenden 12 × 3 Matrizen Bn,k mit k = 1, 2, 3 dargestellt. Auswahlmatrizen P 96, 98, 100 (picking matrices) der Größe 12 × M wählen diese Steuerknoten aus den durch die Unterteilung erzeugten Steuerknoten aus. Daher gilt Bn,k = Pk C n, k = 1, 2, 3.
  • Jede Reihe jeder Auswahlmatrix p ist mit Nullen gefüllt, mit der Ausnahme, daß sich eine Eins in der dem Index entsprechenden Spalte befindet. Jedes Flächenstück wird dann wie folgt definiert: sn,k(v, w) = B T / n,kb(v, w) = C T / nP T / kb(v, w).
  • Mit Bezug zu 20 kann ein Flächenstück in einen infiniten Satz hierarchisch eingebetteter Platten Ωn k mit n ≥ 1 und k = 1, 2, 3 partitioniert werden. Die Größe dieser Platten wird genauer wie folgt definiert: Ωn1 = {(v, w)|v ∊ [2–n, 2–n+1] und w ∊ [0,2–n+1 – v]} Ωn2 = {(v, w)|v ∊ [0,2–n] und w ∊ [0, v]} Ωn3 = {(v, w)|v ∊ [0,2–n] und w ∊ [2–n, 2–n+1 – v]}.
  • Das Flächenstück wird dann durch seine Beschränkung auf jedes dieser Dreiecke definiert:
    Figure 00290001
    wobei eine Transformation tn,k die Platte Ωn k auf der Einheitsplatte Ω abbildet: tn,1(v, w) = (2nv – 1,2nw), tn,2(v, w) = (1 – 2nv, 1 – 2nw) und tn,3(v, w) = (2nv, 2nw – 1).
  • Diese Gleichung definiert eine Parameterisierung des Flächenstücks. Jedoch ist die Auswertung dieser Gleichung rechenaufwendig, weil dies das Bilden von Potenzen einer Matrix mit jeder Zahl n ≥ 1 als Exponenten beinhaltet. Die Analyse der Eigenstruktur kann die Parameterisierung effizienter machen.
  • Für jede Valenz N ist die erweiterte Unterteilungsmatrix A nicht-gestört. Folglich kann A diagonalisiert werden, und es gilt: A = VΛV–1,wobei Λ die Diagonalmatrix ist, die die Eigenwerte enthält, und V die Eigenvektoren enthält. Diese Matrizen haben die folgende Blockstruktur:
  • Figure 00290002
  • Die Diagonalblöcke Σ und Δ entsprechen den Eigenwerten von S bzw. S12, und ihre entsprechenden Eigenvektoren werden in U0 bzw. W1 gespeichert. Die Matrix U1 wird durch Erweitern der Eigenvektoren von S berechnet, d. h., durch Lösen der folgenden Linearsysteme: U1Σ – S12U1 = S11U0
  • Anhang C stellt die Berechnung der vollständigen Eigenstruktur für das Schema von Loop präzise dar. Es seien Ĉ0 = V–1C0 die Projektion der ursprünglichen Steuerknoten auf den Eigenraum von A und Φ(v, w) ein K-dimensionaler Vektor von Eigenbasisfunktionen, der definiert ist durch:
  • Figure 00300001
  • Die Eigenbasisfunktionen für Valenzen N = 5 und N = 7 sind in den 21 und 22 dargestellt. Jede Funktion der Eigenbasis entspricht einem der Eigenvektoren der Matrix A. Jede Eigenbasisfunktion wird vollständig durch ihre Beschränkung auf die Einheitsdreiecke Ω 1 / 1, Ω 1 / 2 und Ω 1 / 3 definiert. Auf jedem dieser Bereiche ist die Eigenbasis eine Spline vierten Grades. Die Basisfunktionen können an anderer Stelle ausgewertet werden, weil sie der folgenden Skalierungsbeziehung genügen: Φ(v/2, w/2) = ΛΦ(v, w).
  • Das dreieckige Flächenstück kann nun gestützt auf ausschließlich die Eigenbasis geschrieben werden:
  • Figure 00300002
  • Die Eigenstrukturen der Unterteilungsmatrizen brauchen für einen sinnvollen Bereich von Valenzen nur einmal berechnet zu werden. Es sei NMAX die maximale Valenz; dann wird jede Eigenstruktur intern in der folgenden Datenstruktur gespeichert:
    Figure 00300003
    wobei k = N + 6 ist. Die Koeffizienten der Eigenbasisfunktionen sind in den in Anhang D gezeigten Basisfunktionen angegeben. Es gibt drei Sätze von Steuerknoten, einen für jeden fundamentalen Bereich der Eigenbasis. Diese Steuerknoten sind einfach gleich Pk AV. Die Eigenstruktur wurde aus den Ergebnissen von Anhang C und durch numerisches Lösen des oben definierten Linearsystems berechnet. Unter Verwendung dieser Eigenstruktur kann die Fläche für jedes Flächenstück ausgewertet werden, indem zunächst die K Steuerknoten, die das Flächenstück definieren, mit der folgenden Routine in den Eigenraum der Unterteilungsmatrix projiziert werden.
  • Figure 00310001
  • Diese Routine braucht nur einmal für einen bestimmten Satz von Steuerknoten aufgerufen zu werden. Die Auswertung bei einem Parameterwert (v, w) wird durchgeführt, indem das durch die Eigenbasisfunktionen angegebene Produkt berechnet wird.
  • Figure 00310002
  • Figure 00320001
  • Die Routine EvalBasis wertet ein reguläres dreieckiges Flächenstück unter Verwendung der Basis von Anhang D aus. Um Ableitungen höherer Grade auszuwerten, kann EvalBasis durch eine Funktion ersetzt werden, die eine Ableitung der Basis auswertet. In diesem Fall muss das Endergebnis auch mit zwei hoch n*p multipliziert werden, wobei p der Grad der Ableitung ist. Deshalb sollte die folgende Zeile am Ende von Evalsurf hinzugefügt werden:
  • Figure 00320002
  • Somit können, obwohl Catmull-Clark- und Loop-Unterteilungsregeln unterschiedliche Formen von Flächenstücken verarbeiten, beide auf ähnliche Weise berechnet werden. In der Tat können, wenn nur die Unterteilungsregeln eine Parameterisierung regulärer Steuerknoten zulassen, die hierin beschriebenen Techniken verwendet werden.
  • Catmull-Clark-Flächen und Loop-Flächen haben die gemeinsame Eigenschaft, dass ihre erweiterten Unterteilungsmatrizen nicht-defekt sind. Im allgemeinen ist dies nicht der Fall. Zum Beispiel kann die erweiterte Unterteilungsmatrix von Doo-Sabin-Flächen im allgemeinen nicht diagonalisiert werden. Jedoch erfordern die hier beschriebenen Techniken keine nicht-defekten Matrizen. Zum Beispiel können Doo-Sabin-Flächen eine Jordan-Normalform (siehe C. G. Cullen, "Matrices and Linear Transformations", Dover, New York, 1990) der erweiterten Unterteilungsmatrix in Verbindung mit allgemeinen Skalierungsbeziehungen, die in Zorin (D. N. Zorin, "Subdivision and Multiresolution Surface Representations", Doktorarbeit, California Institute of Technology, Pasadena, Kalifornien, 1997) gezeigt sind, verwenden.
  • Mit Bezug zu 23 arbeiten beide beschriebenen Ausführungsformen in der gleichen Weise (130). Vor der Auswertung irgendwelcher Flächenorte werden Eigenstrukturen (z. B. Eigenwerte, eine inverse Eigenvektormatrix und Koeffizienten für Basisfunktionen, die regulären Bereichen entsprechen) berechnet und in einer Datei gespeichert (132). Danach werden, um eine Fläche auszuwerten, die gespeicherten Daten abgerufen (133), und die Koordinaten der Steuerknoten werden entweder über eine grafische Benutzerschnittstelle oder wie in Programmvariablen angegeben bestimmt (134). Die Steuerknoten werden in einen Eigenraum unter Verwendung der vorausberechneten inversen Eigenvektormatrix projiziert (135). Nachdem bestimmt worden ist, welche der hierarchisch eingebetteten Platten den interessierenden Flächenort enthält (136), können Basiskoeffizienten der Platte aus den vorausberechneten Daten bestimmt werden (137). Der Ort kann dann als Funktion der Valenz eines außerordentlichen Knotens, der bestimmten Basiskoeffizienten und der projizierten Steuerknoten ausgewertet werden (138). Diese Auswertung kann eine Bestimmung von dreidimensionalen Koordinaten oder eine Bestimmung einer Ableitung (z. B. einer Normalen oder einer Krümmung) der Fläche beim angegebenen Ort sein. Wie erwähnt, kann die Ableitung von jedem Grad sein. Die Ergebnisse der Auswertung können optional in andere Routinen eingegeben werden (139), die schattieren, eine Strukturabbilding (texture map) durchführen oder andere Flächen-Verarbeitungsfunktionen durchführen.
  • Mit Bezug zu 24 kann die oben beschriebene Auswertung auf einer Computerplattform 140 implementiert werden, die zur Ausführung von Befehlen geeignet ist. Die Computerplattform 140 umfasst einen Monitor 142, der an ein Computersystem 144 angeschlossen ist. Das Computersystem 144 kann den Monitor steuern, um Flächenmodelle anzuzeigen. Die Plattform 140 umfasst eine Zeigeeinrichtung, wie beispielsweise eine Maus, um es einem Benutzer zu ermöglichen, mit einer grafischen Benutzerschnittstelle zu interagieren und Steuerknoten einzustellen.
  • Das Computersystem 144 enthält eine Massenspeichervorrichtung 150 (z. B. ein Festplattenlaufwerk, CD-ROM, Floppy-Laufwerk), einen Speicher 146 und einen Prozessor 148. Im Betrieb werden Anweisungen von der Massenspeichervorrichtung 150 zum Speicher 146 und dem Prozessor 148 übertragen. Die Massenspeichervorrichtung 150 enthält Softwarebefehle 152 für die Auswertung einer Fläche gemäß der Erfindung, einschließlich z. B. vorausberechneter gespeicherter Informationen, wie z. B. die beschriebenen Eigenstrukturen. Die Computerplattform 140 kann eine Netzwerkverbindung 156 umfassen. Obwohl die Erfindung hier als durch Software implementiert beschrieben wurde, kann die Erfindung entweder durch Hardware oder durch Software oder durch eine Kombination von beidem implementiert werden.
  • Anhang A
  • Unterteilungsmatrizen für Catmull-Clark-Unterteilungsregeln und ihre Eigenstrukturen
  • Die Matrix S entspricht den außerordentlichen Regeln um den außerordentlichen Knoten. Für die Anordnung von Steuerknoten wie in 8B gezeigt lautet die Matrix S:
    Figure 00350001
    wobei
  • Figure 00350002
  • Der untere rechte 2N × 2N Block von S hat eine zyklische Struktur, somit kann die diskrete Fourier-Transformation die Eigenstruktur von S berechnen. Die diskrete Fourier-Transformation kann kompakt aufgeschrieben werden, indem die folgende 2N × 2N Fourier-Matrix eingeführt wird:
    Figure 00350003
    wobei w = exp(i2π/N)
  • Unter Verwendung dieser Notationen können wir die Fourier-Transformation der Matrix S kompakt niederschreiben als:
    Figure 00360001
    wobei
    Figure 00360002
    für l = 1, ..., N – 1.
  • Die Eigenstruktur der Fourier-Transformation Ŝ wird aus den Eigenstrukturen ihrer Diagonalblöcke berechnet. Der erste Block Ŝ0 hat die Eigenwerte
    Figure 00360003
    und Eigenvektoren
  • Figure 00360004
  • Ähnlich sind die beiden Eigenwerte jedes Blocks Ŝl (l = 1, ..., N – 1) gleich zu:
    Figure 00370001
    wobei die trigonometrischen Beziehungen die sich ergebenden Ausdrücke vereinfachen. Die entsprechenden Eigenvektoren jedes Blocks sind:
  • Figure 00370002
  • Ein Spezialfall muß behandelt werden, wenn N gerade ist und l = N/2 gilt. In diesem Fall ist der entsprechende Block:
  • Figure 00370003
  • Die Eigenwerte der Matrix Ŝ sind die Vereinigung der Eigenwerte ihrer Blöcke, und die Eigenvektoren sind:
  • Figure 00370004
  • Da die Unterteilungsmatrix S und ihre Fourier-Transformation Ŝ ähnlich sind, haben sie die gleichen Eigenwerte. Die Eigenvektoren werden durch inverse Fourier-Transformation dieser Eigenvektoren berechnet: K = T–1K ^.
  • Somit sind die Eigenwerte und Eigenvektoren von S berechnet worden; jedoch haben in dieser Form die Eigenvektoren komplexe Werte, und die meisten Eigenwerte weisen in der Tat die Multiplizität zwei auf, da λ – / l – = λ + / N–l und λ + / l = λ – / N–l gelten. Die Eigenwerte können wie folgt umbenannt werden: μ4 = λ1 , μ5 = λ+1 6 = λ2 7 = λ+2 , ...
  • Da die Eigenwerte umgeordnet worden sind, müssen auch die Eigenvektoren umgeordnet werden. Gleichzeitig werden diese Eigenvektoren reell gemacht. Es seien k1, ..., k2N+1 die Spalten von K, dann können wir die Spalten einer Matrix U0 wie folgt aufbauen: u1 = k1, u2 = k2, u3 = k3,
  • Figure 00380001
  • Präziser sind u1, u2, u3, u21+2 und u21+3 gleich:
    Figure 00380002
    wobei l = 1, ..., N2, N2 = N – 1 ist, wenn N ungerade ist, und N2 = N – 2 ist, wenn N gerade ist, und
  • Figure 00390001
  • Wenn N gerade ist, sind die beiden letzten Eigenvektoren: uT2N = (0, 1, 0, –1, 0, 1, 0, ..., –1, 0) und uT2N+1 = (0, 0, 1, 0, –1, 0, 1, ..., 0, –1
  • Schließlich lautet die Diagonalmatrix der Eigenwerte: Σ = diag(1, μ2, μ3, μ4, μ4, ..., μN+2, μN+2).
  • Das Inverse der Eigenvektoren U0 kann ebenso berechnet werden, indem zunächst die Inversen jedes Blocks K ^l im Fourierbereich berechnet werden und dann K–1 wie folgt gesetzt wird: K–1 = K ^–1T.
  • Mit der gleichen Neuordnung wie oben kann U0 –1 berechnet werden. Die restlichen Blöcke der Unterteilungsmatrix A ergeben sich direkt aus den üblichen B-Spline-Knoteneinfügungsregeln.
  • Figure 00390002
  • Für den Fall N = 3 gibt es keinen Steuerknoten c8(c8 = c2), und die zweite Spalte der Matrix S11 ist gleich (0, 0, e, e, 0, e, e)T.
  • Die Eigenstruktur der Matrix S12 kann manuell berechnet werden, weil diese Matrix eine einfache Form hat. Ihre Eigenwerte sind:
    Figure 00400001
    mit korrespondierenden Eigenvektoren:
  • Figure 00400002
  • Das Inverse W1 –1 dieser Matrix kann leicht manuell berechnet werden. Die anderen beiden Matrizen, die in A auftreten, sind:
  • Figure 00400003
  • Anhang B
  • Reguläre vierseitige Eigenbasisfunktionen
  • Dieser Anhang errechnet die bi-kubischen Spline-Stücke x(u, v, k) der in Gleichung (13) definierten Eigenbasis. Der Vektor b(u, v) enthält die 16 Tensor-B-Spline-Basisfunktionen (i = 1, ..., 16) bi(u, v) = N(i–1)%4(u)N(i–1)/4(v),wobei "%" und "/" für den Rest bzw. die Division stehen. Die Funktionen Ni(t) sind die gleichförmigen B-Spline-Basisfunktionen: 6N0(t) = 1 – 3t + 3t2 – t3, 6N1(t) = 4 – 6t2 + 3t3, 6N2(t) = 1 + 3t + 3t2 – 3t3 und 6N3(t) = t3.
  • Die Projektionsmatrizen P1, P2 und P3 werden definiert, indem die folgenden drei Permutationsvektoren eingeführt werden: q1 = (8, 7, 2N + 5, 2N + 13, 1, 6, 2N + 4, 2N + 12, 4, 5, 2N + 3, 2N + 11, 2N + 7, 2N + 6, 2N + 2, 2N + 10), q2 = (1, 6, 2N + 4, 2N + 12, 4, 5, 2N + 3, 2N + 11, 2N + 7, 2N + 6, 2N + 2, 2N + 10, 2N + 16, 2N + 15, 2N + 14, 2N + 9), q3 = (2, 1, 6, 2N + 4, 3, 4, 5, 2N + 3, 2N + 8, 2N + 7, 2N + 6, 2N + 2, 2N + 17, 2N + 16, 2N + 15, 2N + 14).
  • Da für den Fall N = 3 die Knoten c2 und c8 den gleichen Knoten bezeichnen, ist q1 l = 2 statt 8 für N = 3. Unter Verwendung dieser Permutationsvektoren ist jede bi-kubische Spline:
    Figure 00420001
    wobei i = 1, ..., K und V die Eigenvektoren der Unterteilungsmatrix sind.
  • Anhang C
  • Unterteilungsmatrizen für Loop-Unterteilungsregeln und ihre Eigenstrukturen
  • Die Unterteilungsmatrix
    Figure 00430001
    ist aus drei Blöcken zusammengesetzt. Der obere linke Block enthält die "außerordentlichen Regeln" des Schemas von Loop. Er ist gleich zu aN = 1 – α(N), bN = α(N)/N, c = 3/8 und d = 1/8.wobei
  • Figure 00430002
  • Unter Verwendung einer abkürzenden Notation gilt:
  • Figure 00430003
  • Die Fourier-Transformation der Matrix ergibt:
  • Figure 00440001
  • Die Eigenwerte und die Eigenvektoren der transformierten Matrix sind wegen der Beinahe-Diagonalstruktur leicht zu berechnen. Sie lauten: μ23 = μ2
  • Die Eigenwerte μN–1 bis f(k) = f(N – k) haben die Multiplizität zwei, weil μ2+N/2 ist, außer wenn N gerade ist, dann hat
    Figure 00440002
    nur die Multiplizität eins. Die entsprechenden Eigenvektoren sind (wenn sie spaltenweise gespeichert werden) S.
  • Indem diese Vektoren durch eine Fourier-Transformation rücktransformiert werden, können wir die Eigenvektoren der folgenden Matrix berechnen:
  • Figure 00450001
  • Das Ergebnis lautet E(k) = exp(2πik/N)wobei μ3+k ist. Diese Vektoren haben komplexe Werte. Vektoren mit realen Werten können erhalten werden, indem die beiden Spalten jedes Eigenwertes kombiniert werden, um zwei entsprechende reale Eigenwerte zu erhalten. Die beiden realen Eigenvektoren für den Eigenwert k = 0, ..., N – 1, vTk = (0, C(0), C(k), C(2k), ..., C((N – 1)k)) und wTk = (0, S(0), S(k), S(2k), ..., S((N – 1)k)),sind zum Beispiel C(k) = cos(2πk/N) und S(k) = sin(2πk/N).wobei gilt Σ = diag(1, μ2, μ3, μ3, ..., μ(N–1)/2μ(N–1)/2),
  • Die korrespondierende Matrix von Diagonalvektoren ist gleich
    Figure 00460001
    wenn N ungerade ist, und sie ist gleich S, wenn N gerade ist. Dies vervollständigt die Eigenanalyse der Matrix A. Die restlichen Blöcke der Matrix sind:
  • Figure 00460002
  • Die Matrix
    Figure 00460003
    hat die folgenden Eigenwerte:
    Figure 00460004
    das heißt,
  • Figure 00460005
  • Und die korrespondierenden Eigenvektoren sind:
    S
  • Das folgende Problem kann auftreten, wenn versucht wird, Gleichung 4 zu lösen. Wenn N gerade ist, verursacht die zum letzten Eigenvektor von 1/8 gehörende Spalte ein degeneriertes Linearsystem, weil der Eigenwert U1 ist. Glücklicherweise kann das System manuell gelöst werden, und in diesem Fall wird die letzte Spalte von uT1,N+1 = (0, 8, 0, – 8, 0)durch den folgenden Ausdruck angegeben:
    A
  • Die restlichen beiden Blöcke der Matrix sind
  • Figure 00470001
  • Anhang D
  • Reguläre dreieckige Spline-Basisfunktionen
  • Die dreieckige Fläche, die durch die in 16 gezeigten Steuerknoten definiert ist, kann in Abhängigkeit von zwölf Basisfunktionen ausgedrückt werden. Das Schema von Loop auf dem regulären Teil des Netzes ist eine Box-Spline, daher existieren entsprechende Bezier-Flächenstück-Steuerknoten des Dreiecks. Lai hat FORTRAN-Code entwickelt (siehe M. J. Lai, "Fortran Subroutines for B-Nets of Box Splines on Three- and Four-Directional Meshes", Numerical Algorithms, 2: 33–38, 1992), der für die Umformung zu Steuerknoten für die dreieckigen Bezier-Flächenstücke vierten Grades, die der Box-Spline entsprechen, sorgt. Der Code von Lai (mit L = 2, M = 2 und N = 2) erzeugt eine Matrix M, die für eine Umwandlung von den Bezier-Steuerknoten des Flächenstücks zu den zwölf in 17 gezeigten Steuerknoten sorgt. Die zwölf Basisfunktionen für unser dreieckiges Flächenstück werden abgeleitet, indem fünfzehn multidimensionale Bernstein-Polynome mit der folgenden Matrix multipliziert werden:
  • Figure 00480001
  • Durch Ausführen dieser Multiplikation erhält man A, wobei u = 1 – v – w ist.
  • Anhang E
  • Eigenstrukturwerte für die Catmull-Clark-Unterteilung
  • Eigenstrukturwerte für N = 3
  • Die gesamte Unterteilungsmatrix:
  • Eigenwerte
    Figure 00490001
  • Eigenvektoren
    Figure 00490002
  • Die gesamte inverse Unterteilungsmatrix:
  • Eigenwerte
    Figure 00500001
  • Eigenvektoren
    Figure 00500002
  • Figure 00510001
  • Eigenstrukturwerte für N = 5
  • Die gesamte Unterteilungsmatrix:
  • Eigenwerte
    Figure 00520001
  • Eigenvektoren
    Figure 00520002
  • Figure 00530001
  • Die gesamte inverse Unterteilungsmatrix:
  • Eigenwerte
    Figure 00530002
  • Eigenvektoren
    Figure 00540001
  • Figure 00550001
  • Andere Aspekte, Vorteile und Abwandlungen liegen innerhalb des Schutzbereichs der folgenden Ansprüche.
  • Folgendes wird beansprucht:

Claims (19)

  1. Computerbasiertes Verfahren zur Bestimmung einer Eigenschaft eines Orts auf einem Computerflächenmodell, wobei der Ort mittels eines Parametersatzes angegeben wird, das Flächenmodell mittels eines Satzes von Steuerknoten beschrieben wird, die einen korrespondierenden Satz von Unterteilungsregeln aufweisen und eine Parametrisierung von regulären Sätzen von Steuerknoten zulassen, wobei das Verfahren umfasst: Erhalten von Eingaben, die Koordinaten der Steuerknoten angeben; Projizieren der angegebenen Koordinaten der Steuerknoten in einen Eigenraum, der von einer Matrixdarstellung der Unterteilungsregeln abgeleitet ist, um einen Satz projizierter Steuerknoten zu erzeugen; Bestimmen, welche Platte eines hierarchisch verschachtelten bzw. eingebetteten Satzes von regulären Platten des Flächenmodells den Ort enthält; Auswerten des Orts als Funktion einer Valenz eines der Steuerknoten, der bestimmten eingebetteten Platte und des Satzes der projizierten Steuerknoten; und Speichern des ausgewerteten Orts in einem Computerspeicher.
  2. Computerbasiertes Verfahren nach Anspruch 1, wobei einer der Steuerknoten einen Knoten umfasst, der eine außerordentliche Valenz aufweist.
  3. Computerbasiertes Verfahren nach Anspruch 1, wobei das Auswerten ein Auswerten im Wesentlichen nach folgender Gleichung umfasst:
    Figure 00560001
  4. Computerbasiertes Verfahren nach Anspruch 1, wobei das Auswerten ein Auswerten im Wesentlichen nach folgender Gleichung umfasst: s(v, w) = ĈT0 Φ(v, w).
  5. Computerbasiertes Verfahren nach Anspruch 1, wobei das Projizieren das Lesen von Daten aus einer Datei umfasst und die Daten inverse Eigenvektormatrixdaten des Eigenraums umfassen.
  6. Computerbasiertes Verfahren nach Anspruch 1, wobei das Auswerten das Lesen von Daten aus einer Datei umfasst und die Daten Eigenwert- und Eigenvektordaten des Eigenraums umfassen.
  7. Computerbasiertes Verfahren zum Auswerten eines Orts eines Computerflächenmodells, wobei der Ort mittels eines Parametersatzes angegeben wird, das Flächenmodell mittels eines Satzes von Steuerknoten beschrieben wird, die einen korrespondierenden Satz von Unterteilungsregeln aufweisen und die eine Parametrisierung von regulären Sätzen von Steuerknoten zulassen, wobei einer der Steuerknoten ein Knoten mit einer außerordentlichen Valenz ist, wobei das Verfahren umfasst: Erhalten von Eingaben, die Koordinaten der Steuerknoten angeben; Auswerten des Orts als Funktion der Steuerknoten ohne explizite Unterteilung der Steuerknoten gemäß den Unterteilungsregeln; und Speichern des ausgewerteten Orts in einem Computerspeicher.
  8. Computerbasiertes Verfahren nach Anspruch 7, wobei die Auswertung das Projizieren der Koordinaten der Steuerknoten in einen Eigenraum umfasst, der von einer Matrixdarstellung der Unterteilungsregeln abgeleitet ist.
  9. Computerbasiertes Verfahren nach Anspruch 7, wobei die Auswertung die Bestimmung umfasst, welche Platte eines hierarchisch verschachtelten Satzes von Platten des Flächenmodells den Ort enthält.
  10. Computerbasiertes Verfahren nach Anspruch 7, wobei die Auswertung die Auswertung eines Satzes von Eigenbasisfunktionen umfasst, die aus einer Matrixdarstellung der Unterteilungsregeln abgeleitet sind.
  11. Computerbasiertes Verfahren nach Anspruch 1 oder 7, wobei die Unterteilungsregeln Catmull-Clark-Unterteilungsregeln und/oder Loop-Unterteilungsregeln umfassen.
  12. Computerbasiertes Verfahren nach Anspruch 1 oder 7, wobei die Auswertung die Bestimmung von Ortskoordinaten umfasst, und/oder wobei die Auswertung die Bestimmung einer Ableitung irgendeiner Ordnung des Flächenmodells an dem Ort umfasst.
  13. Computerbasiertes Verfahren nach Anspruch 1 oder 7, ferner umfassend eine Verarbeitung der Auswertung, um eine Anzeigecharakteristik zu bestimmen.
  14. Computerbasiertes Verfahren nach Anspruch 1 oder 7, wobei die Anzeigecharakteristik zumindest eine der Folgenden umfasst: Schattierung und Strukturabbildung.
  15. Computerbasiertes Verfahren nach Anspruch 1 oder 7, ferner umfassend die Erzeugung einer grafischen Anzeige, die auf der gespeicherten Auswertung basiert.
  16. Computerbasiertes Verfahren nach Anspruch 1 oder 7, wobei das Erhalten von Eingaben das Erhalten von Eingaben über eine grafische Benutzerschnittstelle und/oder über Programmvariablen umfasst.
  17. Computerprogrammprodukt, das auf einem computerlesbaren Medium niedergelegt ist, zur Bestimmung einer Eigenschaft eines Orts auf einem Computerflächenmodell, wobei der Ort mittels eines Parametersatzes angegeben wird, das Flächenmodell mittels eines Satzes von Steuerknoten beschrieben wird, die einen korrespondierenden Satz von Unterteilungsregeln aufweisen und eine Parametrisierung von regulären Sätzen von Steuerknoten zulassen, wobei das Computer programmprodukt Anweisungen umfasst, um einen Computer zu veranlassen, Folgendes auszuführen: Erhalten von Eingaben, die Koordinaten der Steuerknoten angeben; Projizieren der angegebenen Koordinaten der Steuerknoten in einen Eigenraum, der von einer Matrixdarstellung der Unterteilungsregeln abgeleitet ist, um einen Satz projizierter Steuerknoten zu erzeugen; Bestimmen, welche Platte eines hierarchisch verschachtelten bzw. eingebetteten Satzes von regulären Platten den Ort enthält; Auswerten des Orts als Funktion einer Valenz eines der Steuerknoten, der bestimmten eingebetteten Platte und des Satzes der projizierten Steuerknoten; und Speichern der Auswertung in einem Computerspeicher.
  18. Computerprogrammprodukt nach Anspruch 17, umfassend Anweisungen zum Veranlassen des Computers, um das computerbasierte Verfahren nach einem der Ansprüche 2 bis 16 auszuführen.
  19. Computerprogrammprodukt nach Anspruch 17, ferner umfassend eine Datentabelle, die inverse Eigenvektormatrixdaten enthält, und/oder eine Datentabelle, die Eigenwert- und Eigenvektordaten enthält.
DE69915837T 1998-07-15 1999-07-14 Parametrische Flächenauswertung im Eigenraum der Unterteilungsmatrix eines irregulären Flächenstücks Expired - Fee Related DE69915837T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US116553 1998-07-15
US09/116,553 US6389154B1 (en) 1998-07-15 1998-07-15 Exact evaluation of subdivision surfaces generalizing box splines at arbitrary parameter values
PCT/US1999/015782 WO2000004507A1 (en) 1998-07-15 1999-07-14 Parametric surface evaluation in eigenspace of subdivision matrix of irregular patch

Publications (2)

Publication Number Publication Date
DE69915837D1 DE69915837D1 (de) 2004-04-29
DE69915837T2 true DE69915837T2 (de) 2005-04-14

Family

ID=22367891

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69915837T Expired - Fee Related DE69915837T2 (de) 1998-07-15 1999-07-14 Parametrische Flächenauswertung im Eigenraum der Unterteilungsmatrix eines irregulären Flächenstücks

Country Status (6)

Country Link
US (1) US6389154B1 (de)
EP (1) EP1097435B1 (de)
JP (1) JP2002520750A (de)
AU (1) AU5098499A (de)
DE (1) DE69915837T2 (de)
WO (1) WO2000004507A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020064761A1 (de) 2018-09-28 2020-04-02 Fraunhofer Gesellschaft zur Förderung der angewandten Forschung e.V. Verfahren, computerprogrammprodukt und computervorrichtung zum auswerten volumetrischer subdivisionsmodelle

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1208472A4 (de) * 1999-06-14 2005-03-23 Compudigm Int Ltd Daten darstellungssystem und verfahren.
US6850638B1 (en) 2000-02-29 2005-02-01 Alias Systems Corp. System for naming faces and vertices in an adaptive hierarchical subdivision surface
US6765589B1 (en) * 2000-11-16 2004-07-20 Adobe Systems Incorporated Brush for warping and water reflection effects
IL154451A0 (en) * 2001-06-21 2003-09-17 Hi Corp Information processing apparatus
US7411595B2 (en) * 2001-11-28 2008-08-12 Adobe Systems Incorporated Tool for extracting and manipulating components of warping transforms
US6950099B2 (en) * 2002-07-01 2005-09-27 Alias Systems Corp. Approximation of Catmull-Clark subdivision surfaces by Bezier patches
JP2006523891A (ja) * 2003-03-26 2006-10-19 ブリガム・ヤング・ユニバーシティ 局所洗練を用いてt−スプライン及びt−nurcc表面を定義するためのシステム及び方法
US7324105B1 (en) * 2003-04-10 2008-01-29 Nvidia Corporation Neighbor and edge indexing
US7369972B2 (en) * 2003-11-25 2008-05-06 International Business Machines Corporation System, method, and program product for re-parameterizing three dimensional models represented as Catmull-Clark subdivision surfaces
WO2006111976A2 (en) * 2005-04-18 2006-10-26 Technion Research & Development Foundation Ltd. Automatic remeshing by mapping a 2d grid on 3d genus-g meshes based on topological analysis
US7595799B2 (en) * 2005-08-04 2009-09-29 Dassault Systemes Process for creating from a mesh an isotopologic set of parameterized surfaces
US7822289B2 (en) * 2006-07-25 2010-10-26 Microsoft Corporation Locally adapted hierarchical basis preconditioning
US20090225078A1 (en) * 2008-03-07 2009-09-10 Jaroslaw Roman Rossignac Rendering Curves Through Iterative Refinement
TWI409502B (zh) * 2009-01-23 2013-09-21 Univ Nat Taipei Technology 相位資訊擷取方法及其三維形貌量測系統
CN103150760B (zh) * 2012-12-31 2019-02-19 深圳市配天智造装备股份有限公司 获取曲线控制顶点、几何形状的方法及图形处理装置
EP3038060B1 (de) 2014-12-23 2021-09-15 Dassault Systèmes 3D-modelliertes, durch ein Raster von Steuerungspunkten definiertes Objekt
EP3051446A1 (de) 2015-02-02 2016-08-03 Dassault Systèmes Gravieren eines 2D-Bildes auf einer Subdivision Surface
US20200050342A1 (en) * 2018-08-07 2020-02-13 Wen-Chieh Geoffrey Lee Pervasive 3D Graphical User Interface

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4667306A (en) * 1983-07-20 1987-05-19 Ramtek Corporation Method and apparatus for generating surface-fill vectors
US4999789A (en) * 1987-02-05 1991-03-12 Hewlett-Packard Co. Method and apparatus for trimming B-spline descriptions of patches in a high performance three dimensional graphics system
US5144495A (en) * 1987-12-03 1992-09-01 Compugrade, Inc Systems for illuminating and evaluating surfaces
US4969106A (en) * 1989-02-27 1990-11-06 Camsys, Inc. Computerized method of determining surface strain distributions in a deformed body
US5835220A (en) * 1995-10-27 1998-11-10 Nkk Corporation Method and apparatus for detecting surface flaws
US5859919A (en) * 1996-08-12 1999-01-12 The United States Of America As Represented By The Secretary Of The Navy Method and system for measuring surface roughness using fractal dimension values
US6018349A (en) * 1997-08-01 2000-01-25 Microsoft Corporation Patch-based alignment method and apparatus for construction of image mosaics
US6009190A (en) * 1997-08-01 1999-12-28 Microsoft Corporation Texture map construction method and apparatus for displaying panoramic image mosaics
US6037949A (en) * 1997-08-04 2000-03-14 Pixar Animation Studios Texture mapping and other uses of scalar fields on subdivision surfaces in computer graphics and animation

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020064761A1 (de) 2018-09-28 2020-04-02 Fraunhofer Gesellschaft zur Förderung der angewandten Forschung e.V. Verfahren, computerprogrammprodukt und computervorrichtung zum auswerten volumetrischer subdivisionsmodelle
DE102018216787A1 (de) * 2018-09-28 2020-04-02 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Verfahren, Computerprogrammprodukt und Computervorrichtung zum Auswerten volumetrischer Subdivisionsmodelle

Also Published As

Publication number Publication date
DE69915837D1 (de) 2004-04-29
EP1097435A1 (de) 2001-05-09
AU5098499A (en) 2000-02-07
WO2000004507A1 (en) 2000-01-27
JP2002520750A (ja) 2002-07-09
EP1097435B1 (de) 2004-03-24
US6389154B1 (en) 2002-05-14

Similar Documents

Publication Publication Date Title
DE69915837T2 (de) Parametrische Flächenauswertung im Eigenraum der Unterteilungsmatrix eines irregulären Flächenstücks
DE69815687T2 (de) Verfahren und vorrichtung zur texturabbildung und andere anwendungen von skalarfeldern auf unterteilungsoberflächen in rechnergraphik und animation
DE60130680T2 (de) Methode zur ausrichtung eines punktgitters anhand von bildmerkmalen
DE60032832T2 (de) Darstellung einer gekrümmten Oberfläche in mehreren Auflösungen
DE60026197T2 (de) Detailgerichtete hierarchische Distanzfelder in der Objektmodellierung
DE3852328T2 (de) Formierung von geometrischen Objekten durch kumulative Versetzungsschritte.
DE3689654T2 (de) Rechnergraphik, prozessor für parallele subdivision.
DE69924700T2 (de) Verfahren zur Darstellung von durch Oberflächenelemente repräsentierten grafischen Objekten
DE102020000810A1 (de) 3D-Objektrekonstruktion unter Nutzung einer fotometrischen Netzdarstellung
DE69716877T2 (de) System und Verfahren zur genauen Gradientberechnung für die Texturabbildung in einem Computergraphiksystem
DE69924699T2 (de) Verfahren zur Schaffung von als Oberflächenelemente dargestellten grafischen Objekten
EP1251462B1 (de) Verfahren zum Segmentieren einer in einem Objekt enthaltenen dreidimensionalen Struktur, insbesondere für die medizinische Bildanalyse
DE69222707T2 (de) Zeichenverdünnung mit Verwendung des Auftrittsverhaltens von lokal unabhängigen kompetitiven Prozessen
Kanai et al. 3D geometric metamorphosis based on harmonic map
EP0829822B1 (de) Verfahren zur Anzeige von geometrischen Objektoberflächen
DE60201923T2 (de) Materialverbiegungssimulationsgerät inbesondere für weiche Körpergewebe
DE69331419T2 (de) Bilddatenverarbeitung
DE69924230T2 (de) Verfahren zur Modellierung von durch Oberflächenelemente dargestellten grafischen Objekten
DE19807013A1 (de) Volumetrisches Vorabschneidungsverfahren, das eine minimale Anzahl von Abtastpunkten durch ein Volumen gewährleistet
DE69318930T2 (de) Bilddatenverarbeitung
Toshniwal Quadratic splines on quad-tri meshes: Construction and an application to simulations on watertight reconstructions of trimmed surfaces
DE69229669T2 (de) Verfahren und Vorrichtung zur Erzeugung und Darstellung von Freiform-Strichen
Narayanaswami et al. Multiresolution modeling techniques in CAD
Anderson et al. Fast generation of nurbs surfaces from polygonal mesh models of human anatomy
DE69323471T2 (de) Bilddatenverarbeitung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: ALIAS SYSTEMS CORP., TORONTO, ONTARIO, CA

8339 Ceased/non-payment of the annual fee