DE69726479T2 - Selektive Verfeinerung von Gitternetzen - Google Patents

Selektive Verfeinerung von Gitternetzen Download PDF

Info

Publication number
DE69726479T2
DE69726479T2 DE69726479T DE69726479T DE69726479T2 DE 69726479 T2 DE69726479 T2 DE 69726479T2 DE 69726479 T DE69726479 T DE 69726479T DE 69726479 T DE69726479 T DE 69726479T DE 69726479 T2 DE69726479 T2 DE 69726479T2
Authority
DE
Germany
Prior art keywords
mesh
stitch
vertex
improvement
representation
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 - Lifetime
Application number
DE69726479T
Other languages
English (en)
Other versions
DE69726479D1 (de
Inventor
Hughes H. Hoppe
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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of DE69726479D1 publication Critical patent/DE69726479D1/de
Application granted granted Critical
Publication of DE69726479T2 publication Critical patent/DE69726479T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • 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

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

  • Ein Teil der Offenbarung dieses Patentdokuments enthält Material, welches Gegenstand von Urheberrechtsschutz ist. Der Urheberrechtsinhaber hat keine Einwände gegen eine fotografische Reproduktion des Patentdokuments oder der Patentoffenbarung durch irgend jemanden, wie dieses) in der Akte und den Unterlagen des Patent- und Markenamts vorliegt, behält sich im übrigen jedoch alle Urheberrechte vor.
  • Die Erfindung bezieht sich allgemein auf geometrisches Modellieren mit Hilfe polygonaler Maschen bzw. Netze für Computergrafiken, insbesondere Techniken zur Optimierung des Anzeigens, des Speicherns und des Übertragens von polygonalen Maschen- bzw. Netzmodellen mit variierendem Detailniveaus.
  • Modelle in Computergrafiken werden häufig mit Hilfe von dreieckigen Netzen bzw. Maschen repräsentiert. Aus geometrischer Sicht ist eine dreieckige Masche (beispielsweise ein Beispielabschnitt einer dreieckigen Masche 82 in 6) eine stückweise lineare Fläche, die aus dreieckigen, entlang ihrer Ränder bzw. Kanten miteinander verbundenen Seitenflächen besteht. In der folgenden Diskussion wird die Geometrie einer dreieckigen Masche mit Hilfe eines Tupels (K,V) bezeichnet, wobei K eine einfache bzw. vereinfachte Komplexe ist, die die Verbindbarkeit der Masche vereinfacht (d. h. das Anliegen bzw. Angrenzen der Scheitelpunkte, der Kanten und der Seitenflächen) und wobei V = {vl,...,vm} die Folge von Scheitelpunkt-Positionen vj =(xj,yj,zj,) ist, welche die Form der Masche in R3 definiert. Im einzelnen ist eine parametrische Domäne |K|⊂Rm mittels des Identifizierens jedes Scheitelpunktes von K mit einem kanonischen Basisvektors von Rm konstruiert, und die Masche ist definiert als das Bild, φv(|K|), wobei φv: Rm → R3 eine lineare Abbildung ist. (vgl. beispielsweise H. Hoppe et al., Mesh Optimization, 1993 Computer Graphics Proceedings 1926) Die Scheitelpunkte einer dreieckigen Masche (beispielsweise Scheitelpunkte 8289 der Masche 80 in 6) werden als vl,...,vm bezeichnet; die Kanten (beispielsweise 9295) werden mit Hilfe eines Paares benachbarter Scheitelpunkte als e = {vj,vk} bezeichnet; und die Seitenflächen (beispielsweise Seitenflächen 100107) werden mit Hilfe von Tripeln miteinander verbundener Scheitelpunkte als f = {vj, vk, vl} bezeichnet.
  • In typischen Computergrafikanwendungen werden von der Geometrie verschiedene Flächen-Erscheinungsattribute (d. h. die oben beschriebene einfache Komplexe und das Scheitelpunkt-Positions-Tupel (K,V) ebenfalls der Masche zugeordnet. Diese Attribute können in zwei Ar ten unterteilt werden: diskrete Attribute und skalare Attribute. Diskrete Attribute sind üblicherweise den Seitenflächen der Masche zugeordnet. Ein gemeinsames diskretes Attribut, der Materialidentifizierer, bestimmt die beim Aufbereiten einer Seitenfläche der Masche genutzte Abstufungs- bzw. Schattierungsfunktion als auch einige der globalen Parameter der Abstufungsfunktion. Zum Beispiel kann eine einfache Abstufungsfunktion ein einfaches Nachschlagen in einer spezifizierten Texturabbildung umfassen. (Vgl. beispielsweise S. Upstill, The RenderMan Companion (Addison-Wesley 1990).)
  • Oft sind viele skalare Attribute mit einer Masche verbunden, einschließlich einer diffusen Farbe (r,g,b), einer Normalen (nx,ny,nz) und Texturkoordinaten (u,v). Allgemein spezifizieren diese Attribute die lokalen Parameter von Abstufungs- bzw. Schattierungsfunktionen, die auf den Maschenseitenflächen definiert sind. Um Diskontinuitäten bzw. Unstetigkeiten in den skalaren Feldern einzufangen und weil benachbarte Seitenflächen unterschiedliche Schattierungsfunktionen aufweisen können, ist es üblich, skalare Attribute nicht mit Scheitelpunkten einer Masche, sondern mit ihren Ecken zu verbinden. (Vgl. beispielsweise Apple Computer, Inc., 3d Graphics Programming with QickDraw 3d (Addison-Wesley 1995).) Eine Ecke ist definiert als ein (Scheitelpunkt, Seitenfläche)-Tupel. Skalare Attribute s(v,f) in einer Ecke i = (vj,fk) spezifizieren die Schattierungsparameter für die Seitenfläche f im Scheitelpunkt v. Um beispielsweise einen Knick bzw. eine Falte (eine Kurve auf der Fläche, über welche das normale Feld nicht glatt ist) zu modellieren, identifiziert man eine Kurve (Folge von Kanten) in der Masche, wobei in jedem Scheitelpunkt entlang ihres Wegs die Kurve die Ecken in zwei Folgen unterteilt und wobei zwei Normale mit dem Scheitelpunkt verbunden werden, eine für jede dieser Folgen. Eine Masche mit skalaren und diskreten Flächenattributen wird deshalb als ein Tupel M = (K,V,D,S) bezeichnet, wobei D die Folge diskreter Attribute df, welche den Seitenflächen f = {vj,vk,vl} ∊ K zugeordnet sind, und S die Folge skalarer Attributen S(v,f) sind, die den Ecken (v,f) von K zugeordnet sind.
  • Bei dem fortdauernden Bedarf für Realität von Computergrafiken werden weitgehend detaillierte, geometrische Modelle zunehmend zur Allgemeinheit. Mit Hilfe existierender Modellierungssysteme können Autoren sehr detaillierte, geometrische Modelle von Objekten erzeugen, indem vielseitige Modellierungsoperationen (beispielsweise Extrusion, konstruktive Festgeometrie (CSG – "constructive solid geometry") und freie Formendeformationen (FFD) "free-form deformations")) auf eine große Anzahl von geometrischen Grundelementen (beispielsweise nicht gleichförmiges, rationales B-spline (NURBS – "non-uniform rational B- spline") und implizite Oberflächen ("Blobbies")). (Vgl. T. Sederberg und S. Parry, Free form Deformation of Solid Geometric Models, 1986 Computer Graphics Proceedings [FFD]; Rockwood, Real-time Rendering of Trimmed Surfaces, 1989 Computer Graphics Proceedings [NURBS]; and J. Blinn, A Generalization of Algebraic Surface Drawing, 1982 ACM Transactions on Graphics 1 (3) 235–256 [Blobbies].) Für Anzeigezwecke werden diese Autorenmodelle üblicherweise tesseliert in dreieckige Maschen von dem vorher beschriebenen Typ. Detaillierte Modelle können auch mittels Scannens physikalischer Objekte mit strukturierten Lichtsystemen schnell erhalten werden, beispielsweise Laser-Bereichscannern, um Maschen zu erzeugen. In jedem Fall ist es aufwendig, die erhaltenen Maschen zu speichern, zu übertragen und zu bearbeiten, was zu einer Anzahl von praktischen Problemen führt.
  • Maschenvereinfachung. Die mit Hilfe des Modellierens und mit Hilfe von Scannersystemen erhaltenen Maschen sind typischerweise nicht für Anzeigezwecke optimiert. In den meisten Anwendungen können diese Anfangsmaschen üblicherweise durch nahezu nicht unterscheidbare Näherungen mit weit weniger Seitenflächen ersetzt werden, wodurch die Bearbeitungseffizienz verbessert wird. Gegenwärtig ist häufig der Computernutzer (beispielsweise Grafikkünstler oder Grafikdesigner) für die Handbearbeitung von Maschen zuständig, was ähnlich zu der Situation von Programmierern ist, die vor der Optimierung der Compiler an dem Code rumbasteln. Ein weit bessere Lösung besteht darin, Maschenvereinfachungswerkzeuge zu entwickeln, um diese schmerzvolle Aufgabe zu automatisieren. Als weiteren Vorteil erlauben solche Werkzeuge das Portieren einzelner Modelle in Plattformen mit unterschiedlicher Leistung.
  • Detailniveau-Näherung. Wenn ein detaillierte Masche weit von dem Betrachter entfernt ist, kann sie nur einen kleinen Bereich des Bildschirms einnehmen. Ein erheblicher Arbeitsaufwand ist bei der Bearbeitung der Masche auszuführen, nur um eine kleine Anzahl von Pixeln zu beeinflussen. Demgegenüber würde eine weit gröbere Masche (d. h. eine mit weniger Scheitelpunkten und Seitenflächen) nahezu identisch aussehen. Um dieses Problem anzugehen, nutzen viele Anwendungen verschiedene Versionen eines Modells mit verschiedenen Detailniveaus. Ein vollständig detaillierte Masche wird genutzt, wenn das Objekt nahe ist; gröbere Näherungen ersetzen diese, wenn sich das Objekt entfernt (Vgl. T. A. Funkhouser und C. H. Sequin, Adaptive Display Algorithm for Interactive Frame Rates During Visualization of Complex Virtual Environments, 1993 Computer Graphics Proceedings 247–254). Darüber hinaus kann ein augenblickliches Umschalten zwischen zwei Detailniveaus für ein gegebenes Modell zu einem wahrnehmbaren "popping"-Anzeigeeffekt führen. Aus diesem Grund ist die Fähigkeit zum Konstruieren glatter, sichtbarer Übergänge zwischen Maschen mit unterschiedlichen Detailniveau, die Geomorphe genannt werden, wünschenswert.
  • Progressive Übertragun. Ein komplexe Masche verbraucht beträchtliche Zeit beim Senden über eine Kommunikationsleitung, oft ein Vielfaches der benötigten Zeit, um Bilder mit Darstellungen der Masche sichtbar zu bearbeiten. Wenn eine Masche über eine Kommunikationsleitung gesendet wird, besteht der Wunsch, Darstellungen zu bearbeiten, die zunehmend bessere Näherungen des Modells zeigen, wenn die Daten inkremental empfangen werden. Die einfachste bekannte Lösung besteht darin, die einzelnen Dreiecke beim Empfangen zu bearbeiten, wobei dieses aber sehr schlecht aussieht. Eine andere bekannte Lösung besteht darin, aufeinanderfolgend Detailniveau-Näherungen zu übertragen, was jedoch zusätzliche Übertragungszeit erfordert.
  • Maschenkompression. Ein Modell sollte mit der kleinsten Menge an Speicher- oder Plattenraum gespeichert werden. Es existieren zwei orthogonale Lösungen für den Umgang mit diesem Problem. Eine besteht darin, eine Maschenvereinfachung zu nutzen, wie dieses vorher beschrieben wurde, um die Anzahl von Seitenflächen in dem Modell soweit wie möglich zu vermindern, während seine Erscheinung erhalten bleibt. Die andere Lösung ist eine Maschenkompression: Minimierung des Raums, welcher zum Speichern des Modells benutzt wird, vorausgesetzt, daß eine spezielle Masche ausgewählt wurde.
  • Selektive Verbesserung. Wenn zu einer weiter detaillierten Masche mit einer Detailniveau-Repräsentation umgestaltet wird, wird gleichmäßig über die Oberfläche des Modells ein Detail hinzugefügt. Für einige Modelle ist es wünschenswert, die Masche nur in ausgewählten Bereichen zu verbessern. Beispielsweise kann es wünschenswert sein, das Terrain bzw. Gelände nur in der Nähe des Betrachters in allen Einzelheiten und nur im Sichtfeld zu zeigen, wenn ein Nutzer über ein Terrain- bzw. Geländemodell fliegt.
  • Es existiert eine Anzahl von Maschenvereinfachungstechniken, die diese Probleme mit unterschiedlichem Erfolg angehen. Eine von G. Turk, Re-Tiling Polygonal Surfaces, 1992 Computer Graphics Proceedings 55–64 [im folgenden "Turk92"] beschriebene Technik streut eine Folge von Punkten einer Masche mit einer Dichte, die mittels Berechnungen einer lokalen Krümmung gewichtet ist, und führt dann die Dreieckigkeit auf Basis solcher Punkte zurück.
  • Sowohl W. J. Schroeder et al., Decimation of Triangle Meshes, 1992 Computer Graphics Proceedings 65–97 [im folgenden "Scliroeder-etal92"] als auch A. Varshney Hierarchical Geometric Approximations, Doktorarbeit, Department of Computer Science, University of North Carolina in Chapel Hill (1994) [im folgenden "Varshney94"] beschreiben Techniken, die Scheitelpunkte iterativ von der Masche entfernen und die Dreieckigkeit der sich ergebenden Löcher wiederherstellen. Die Technik Varshney94 ist in der Lage; den maximalen Fehler der Näherung an eine Nutzer spezifizierte Toleranz zu binden, indem zwei Offset-Oberflächen bei der ursprünglichen Masche definiert werden und ein kombinatorisches Suchen genutzt wird.
  • H. Hoppe et al., Mesh Optimization, 1993 Computer Graphics Proceedings 19–26 [im folgenden Hoppe93] beschreibt eine Technik, die als Maschenoptimierung bezeichnet wird und eine beliebige ursprüngliche Masche durch das Anwenden aufeinanderfolgender Transformationen vereinfacht, die aus einer Folge ausgewählt werden, welche einen Kanten-Kollaps, eine Kantenteilung und ein Kantervertauschen umfaßt, so daß ein Energiefunktion minimiert wird. Wie mittels einer Grafik 25 in 2 gezeigt wird, die eine Genauigkeitsachse 26 und eine Bündigkeitsachse 27 umfaßt, modelliert diese Energiefunktion explizit die konkurrierenden Ziele der Genauigkeit und der Bündigkeit mittels einer dichten Folge von Punkten von der ursprünglichen Masche und des Nutzens dieser Punkte zum Definieren eines Abstandsmaßes zwischen einer weiter vereinfachten Masche, die sich aus einer ausgewählten Transformation ergibt, und der ursprünglichen Masche.
  • Das Ziel des in Hoppe93 beschriebenen Maschenoptimierungsverfahrens ist speziell, eine Masche M = (K,V) zu finden, die sowohl eine Folge Xvon Punkten xi ∊ R3 anpaßt als auch eine kleine Anzahl von Scheitelpunkten aufweist. Dieses Problem bildet eine Minimierung einer Energiefunktion E(M) = Edist(M) + Erep(M) + Espring(M) (1)der Genauigkeit und der Bündigkeit: Der Abstandsenergieterm Edist(M) = Σi d2(xi, Φv (|K|) (2)mißt den quadratischen Gesamtabstand der Punkte der Masche (d. h. eine Messung entlang der Genauigkeitsächse 26), und der Repräsentationsenergieterm Ecrep(M) = crepm (3)belastet die Anzahl m von Scheitelpunkten in M (d. h. eine Messung entlang der Bündigkeitsachse 27).
  • Der dritte Term, die Sprungenergie Espring (M) wird eingeführt, um das Optimierungsproblem zu regularisieren. Es entspricht dem Anordnen eines Sprungs der Restlänge Null und der Spannung x auf jeder Kante der Masche: Espring(M) = Σ(j,k)∊k k||vj – vk||2 (4)
  • Hoppe93 beschreibt die Minimierung der Energiefunktion E(M) mittels eines verschachtelten Optmimierungsverfahrens mit einer äußeren und einer inneren Schleife. In der äußeren Schleife optimiert das Verfahren über K, die Verbindbarkeit der Masche, mittels zufälligen Versuchen einer Folge von drei möglichen Maschentransformationen: Kantenkollaps, Kantenteilung und Kantentauschen bzw. -umlagern. Diese Folge von Transformationen ist beendet, in dem Sinne, daß jede einfach komplexe K des selben topologischen Typs wie durch eine Folge dieser Transformationen erreicht werden kann. Für jede mögliche Maschentransformation, K → K', verarbeitet EK', das Minimum von E, welches Gegenstand der neuen Verbindbarkeit K' ist, die unten beschriebene, kontinuierliche Optimierung. Wenn ΔE = EK' – EK als negativ erkannt wird, wird die Maschentransformation angewendet (ähnlich zu einem Null-Temperatur simulierten Kühlverfahren).
  • In der inneren Schleife, die für jede mögliche Maschentransformation ausgeführt wird, verarbeitet das Verfahren EK' = minvEdist(V) + Espring(V) mittels Optimieren über die Scheitelpunkt-Positionen V. Zum Zweck der Effizienz optimiert der Algorithmus tatsächlich nur eine Scheitelpunkt-Position vs und betrachtet nur die Teilfolge von Punkten X die auf die von K → K' beeinflußte Nachbarschaft zeigt.
  • In Hoppe93 wurde gefunden, daß der Regularisierungs-Sprungenergieterm Espring(M) in den frühen Stufen der Optimierung am wichtigsten ist. Das Optimierungsverfahren erreicht deshalb die besten Ergebnisse durch das wiederholte Aufrufen des verschachtelten, oben beschriebenen Optimierungsverfahrens mit einer Abfolge von fallenden Sprungkonstanten k.
  • Hoppe93 demonstriert auch die Nutzung dieses Maschenoptimierungsverfahrens als ein Maschen-Vereinfachungswerkzeug. Bei einer Anfangsmasche M beispielsweise die beispielhafte, beliebige Anfangsmasche in 1(a)) wird zum Optimieren eine dichte Folge von Punkten X in den Scheitelpunkten von M und zufällig über ihre Seitenflächen abgetastet. Das Optimierungsverfahren wird dann mit der Anfangsmasche M als Startmasche aufgerufen. Mit Hilfe des Variierens des Setzens der Repräsentationskonstanten crep nimmt das Optimierungsverfahren unterschiedliche Wege 3436 durch einen Raum von möglichen Maschen 38 und kann hierdurch optimierte Maschen Mb, Mc und Md mit unterschiedlichen Abwägungen der Genauigkeit und der Bündigkeit erzeugen. Beispielsweise zeigen die 1(b–d) Darstellungen von drei beispielhaften optimierten Maschen Mb, Mc und Md, die aus der beispielhaften, zufälligen, ursprünglichen Masche (1(a)) mit Hilfe des bekannten Maschenoptimierungsverfahrens aus Hoppe93 für unterschiedliche Werte der Repräsentationskonstanten crep erzeugt werden.
  • J. Rossigac und P. Borrel, Multi-resolution 3D Approximations for Rendering Complex Scenes, Modeling in Computer Graphics 455–465 (Springverlag, New York 1993) [im folgenden "Rossignac-Borrel93"] beschreiben eine Technik zum Verschmelzen von Scheitelpunkten eines Modells, wobei räumliches "binning"-Verfahren genutzt wird. Ein einzigartiger Aspekt ihrer Lösung besteht darin, daß der topologische Typ des Modells sich in dem Prozeß ändern kann. Ihr Schema ist sehr schnell, da sie jedoch geometrische Qualitäten wie die Krümmung ignorieren, sind ihre Näherungen bei weitem nicht optimal.
  • Die oben beschriebenen Maschenvereinfachungstechniken erzeugen eine diskrete Hierarchie vereinfachter Modelle mittels mehrmaligem aufeinanderfolgenden Anwenden ihres Vereinfachungsverfahrens. Sowohl Turk92 als auch Rossignac-Borre193 sind in der Lage, Geomorphe zwischen den so erzeugten, diskreten Folgen von Modellen zu bilden.
  • Vor kurzem haben M. Lounsbery et al., Multiresolution analysis for surfaces of arbitrary topological type, Technical Report 93-10-05b, (Department of Computer Science and Engineering, University of Washington, Januar 1994) [im folgenden Lounsbery-etal94] das Konzept der Mehrfach-Auflösungsanalyse für Oberflächen von beliebigem topologischen Typ verallgemeinert. M. Eck et al., Multiresolution Analysis of Arbitrary Meshes, 1995 Computer Graphics Proceedings 173–182 [im folgenden "Eck95"] beschreibt, wie diese auf Elementarwellen basierende Mehrfachauflösung-Lösung für die Näherung einer beliebigen Masche angewendet werden kann. Sie konstruieren zuerst ein Parametrisierung der Masche über einer einfachen Domäne und erweitern diese Parametrisierung auf einer Basis von Elementarwellen. Sie sind in der Lage, den maximalen Fehler zwischen der ursprünglichen Masche und jeder Näherung zu begrenzen.
  • Die Erfindung geht die oben beschriebenen Probleme mit Hilfe von Verfahren und Vorrichtungen zum Speichern, Übertragen und Bearbeiten von Darstellungen einer beliebigen polygonalen Masche M an, indem ein Format benutzt wird, das hier als progressive Maschenrepräsentation ("PM") bezeichnet wird und die beliebige polygonale Masche als eine viel gröbere Masche M0 zusammen mit einer Folge von n Detailaufzeichnungen repräsentiert, die anzeigen, wie M0 exakt in die ursprüngliche Masche M = Mn inkremental zurück verbessert werden kann. In einem dargestellten Ausführungsbeispiel der Erfindung speichert jede dieser Aufzeichnungen Informationen, die einer Scheitelpunkt-Spaltung zugeordnet ist, einer elementaren Maschentransformation, die einen zusätzlichen Scheitelpunkt zu der Masche hinzufügt. Die PM-Repräsentation von M definiert somit eine ununterbrochene Folge von Maschen von M0, M1,...,Mn mit zunehmender Genauigkeit, aus denen Detailniveau-Näherungen mit einer beliebigen gewünschten Komplexität effizient erhalten werden können. Darüber hinaus können glatte, sichtbare Übergänge (Geomorphe) zwischen zwei beliebigen solcher Maschen effizient konstruiert werden. Des weiteren unterstützt die PM-Repräsentation natürlicherweise progressive Übertragungen, offeriert eine kurze bzw. bündige Kodierung von M selbst und unterstützt effiziente, ausgewählte Verbesserungen. Kurz gefaßt, eröffnet die PM-Repräsentation eine effiziente, verlustfreie Repräsentation mit kontinuierlicher Auflösung.
  • Die Erfindung liefert darüber hinaus eine neue Vereinfachungsprozedur zum Konstruieren einer PM-Repräsentation aus einer gegebenen Masche M. Im Unterschied zu früheren Vereinfachungsverfahren versucht diese Prozedur nicht nur die Geometrie der Maschenoberfläche sondern auch ihre Gesamterscheinung zu erhalten, wie sie mittels der diskreten und der skalaren Attribute definiert ist, die ihrer Oberfläche zugeordnet sind.
  • Von den bekannten, oben diskutierten Maschenvereinfachungstechniken weist die Mehrfachauflösungs-Analyse (MRA) von Eck95 einige Ähnlichkeiten zu der PM-Repräsentation auf. Die MRA-Lösung speichert auch eine einfache Basismasche zusammen mit einem Informationsstrom, der fortdauernd ein Detail zu dem Modell addiert. Die MRA-Lösung erzeugt in ähnlicher Weise eine Repräsentation mit kontinuierlicher Auflösung, aus welcher Näherungen beliebiger Komplexität abgeleitet werden können. Die erfindungsgemäße PM- Repräsentation verfügt jedoch über eine Anzahl von Unterschieden und Vorteilen gegenüber der bekannten MRA-Lösung.
  • Zunächst nutzt die MRA-Lösung Detailterme in Form von Elementarwellen, die Transformationen spezifizieren, welche die Seitenflächen einer Basismasche rekursiv aufteilen. Dieses verlangt, daß die Detailterme und die Elementarwellen in einer Domäne mit Unterteilungsverbindbarkeit liegen. Im Ergebnis muß jede Detailniveau-Näherung, einschließlich der Höchsten, zu einer begrenzten Klasse von Maschen (solche mit Unterteilungsverbindbarkeit) gehören. Eine beliebige Anfangsmasche M (mit beliebiger Verbindbarkeit) kann innerhalb einer ε-Toleranz nur näherungsweise wiedergewonnen werden, aber niemals exakt.
  • Im Unterschied ist die erfindungsgemäße PM-Repräsentation verlustfrei. Jede Detailaufzeichnung ist eine komplette Maschenverbesserungstransformation, die progressive Maschen (M1 i < n der PM-Repräsentation) erzeugen kann, welche jede beliebige Verbindbarkeit aufweisen können. Im Ergebnis können die progressiven Maschen in geometrischer Hinsicht viel bessere Näherungen der ursprünglichen, beliebigen Masche M als das Gegenstück der Näherungsmaschen bei der MRA-Lösung sein. Darüber hinaus ist das Modell mit dem höchsten Detail in der kontinuierlichen Auflösungsfamilie, Mn, exakt die ursprüngliche, beliebige Masche M. (Vgl. beispielsweise die beispielhaftert MRA-Lösungsmaschen in den 4(a–d) zu den beispielhaften PM-Repräsentationsmaschen in den 7(a–d).)
  • Darüber hinaus kann die MRA-Lösung mit Oberflächenfalten (Kurven auf der Oberfläche, über welche die Oberfläche nicht glatt ist) nicht effizient umgehen, es sei denn, solche Falten liegen zufällig parametrisch entlang der Kanten der Basismasche (Masche mit geringstem Detailniveau). Die erfindungsgemäß konstruierten, progressiven Maschen können jedoch Oberflächenfalten überall auf der Maschenoberfläche und mit einem beliebigen Detailniveau einführen.
  • Des weiteren kann die PM-Repräsentation kontinuierlich oder stückweise kontinuierlich sowie diskret mit der Oberfläche verbundene Erscheinungsattribute einfangen. Solche Attribute umfassen eine diffuse Farbe, Normale, Textur-Koordinaten, Materialidentifizierer und Schattierungsparameter. Um Funktionen mit Unstetigkeiten zu repräsentieren, können die bekannten MRA-Schemata stückweise konstante Basisfunktionen nutzen, was jedoch dazu führt, daß die sich ergebenden Näherungen zu viele Unsfetigkeiten aufweisen, weil keine der Basisfunktionen stetig ist (Vgl. beispielsweise P. Schroder und W. Sweldens, Spherical Wavelets: Efficiently Representing Functions on the Sphere, 1995 Computer Graphics Proceedings 161– 172 (die Haar-Elementarwellen-Basis).) Des weiteren ist es gegenwärtig nicht klar, wie MRA erweitert werden könnte, um diskrete Attribute einzufangen.
  • Schließlich ermöglicht die erfindungsgemäße PM-Repräsentation Geomorphe zwischen zwei beliebigen Detailniveau-Maschen mit unterschiedlichen diskreten Attributen. Dieses ist mit den bekannten MRA-Lösungen nicht möglich.
  • Die Erfindung wird im folgenden anhand von Ausführungsbeispielen unter Bezugnahme auf eine Zeichnung näher erläutert. Die Akte dieses Patents enthält wenigstens eine Figur, die in Farbe ausgeführt ist. Bestimmte Darstellungen, die in Farbe ausgeführt sind, sind Bilder von Maschen, die aus einer Datenfolge mit dem Namen Cessna erzeugt wurden, welche ursprünglich von Viewpoint Datalabs Inernational, Inc. of Orem, Utah, USA, erzeugt wurde. In der Zeichnung zeigen:
  • (1a–d) Darstellungen einer beliebigen Masche (1(a)) mit 12.946 Seitenflächen) und eine Folge von vereinfachten Näherungsmaschen bei mehrfachem Detailniveau (1(b)) mit crep = 10–4 und 228 Seitenflächen; 1(c) mit crep = 10–5 und 370 Seitenflächen; und 1(d) mit crep = 10–7 und 1.194 Seitenflächen), die mit Hilfe eines bekannten Maschenoptimierungsverfahrens erzeugt wurden, das in Hoppe93 beschrieben ist;
  • 2 eine Grafik der Genauigkeit in Abhängigkeit von der Bündigkeit, welche die Ergebnisse des bekannten Maschenoptimierungsverfahrens darstellt, das in Hoppe93 für die beispielhaften Näherungsmaschen in den 1(b–d) gezeigt sind;
  • 3 ein Blockdiagramm eines Softwaresystems zum Darstellen von Detailniveau-Näherungen einer Masche nach der dargestellten Ausführungsform der Erfindung;
  • 4(a–d) Darstellungen einer Folge von Maschen (mit 192 Seitenflächen und ε = 9,0 Toleranz (4(a)); 1.070 Seitenflächen und ε = 2,75 Toleranz (4(b)); und 15.842 Seitenflächen und ε = 0,1 Toleranz (4(c–d)) , die nach der bekannten MRA-Lösung konstruiert sind, um eine ur sprüngliche beliebige Masche M anzunähern, und die zeigen, daß im Vergleich mit den Maschen, die mit Hilfe der in den 8(a–d) dargestellten Ausführungsform der Erfindung konstruiert sind, die bekannte MRA-Lösung die beliebige Masche M nicht exakt wiedergewinnt, mit Oberflächenfalten nicht effektiv umgehen kann und Detailniveau-Näherungen der beliebigen Masche M mit geringerer Qualität erzeugt;
  • 5 ein Blockdiagramm eines Computersystems, das genutzt werden kann, um ein Verfahren und eine Vorrichtung zu implementieren, die der Erfindung zum Speichern, Übertragen und Bearbeiten von Darstellungen von progressiven Maschen mittels einer PM-Repräsentation auszuführen;
  • 6 ein Blockdiagramm von Abschnitten von beispielhaften Anfangs- und Ergebnis-Dreiecksmaschen, welches zwei inverse Maschentransformationen darstellt, eine Kanten-Kollaps-Operation und eine Scheitelpunkt-Teilungsoperation;
  • 7 ein Blockdiagramm einer PM-Repräsentation-Datenstruktur zum Repräsentieren einer Folge von Detailniveau-Näherungen einer beliebigen ursprünglichen Masche M nach der dargestellten Ausführungsform der Erfindung;
  • 8(a–d) Darstellungen von drei beispielhaften Maschen (M0 mit 50 Seitenflächen in 8(a); M75 mit 200 Seitenflächen in 8(b); und M475 mit 1.000 Seitenflächen in den 8(i–d)) aus einer Folge von progressiven Maschen, die in einer beispielhaften PM-Repräsentation nach der dargestellten Ausführungsform der Erfindung spezifiziert sind;
  • 9(a) ein Floßdiagramm eines Verfahrens zum Erzeugen von Geomorphen zwischen zwei Maschen in einer PM-Repräsentation nach der dargestellten Ausführungsform;
  • 9(b) ein Flußdiagramm eines Verfahrens zum Evaluieren der mit Hilfe des Verfahrens nach 9(a) erzeugten Geomorphs; 10(a–j) Darstellungen von beispielhaften Geomorphen (a), die zwischen zwei Maschen definiert sind, MG(0) ≌ M175 (mit 500 Seitenflächen), MG(1) = M425 (mit 1.000 Seitenflächen), in einer PM-Repräsentation der progressiven Maschenfolge nach 24 spezifiziert sind und bei α = {0,0, 0,25, 0,50, 0,75 und 0,1} evaluiert sind;
  • 11 ein Blockdiagramm eines Systems nach der dargestellten Ausführungsform der Erfindung zum progressiven Übertragen und zum Anzeigen von Darstellungen eines dreidimensionalen Objekts auf Basis der PM-Repräsentation;
  • 12(a–b) Floßdiagramme eines Übertragungsverfahrens und eines Empfangsverfahrens in dem System nach 11 zum aufeinanderfolgenden Übertragen und interaktiven Anzeigen von Darstellungen auf Basis der PM-Repräsentation;
  • 13 ein Blockdiagramm einer Scheitelpunkt-Spalttransformation, die in einer PM-Repräsentation spezifiziert ist, wobei das Kodieren von Attributen in einer Scheitelpunkt-Spaltaufzeichnung mit voraussagendem Kodieren und Delta-Kodieren für Maschenkompression dargestellt ist;
  • 14 ein Floßdiagramm eines Verfahrens nach der dargestellten Ausführungsform der Erfindung zum selektiven Verbessern einer Masche auf Basis der PM-Repräsentation nach 7;
  • 15 ein Floßdiagramm eines alternativen Verfahrens nach der dargestellten Ausführungsform der Erfindung zum selektiven Verbessern einer Masche auf Basis der PM-Repräsentation nach 7 und mit einer Bedingeng des nächstliegenden, lebenden Nachfolgers ("closest living ancestor condition");
  • 16(a–b) Darstellung beispielhafter Maschen, die mittels selektiver Verbesserung innerhalb eines Darstellungsstumpfes nach den Verfahren in den 14 (mit 9.462 Seitenflächen nach 16(a)) bzw. 15 (mit 12.169 Seitenflächen nach 16(b)) erzeugt wurden;
  • 17 ein Floßdiagramm einer weiteren Modifikation der Verfahren in den 13 und 14 zum selektiven Verbessern einer Masche auf Basis der PM-Repräsentation nach 7, bei der in der Nähe von Silhouetten-Kanten und des Darstellers mehr Details erhalten bleiben;
  • 18(a–b) Darstellungen einer beispielhaften Masche (mit 7.438 Seitenflächen), die mittels selektiver Verbesserung innerhalb eines Darstellungsstumpfes nach dem Verfahren in 17 erzeugt wurde;
  • 19 ein Floßdiagramm eines Maschen-Vereinfachungsverfahrens nach der dargestellten Ausführungsform der Erfindung zum Konstruieren der PM-Repräsentation einer beliebigen Masche;
  • 20 eine Grafik der Genauigkeit in Abhängigkeit von der Bündigkeit, welche die Ergebnisse des Maschen-Vereinfachungsverfahrens nach 19 zeigt;
  • 21(a–c) Darstellungen einer vereinfachten Masche (21(b–d)), die gemäß dem Vereinfachungsverfahren nach 19 aus einer beispielhaften, beliebigen Masche (21(a) – eine Masche mit regelmäßiger Verbindbarkeit, deren Scheitelpunkt-Farben den Pixeln eines Bildes entsprechen) erzeugt ist, und die Erhaltung eines komplexen, skalaren Attribut-Feldes (d. h. Farbe) zeigt;
  • 22(a–c) Darstellungen einer vereinfachten Masche (22(b–c)) mit 10.000 Seitenflächen, welche aus einer beispielhaften, beliebigen Masche ( 22(a)) mit 150.983 Seitenflächen nach dem Vereinfachungsverfahren in 19 erzeugt wurde, wobei die Erhaltung eines skalaren Attributes gezeigt ist ("radiosity");
  • 23(a–d) Darstellungen einer vereinfachten Masche (23(c–d)) mit 3.000 Seitenflächen, die aus einer ursprünglichen, beliebigen Masche ( 23(a–b)) mit 19.458 Seitenflächen nach dem Vereinfachungsverfahren in 19 erzeugt wurde, wobei die Erhaltung einer Gesamterscheinung (einschließlich der Geometrie und der Attribute) gezeigt ist;
  • 24(a–d) Darstellungen von drei beispielhaften Maschen (M0 mit 150 Seitenflächen in 24(b); M425 mit 1.000 Seitenflächen in 24(c); und M1.925 mit 4.000 Seitenflächen in 24(d)) aus einer Folge von aufeinander folgenden Maschen, die gemäß dem Vereinfachungsverfahren in 19 aus einer beispielhaften, beliebigen Anfangsmasche M mit 13.546 Seitenflächen (24(a)) gebildet sind;
  • 25(a–c) Darstellungen von beispielhaften, vereinfachten Maschen (jeweils mit 2.000 Seitenflächen), die gemäß Variationen des Vereinfachungsverfahrens in 19 (25(a) mit Edisc; 25(b) mit fixierter Unstetigkeitskurven-Topologie; und 25(c) mit Edisc und mit geänderter Unstetigkeitskurven-Topologie) erzeugt wurden, wobei die Erhaltung der Geometrie der Unstätigkeitskurven gezeigt ist; und
  • 26 ein Blockdiagramm einer Geomorph-Datenstruktur zum Repräsentieren eines Geomorphs zwischen zwei Maschen der PM-Repräsentation nach 7, welcher nach dem Geomorph-Konstruktionsverfahren in 9(a) konstruiert ist.
  • Gemäß 5 ist eine Betriebsumgebung für eine dargestellte Ausführungsform der Erfindung ein Computersystem 50 mit einem Computer 52, welcher wenigstens ein Hochgeschwindigkeits-Verarbeitungseinheit (CPU) 54 in Verbindung mit einem Speichersystem 56, eine Eingabeeinrichtung 58 und eine Ausgabeeinrichtung 60 umfaßt. Diese Elemente sind mit Hilfe wenigstens einer Busstruktur 62 verbunden.
  • Die dargestellte CPU 54 ist von bekanntem Design und umfaßt eine ALU 64 zum Ausführen von Berechnungen, eine Anordnung von Registern 66 zur zeitweisen Speicherung von Daten und Instruktionen sowie eine Steuereinheit 68 zum Steuern des Betriebs des Systems 50. Die CPU 54 kann von beliebiger Architektur sein, einschließlich Alpha von Digital, MIPS von MIPS Technology, NEC, IDT, Siemens oder anderen, x86 von Intel oder anderen, einschließlich Cyrix, AMD und Nexgen oder des PowerPC von IBM und Motorola.
  • Das Speichersystem 56 umfaßt allgemein einen Hochgeschwindigkeits-Hauptspeicher 70, beispielsweise in Form eines Direktzugriffsspeichers (RAM) oder eines Festwertspeichers (ROM) als Halbleitereinrichtungen, und einen zweiten Speicher 72 in Form von Langzeitspeichermedien, beispielsweise Disketten ("floppy disks"), Festplatten, ein Band, eine CD-ROM, Flash-Speicher oder andere Geräte, die Daten mit Hilfe elektrischer, magnetischer optischer oder anderer Aufzeichnungsmedien speichern. Der Hauptspeicher 70 kann auch einen Videoanzeigespeicher zum Anzeigen von Bildern über eine Anzeigeeinrichtung umfassen. Für den Fachmann ergibt sich, daß der Speicher 56 verschiedene alternative Komponenten umfassen kann, die unterschiedliche Speicherkapazitäten aufweisen.
  • Die Eingabe- und die Ausgabeeinrichtung 58, 60 sind ebenfalls bekannt. Die Eingabeeinrichtung 58 kann eine Tastatur, eine Maus, einen physikalischen Wandler (beispielsweise ein Mikrophon) oder dergleichen umfassen. Die Ausgabeeinrichtung 60 kann eine Anzeige, einen Drucker, einen Wandler (beispielsweise einen Lautsprecher) oder dergleichen umfassen. Einige Einrichtungen, beispielsweise eine Netzwerkschnittstelle oder ein Modem, können als Eingabe- und/oder Ausgabeeinrichtungen verwendet werden.
  • Es ist dem Fachmann bekannt, daß das Computersystem 5O weiterhin ein Betriebssystem und wenigstens ein Anwendungsprogramm umfaßt. Das Betriebssystem ist die Softwarefolge, welche den Betrieb des Computersystems und die Zuordnung von Ressourcen steuert. Das Anwendungsprogramm ist die Softwarefolge, die eine von dem Nutzer gewünschte Aufgabe ausführt, wobei die Computerressourcen durch das Betriebssystem verfügbar gemacht werden. Beide befinden sich in dem dargestellten Speichersystem 56.
  • Gemäß der Praxis des Fachmanns auf dem Gebiet der Computerprogrammierung wird die Erfindung im folgenden unter Bezugnahme auf Handlungen und symbolische Repräsentationen von Operationen beschrieben, die mit Hilfe des Computersystems 50 ausgeführt werden, sofern diese nicht anders angezeigt wird. Solche Handlungen und Operationen werden manchmal als vom Computer ausgeführt bezeichnet. Es wird darauf hingewiesen, daß die Handlungen und symbolisch repräsentierten Operationen die Beeinflussung elektrischer Signale, die Datenbits repräsentieren, mit Hilfe der CPU 54 umfassen, wobei die Datenbits eine sich ergebende Transformation oder Reduktion und die Erhaltung der Datenbits in Speicherplätzen im Speichersystem 56 verursachen, um den Betrieb des Computersystems hierdurch zu rekonfigurieren oder in anderer Weise zu ändern, als auch andere Verarbeitungen von Signalen veranlassen. Die Speicherplätze, in denen Datenbits erhalten bleiben, sind physikalische Plätze, die entsprechend den Datenbits spezielle elektrische, magnetische oder optische Eigenschaften aufweisen. Der Begriff "Spezifizieren" wird hierin manchmal für die Handlung zum Kodieren von Datenbits als Repräsentationen von physikalischen Objekten, Aktivitäten, Eigenschaften oder Charakteristika und Beziehungen benutzt.
  • Überblick über Maschen.
  • Gemäß 6 nutzt das Computersystem 50 (5) eine progressive bzw. zunehmende Maschenrepräsentation ("PM") zum Modellieren von dreidimensionalen Objekten für die Grafikdarstellung als polygonale Maschen mit unterschiedlichen Detailniveaus. Zur Vereinfachung arbeitet die PM-Repräsentation in der dargestellten Ausführungform mit dreieckigen Maschen (vgl. Diskussion oben). Die PM-Repräsentation der dargestellten Ausführungsform kann mit allgemeineren Maschen arbeiten, beispielsweise solche, die n-seitige Seitenflächen und Seitenflächen mit Löchern enthalten, indem die allgemeinere Masche in eine Dreiecksmasche bzw. dreieckige Masche mit Hilfe herkömmlicher Triangulationsprozesse umgewandelt wird (beispielsweise werden Kanten zu unterteilten polygonalen Seitenflächen der Masche hinzugefügt, die mehr als drei Seiten in dreieckigen Seitenflächen aufweisen). Alternativ können Kanten-Kollaps-Transformationen (vgl. unten) auf die Seiten von polygonalen Seitenflächen mit mehr als drei Seiten angewendet werden, um eine dreieckige Masche zu erzeugen. Es wird darauf hingewiesen, daß die PM-Repräsentation in alternativen Ausführungsformen der Erfindung verallgemeinert werden kann, um, direkt mit allgemeineren Maschen (d. h. ohne vorherige Triangulation) zu arbeiten, was jedoch zu komplexeren Datenstrukturen führt.
  • Überblick über progressive Maschenrepräsentation..
  • Gemäß den 1 und 2 beschreibt Hoppe93 (vgl. oben) einen Maschenoptimierungsverfahren, das genutzt werden kann, um eine Anfangsmasche M durch eine viel einfachere Masche anzunähern. Dieses Maschenoptimierungsverfahren durchläuft den Raum der möglichen Maschen (wie oben unter Bezugnahme auf die Grafik in 2 diskutiert wurde) mittels sukzessiven Anwendens einer Folge von drei Maschentransformationen: Kanten-Kollaps, Kantenteilung und Kantentausch.
  • Gemäß 6 haben die Erfinder festgestellt, daß tatsächlich eine einzelne solcher Transformationen, der Kanten-Kollaps, welcher hier als ecol ({vs,vt}) bezeichnet ist, ausreichend ist zum effektiven Vereinfachen einer Masche. So vereinigt eine Kanten-Kolläps-Transformation 110 zwei benachbarte Scheitelpunkte vs 86 und vt 89 der Masche 80 in einem einzelnen Scheitelpunkt vs 86', um eine sich ergebende, einfachere Masche 112 zu bilden. Der Scheitelpunkt vt 89 und die zwei benachbarten Seitenflächen {vs,vt,vl} 100 und {vs,vt,vr} 101 der ursprünglichen Masche 80 verschwinden in diesem Prozeß. Eine Position vs ist für den neuen vereinigten Scheitelpunkt 86' spezifiziert.
  • Eine Anfangsmasche M = Mn kann deshalb in eine gröbere Masche M0 vereinfacht werden (beispielsweise mit Hilfe des im folgenden näher beschriebenen Maschenvereinfachungsverfahrens), indem eine Folge von n aufeinanderfolgenden Kanten-Kollaps-Transformationen angewendet wird: (M = Mn) ecoln–1 → Mn–1... ecoll → M1 ecol0 → M0 (5)
  • Die spezielle Folge von Kanten-Kollaps-Transformationen muß ausgewählt werden, weil sie die Qualität der genäherten Maschen M1, i < n, bestimmt. m0 ist die Anzahl der Scheitelpunkte in M0, die Scheitelpunkte der Masche M1 werden hier als V1 = {v1,...,vm0+i} bezeichnet, so daß der Scheitelpunkt vm0+i+1 durch ecoli entfernt wird. Weil Scheitelpunkte unterschiedliche Positionen in den unterschiedlichen Maschen aufweisen können, wird die Position von v in Mi hier mit vj i bezeichnet.
  • Eine wesentliche Beobachtung besteht darin, daß eine Kanten-Kollaps-Transformation umkehrbar ist. Die inverse Transformation wird hier als Scheitelpunkt-Teilung bzw. -Spaltung 116 bezeichnet. Eine Scheitelpunkt-Spalttransformation, die hier als vsplit (vs, vl, vr, vt, A) bezeichnet wird, fügt nahe dem Scheitelpunkte vs 86' einen neuen Scheitelpunkt (d. h. den vorher entfernten Scheitelpunkt vt 89) und zwei neue Seitenflächen (d. h. die vorher entfernten Seitenflächen {vs,vt,vl} 100 und {vs,vt,vr}101) gemäß den zwei Seitenscheitelpunkten vl 87 und vr 88 hinzu. (Wenn die Kante {vs, vt} 92 eine Grenzkante ist, so ist vr = 0 und nur eine Seitenfläche wird addiert.) Die Transformation aktualisiert darüber hinaus die Attribute der Masche in der Nachbarschaft der Transformation. Diese Attributinformation, die mit A bezeichnet wird, umfaßt die Postionen vs und vt der zwei beeinflußten Scheitelpunkte, die diskreten Attribute d{vs,vt,vl} und d{vs,vt,vr} der zwei neuen Seitenflächen und die skalaren Attribute der beeinflußten Ecken (s(vs,•), s(vt,•), s(vl,{vs,vt,vl}) und s(vr,{vs,vt,vr}).
  • Weil die Kanten-Kollaps-Transformationen umkehrbar sind, kann eine beliebige dreieckige Masche M gemäß 7 nach der dargestellten Ausführungsform der Erfindung als eine Datenstruktur 130 repräsentiert werden, die eine Basismaschen-Aufzeichnung 132, welche die einfache Masche M0 (im folgenden: die "Basismasche") spezifiziert, zusammen mit einer Folge 134 von n vsplit-Aufzeichnungen 136 umfaßt, die eine Folge Scheitelpunkt-Spalttransformationen spezifiziert, welche die beliebige Masche M aus der Basismasche M0 rekonstruieren: M0 vsplit0 → M1 vsplit1 →...vsplitn–1 → (Mn = M) (6),wobei die vsplit-Aufzeichnungen als vspliti (si, li, ri, Ai) parametrisiert sind. Die Datenstruktur (M0, {vsplit0,...,vsplitn–1}) 130 wird hier als progressive Maschenrepräsentation (PM) der beliebigen Masche M bezeichnet.
  • Eine wesentliche Eigenschaft (im folgenden: "Vollständigkeit") der Scheitelpunkt-Spalttransformation besteht darin, daß eine Masche mit irgendeiner beliebigen, einfachen Komplexen KA aus einer Masche mit einer minimalen, einfachen Komplexen KM des selben topologischen Typs mit Hilfe einer Folge von einer oder mehreren der Transformationen konstruiert werden kann. (Die 4-zu-l-Seitenflächert-Spalttransformation, welche in der oben diskutierten, bekannten MRA-Lösung genutzt wird, ist in diesem Sinne nicht vollständig, weil eine Folge dieser Seitenflächen-Spalttransformationen nur eine Näherung zu irgendeiner beliebigen Masche aus einer minimalen Masche des selben topologischen Typs konstruieren kann, welche Unterteilungsverbindbarkeit aufweist.) Weil die Scheitelpunkt-Spalttransformation in diesem Sinne vollständig ist, kann jede beliebige Masche mit Hilfe der dargestellten PM-Repräsentation exakt wiedergegeben werden. In ähnlicher Weise ist eine Folge von einer oder mehreren Maschentransformationen auch vollständig, wenn eine Masche mit irgendeiner beliebigen, einfachen Komplexen KA aus einer minimalen, einfachen Komplexen KM des selben topologischen Typs mit Hilfe einer Folge von Transformationen aus der Folge konstruiert werden kann. Obwohl Scheitelpunkt-Spalttransformationen in der Folge von Aufzeichnungen in der PM-Repräsentation der dargestellten Ausführungsform spezifiziert sind, können die Aufzeichnungen in einer PM-Repräsentation dementsprechend alternativ eine Folge von Maschentransformationen spezifizieren, die anders als die Scheitelpunkt-Spalttransformation vollständig ist. Beispielsweise ist eine Folge mit der 4-zu-1-Seitenfläche-Teiltransformation plus einer Scheitelpunkt-Spalttransformation vollständig und kann in der Folge von Aufzeichnungen in einer PM-Repräsentation einer alternativen Ausführungsform der Erfindung spezifiziert werden.
  • In der PM-Repräsentation 130 der dargestellten Ausführungsform umfaßt die Basismaschen-Aufzeichnung 132 eine einfache Komplextabelle 140, eine Scheitelpunktposition-Tabelle 142, eine diskrete Attributtabelle 144 und skalare Attributtabelle 146, welche Informationen über das Tupel M0 = (K0, V0, D0, S0) enthalten, welches die Basismasche M0 definiert. Die Scheitelpunktposition-Tabelle 142 enthält m0 Positionsaufzeichnungen 150151 für jeden Scheitelpunkt des Basismasche M0 mit den Koordinatenwerten des Scheitelpunkts (x,y,z). In der dargestellten Scheitelpunktposition-Tabelle 142 sind die Positionsaufzeichnungen 150151 gemäß den Scheitelpunktindizes indiziert, die mit den Indizes der Basismasche M0 in Verbindung stehen.
  • Die einfache Komplextabelle 140 enthält Seitenflächen-Aufzeichnungen 154155 für jede Seitenfläche in der Basismasche M0 mit den Indizes der Scheitelpunkte dieser Seitenfläche {vj,vk, vl}. Diese Scheitelpunkt-Informationen in den Seitenflächen-Aufzeichnungen definieren explizit jede Seitenfläche der Basismasche M0 und implizit die Kanten und Ecken der Basismasche M0. Bei alternativen Ausführungsformen kann die Basismaschen-Aufzeichnung 132 Informationen enthalten, die die Kanten und Ecken explizit definieren, beispielsweise Aufzeichnungen, die Indexpaare benachbarter Scheitelpunkte enthalten, um die Kanten und die Aufzeichnungen zu definieren, die Indizes von Tupeln mit Scheitelpunktindex und Seitenflächenindex enthalten, um die Ecken zu definieren. In der dargestellten einfachen Komplextabelle, sind die Seitenflächen-Aufzeichnungen 154155 gemäß Seitenflächenindizes indiziert, die den Seitenflächen der Basismasche M0 zugeordnet sind.
  • Die diskrete Attributtabelle 144 enthält Aufzeichnungen 158159 mit Information (d. h. einen Attributwert und einen Seitenflächenindex), die die diskreten Attributwerte definiert, welche den Seitenflächen der Basismasche M0 zugeordnet sind. Die skalare Attributtabelle 146 enthält Aufzeichnungen 162164 mit Informationen (einen Attributwert und ein Tupel mit Scheitelpunktindex und Seitenflächenindex), die skalare Attribute definiert, die den Ecken der Basismasche M0 zugeordnet sind. Obwohl die Basismaschen-Aufzeichnungen 132 mit einer einzelnen diskreten Attributtabelle 144 und einer einzelnen skalaren Attributtabelle 146 dargestellt ist, kann sie getrennte Attributtabellen für jedes von mehreren unterschiedlichen diskreten und skalaren Attributen (beispielsweise Materialidentifizierer, Schattierungsfiznktionsparameter, diffuse Farbe, Normale, Textur-Koordinaten oder dergleichen) der Basismasche M0 enthalten.
  • Die Scheitelpunkt-Spaltaufzeichnungen 136 in der Folge 134 spezifizieren Scheitelpunkt-Spalttransformationen, die die beliebige ursprüngliche Masche aus der Basismasche M0 rekonstruieren. Im allgemeinen umfaßt die Information in jeder der Scheitelpunkt-Spaltaufzeichnungen Indizes der Scheitelpunkte vs86, vt87 und vr88 (6); die Positionskoordinaten v n / s und v n / t der Scheitelpunkte vs86 und vt89 (6); die diskreten Attribute d{vs, vt,vl} und d{vs,vt,vr} der Seitenflächen –100 und 101 ( 6) und die skalaren Attribute s(vs,•) s(vy,•), s(vl,{vs,vt,vl}) und s(vr,{vs,vt,vr}) der Ecken der Seitenflächen 100 und 101. Bei alternativen Ausführungsformen können die Scheitelpunkt-Spaltaufzeichnungen die Scheitelpunkte vs, vl und vr indirekt spezifizieren, beispielsweise mit Hilfe des Indexes einer Nachbarseitenfläche (beispielsweise einer, die die Scheitelpunkte vs und vi umfaßt) und von Bits, die die Scheitelpunkte aus solchen identifizieren, die zu der Fläche benachbart sind (beispielsweise werden vs und vl aus den Scheitelpunkten der Seitenfläche oder vr aus den Scheitelpunkten benachbart zu der Fläche identifiziert).
  • Beispielsweise wurde die beispielhafte beliebige Anfangsmasche M nach 1(a) (mit 12.946 Seitenflächen) gemäß den 8(a–d) abwärts zu der groben Masche M0170 nach 8(a) (mit 50 Seitenflächen) vereinfacht, indem 6.448 Kanten-Kollaps-Transformationen genutzt wurden. Die PM-Repräsentation von M (1) umfaßt eine Basismaschen-Aufzeichnung, die M0 zusammen mit einer Folge von n = 6.448 vsplit-Aufzeichnungen spezifiziert. Von dieser PM-Repräsentation können Näherungsmaschen mit einer beliebigen gewünschten Anzahl von Seitenflächen innerhalb von ±1 extrahiert werden, indem auf M0 ein Präfix der vsplit-Folge angewendet wird. Beispielsweise zeigen 8(b–d) zwei Näherungsmaschen mit 200 und 1.000 Seitenflächen aus der progressiven Maschenfolge.
  • In der dargestellten Ausführungsform wird die Datenstruktur der PM-Repräsentation 130, die oben beschrieben ist, wobei die einfache Komplextabelle 140 Seitenflächen-Aufzeichnungen 154155 auflistet, die Scheitelpunktindizes jeder Seitenfläche enthalten, zu Speicherzwecken genutzt (beispielsweise Speicherung der progressiven Maschen auf der Festplatte des Computersystems 50 in 5). Zur Laufzeit nutzt die dargestellte Ausführungsform eine kantenbasierte Datenstruktur für die einfache Komplextabelle 140, um auch die Nachbarschaft bzw. das Angrenzen von Seitenflächen zu kodieren. Dieses ermöglicht ein effizientes Verarbeiten von Anfragen, beispielsweise, welche Seitenflächen zu der Seitenfläche f benachbart sind, und welche Seitenflächen zu dem Scheitelpunkt v benachbart sind. Geeignete kantenbasierte Datenstrukturen sind bekannt und umfassen die Flügel-Kanten-Datenstruktur, die in K. Weiler, Edge-based Data Structures for Solid Modeling in Curved-surface Environments, IEEE CG&A 5(1): 21–40 (Januar 1985) beschrieben ist.
  • In einigen alternativen Ausführungsformen der Erfindung können die Scheitelpunkt-Spaltaufzeichnungen 136 Informationen kodieren, um die Attribute der Masche vor und nach dem Anwenden der Scheitelpunkt-Spalttransformation spezifizieren. Dieses erlaubt ein Durchlaufen der progressiven Maschenfolge in beiden Richtungen. Mit anderen Worten bedeutet dies, daß eine gegebene Masche in der progressiven Maschenfolge mit Hilfe des An wendens von in folgenden (noch nicht angewendeten) Scheitelpunkt-Spaltaufzeichnungen spezifizierten Scheitelpunkt-Spalttransformationen verbessert oder mit Hilfe des Umkehrens von in vorhergehenden (vorher angewendeten) Scheitelpunkt-Spaltaufzeichnungen wie gewünscht vereinfacht werden kann. In einem Minimum spezifiziert die hinzugefügte Information die Scheitelpunkt-Position vs in der Masche, bevor die Scheitelpunkt-Spalttransformation angewendet wird. Andere Attribute der Seitenflächen 102'107' (6) und Ecken, die vor dem Anwenden der Scheitelpunkt-Spalttransformation präsent sind, können in den Scheitelpunkt-Spaltaufzeichnungen auch kodiert werden, wenn sie durch die Scheitelpunkt-Spalttransformation verändert werden.
  • Geomorphe.
  • Eine vorteilhafte Eigenschaft der Scheitelpunkt-Spalttransformation (und seiner Inversion, Kanten-Kollaps) besteht darin, daß zwischen den Maschen Mi und Mi+1 in Mi vspliti → Mi+1 ein glatter sichtbarer Übergang (ein Geomorph) erzeugt werden kann. Mit der Annahme, daß die Maschen keine von den Scheitelpunkt-Positionen unterschiedenen Attribute enthalten, werden die Scheitelpunkt-Spaltaufzeihhungen 136 (7) jeweils kodiert als vspliti (si,li,ri, Ai =(vsi i+1, vm0+i+1 i+1)), wobei si, li, ri die Indizes der Scheitelpunkte vsi, vli und vri sind. (Mit anderen Worten bedeutet dies, daß die Scheitelpunkt-Spaltaufzeichnung 136 die Scheitelpunktindez und die Positionswerte umfaßt, aber nicht die diskreten und die skalaren Attributwerte aus 7.) Ein Geomorph MG(α) wird mit dem Schachtelparameter 0 ≤ α ≤ 1 erzeugt, so daß MG(0) wie Mi und MG(1) wie Mi+1 aussehen, wobei tatsächlich MG(1) = Mi+1, indem eine Masche definiert wird MG(α) = (Ki+1 + VG(α)) (7)deren Verbindbarkeit die von Mi+1 ist und deren Scheitelpunkt-Positionen linear von vsi ∊ Mi interpolieren, um Scheitelpunkte vsi, vm0+i+1 ∊ Mi+1 zu teilen:
    Figure 00210001
  • Mit Hilfe der Nutzung solcher Geomorphe kann eine Anwendung glatt von einer Masche Mi zu Maschen Mi+1 oder Mi–1 ohne sichtbares "Klenunen" der Maschen übergehen, indem der Wert von α variiert wird.
  • Weil darüber hinaus jede einzelne vsplit/ecol-Transformation glatt übergehen kann, gilt dies für jede Zusammensetzung irgendeiner Folge hiervon. Bei zwei beliebigen, gegebenen Maschen, einer gröberen Masche Mc und einer feineren Masche Mf, 0 ≤ c ≤ f ≤ n, in der Folge von Maschen M0... Mn, die mittels der PM-Repräsentation kodiert sind, kann deshalb ein glatter Geomorph (a) definiert werden, beispielsweise sieht MG(0) Mc ähnlich und MG (1)Mf. Um M0 zu erhalten, wird jeder Scheitelpunkt vj von Mf mit seinem Nachfolger in Mc verbunden. Der Index Ac(j) dieses Nachfolgerscheitelpunkts wird mittels rekursiver Rückverfolgung durch die vsplit-Transformationen gefunden, die zur Erzeugung von vj führen:
    Figure 00220001
  • (In der Praxis wird diese Nachfolger-Information Ac vorwärts gewonnen, wenn die Masche verbessert wird.) Der Geomorph M0(α) wird durch MG(α) = (Kf,VG(α)) definiert, um die Verbindbarkeit von Mf und den Scheitelpunkt-Positionen zu definieren:
    Figure 00220002
  • Bisher hat die obige Diskussion die Konstruktion von Geomorphen zwischen PM-Maschen ausgefiihrt, die nur Positionsattribute aufweisen. Tatsächlich können Geomorphe für Maschen konstruiert werden, die diskrete und skalare Attribute enthalten.
  • Wegen ihrer Natur können diskrete Attribute glatt interpoliert werden. Vorteilhafterweise sind diese diskreten Attribute mit Seitenflächen der Masche verbunden, und die "geometrischen" Geomorphe, die oben beschrieben sind, führen Seitenflächen glatt ein. Insbesondere wird beobachtet, daß die Seitenflächen von Mc eine geeignete Teilfolge der Seitenflächen von Mf sind und das solche Seitenflächen von Mf, die von Mc fehlen, in MG(0) unsichtbar sind, weil sie kollabiert sind, um (Nullfläche-) Dreiecke, zu löschen. Wenn α von 0 bis 1 variiert wird, wachsen deshalb diese Dreiecke von Nullfläche-Dreiecken in MG(0) zu ihrer vollen Größe in MG(1) = Mf. Vorhergehende Geomorph-Schemata (solche, wie sie in J. M. Lounsberry, Multiresolution Analysis for Surfaces of Arbitrary Topological Type, Doktorarbeit, Department of Computer Science and Engineering, University of Washington, (1994); Lounsberryetal94; and Turk92 beschrieben werden) definieren sich wohl verhaltende (invertierbare) Parametrisierungen zwischen Maschen bei unterschiedlichen Detailniveaus. Solche Parametrisierungen erlauben nicht die Konstruktion von Geomorphen zwischen Maschen mit unterschiedlichen diskreten Attributen. Im Gegensatz dazu definieren Geomorphe der PM-Repräsentations-Maschen nicht invertierbare Abbildungen von Mf zu Mc, in welchen Seitenflächen von Mf, die bei Mc fehlen, auf Kanten oder Scheitelpunkte von Mc abgebildet werden. Dieses Abbilden macht einen glatten sichtbaren Übergang von Maschen mit diskreten Attributen möglich.
  • Auf Ecken definierte Skalarattribute können sehr ähnlich zu den Scheitelpunkt-Positionen glatt interpoliert werden. Es existiert eine kleine Komplikation, der Art, daß eine Ecke (v,f) die in einer Masche M vorhanden ist, nicht irgendeiner "Nachfolgeecke" in einer gröberen Masche Mc zugeordnet werden kann, wenn f nicht eine Seitenfläche von Mc ist. Der Attributwert, welchen die Ecke (v,f) in Mc haben würde, kann abgeleitet werden, indem die Masche Mi+1 untersucht wird, in welcher f zuerst eingeführt, eine Nachbarecke (v,f) in Mi+1 lokalisiert, deren Attributwert der gleiche ist, und hiervon zu einer Ecke in Mc rekursiv zurückverfolgt wird. Wenn keine Nachbarecke in Mi+1 mit einem identischen Attributwert existiert, hat die Ecke (v,f) kein Äquivalent in Mc und sein Attribut wird deshalb durch den Geomorph konstant gehalten.
  • Die Interpolationsfunktion auf den skalaren Attributen muß nicht linear sein; beispielsweise werden Normale am besten über die Einheitskugel interpoliert, und Farben können am besten im Hue-Sättigungswert-Raum ("HSV") interpoliert werden (obwohl in dem dargestellten Ausfülvungsbeispiel Farben zur Effizienz im Rot-Grün-Blau-Raum ("RGB") interpoliert werden).
  • Die Interpolationsfunktion für Scheitelpunkt-Positionen muß ebenfalls nicht linear sein. In einigen Ausführungsformen der Erfindung können die Scheitelpunkt-Positionen des Geomorphs beispielsweise wie folgt definiert sein vG(α) = (α(α))vf + (1 – α(α))vc, wobei die Funktion α(α) = 0,5 + 0,5 sin((α – 0,5)π) (d. h. eine nicht lineare Funktion in α im Gegensatz zu einer linearen Funktion wie α(α) = α). Diese nicht lineare Funktion α(α) liefert eine Interpolation für 0 ≤ α ≤ 1, hat jedoch eine Ableitung von 0 bei 0 und 1. Dieses führt zu einem "langsam ein/langsam aus"-Interpolationsverhalten.
  • Gemäß 9(a) führt das dargestellte Computersystem 50 (5) ein Verfahren 190 zum Konstruieren von Geomorphen aus, um glatte Übergänge zwischen zwei beliebigen, progressiven Maschen in einer PM-Repräsentation anzuzeigen. Das Verfahren 190 kann als ein Kodemodulimplementiert werden, welches beispielsweise eine Komponente einer auf dem Computersystem 50 zum Anzeigen von 3D-Grafiken laufenden Softwareanwendungen bildet. Das Verfahren 190 ist allgemein ein Vorprozeß des Geomorph-Bewertungs- und -Anzeige-Verfahrens in 9(b).
  • Das Verfahren 190 beginnt mit Schritten 192193 mit dem Auswählen der gröberen Maschen Mc und der feineren Masche Mf aus aufeinanderfolgenden Detailniveau-Maschen, die in einer PM-Repräsentation spezifiziert sind. Dieses Auswählen kann mit Hilfe der Softwareanwendung selbst ausgeführt werden. Wenn beispielsweise infolge einer Änderung des Sichtabstands zwischen Detailniveau-Näherungen übergegangen wird, wählt die Softwareanwendung die gröbere Masche als Anfangs-Detailniveau-Näherung und die feinere Masche als End-Detailniveau-Näherung aus. Alternativ kann die Softwareanwendung Nutzerschnittstellen-Steuerungen (beispielsweise eine Werteingangsbox oder eine Listenauswahlbox) zum Auswählen der gröberen und der feineren Masche durch den Computernutzer zur Verfügung stellen. Die unten beschriebene 3 stellt ein Softwaresystem mit Nutzerschnittstellen-Steuerungen zum Auswählen der gröberen und der feineren Masche dar.
  • Nach dem Auswählen der gröberen und der feineren Masche erzeugt das Computersystem 50 einen Geomorph (MG((α) = (KF,VG(α))) mit einer Verbindbarkeit (KF), die gleich zu der der ausgewählten feineren Masche im Schritt 194 ist. Die Positionen der Scheitelpunkte des Geomorphs variieren zwischen ihrer Position in der gröberen Masche und ihrer Position in der feineren Masche gemäß dem Wert des Schachtelparameters α. Im Schritt 195 werden die mit den Seitenflächen der ausgewählten feineren Masche in Verbindung stehenden, diskreten Attribute dann auf die entsprechenden Seitenflächen des Geomorphs abgebildet.
  • Gemäß 26 wird der mittels des Verfahrens 190 erzeugte Geomorph vorzugsweise als eine Geomorph-Datenstruktur 200 realisiert (mit einigen Ähnlichkeiten zu der der Basisma schen-Aufzeichnung 132 (7)), die in dem Speichersystem 56 des dargestellten Computersystems 50 (5) gespeichert werden kann. Diese dargestellte Geomorph-Datenstruktur 200 umfaßt eine einfachere Komplextabelle KF 202, eine Scheitelpunkt-Positionstabelle 203 VG(α) = {vl G(α),...,vM G(α)}, eine diskrete Attributtabelle 204 und eine skalare Attributtabelle 205. Die einfache Komplextabelle 202 umfaßt Seitenflächen-Aufzeichnungen 206–207, die Seitenflächen des Geomorphs repräsentieren. Wie in der einfachen Komplextabelle 140 der dargestellten PM-Repräsentation 130 (7) kodieren die Seitenflächen-Aufzeichnungen 206–207 Indizes der drei Scheitelpunkte {vj,vk,vl}, die jede Seitenfläche definieren.
  • Die Scheitelpunkt-Positionstabelle 203 enthält Scheitelpunktposition-Aufzeichnungen 208209, die Positionen der Scheitelpunkte des Geomorphs repräsentieren. Weil die Positionen der Scheitelpunkte des Geomorphs zwischen den Scheitelpunkt-Positionen in der feinen und der groben Masche gemäß dem Schachtelparameter α interpoliert werden, kodieren die Scheitelpunktposition-Aufzeichnungen 208209 diese Scheitelpunkt-Positionen in der feinen und der groben Masche, (xj c,yj c,zj c) und (xj f,yj f,zj f).
  • Die diskrete Attributtabelle 204 und die skalare Attributtabelle 205 umfassen Aufzeichnungen 210213, welche die skalaren und die diskreten Attributwerte der Seitenflächen und der Ecken des Geomorphs repräsentieren. Die skalaren Attributaufzeichnungen 212213 kodieren jeweils zwei skalare Attributwerte (sj c) und (sj f) der Ecken der groben und der feinen Masche zum Interpolieren des Werts der skalaren Attribute gemäß dem Schachtelparameter α.
  • Gemäß 9(b) führt das dargestellte Computersystem 50 (5) ein Verfahren 200 zum Bewerten und zum Anzeigen des mit dem Verfahren 190 konstruierten Geomorphs aus. Das Verfahren 200 bewertet typischerweise den Geomorph bei einer Folge von Werten des Schachtelparameters α, um einen glatten sichtbaren Übergang zwischen der groben und der feinen Masche zu bewirken, die in den Schritten 192, 193 des Verfahrens 190 ausgewählt wurden (9(a)). Das Verfahren 200 wiederholt deshalb eine Schleife von Schritten für jeden Wert des Schachtelparameters.
  • Im Schritt 202 des Verfahrens 200 wird der Wert des Schachtelparameters α ausgewählt. Dieser Wert kann mit Hilfe der Softwareanwendung oder durch den Computernutzer ausgewählt werden. Im Fall der Softwareanwendung wird α allgemein entlang einer Folge von Werten abgestuft, die den Geomorph zwischen der gröberen und der feineren Masche glatt überführen (beispielsweise 0, 0,25, 0,5, 0,75 und 1,0 im Beispiel des Geomorphs nach den 10(a–j)). Bei der Auswahl durch den Computernutzer liefert die Softwareanwendung eine Nutzerschnittstellen-Steuerung, welche den Wert von α setzt. Vorzugsweise wird eine Gleitsteuerung (beispielsweise eine Bildlauf- oder Drehknopfsteuerung) genutzt, um den Nutzer eine glatte Anderung des Werts von α zu ermöglichen. Alternativ kann die Softwareanwendung Werte in einer vordefinierten Folge auswählen.
  • Mit dem ausgewählten Wert von α interpoliert das Computersystem 50 dann die Scheitelpunkt-Positionen vj G(α) des Geomorphs MG gemäß dem ausgewählten Wert von α in einem Schritt 203, wie dieses oben mit der Formel (6) beschrieben ist. In einem Schritt 204 werden auch die skalaren Attribute des Geomorphs gemäß dem ausgewähltert Wert für α wie oben beschrieben interpoliert. Das Computersystem 50 regeneriert dann eine Darstellung auf Basis des Geomorphs und zeigt diese an im Schritt 205. Gemäß einem Schritt 206 werden dann die Schritte 202205 für andere ausgewählte Werte des Schachtelparameters α wiederholt.
  • Beispielhaft demonstrieren die 10(a–d) Darstellungen eines beispielhaften Geomorphs, der gemäß der dargestellten Ausführungsform zwischen zwei Maschen MG(0) = M175 (mit 500 Seitenflächen) und MG(1) = M425 (mit 1.000 Seitenflächen) konstruiert wird, die von der PM-Repräsentation der beispielhaften, ursprünglichen Masche M abgeleitet werden, die in 24(a) gezeigt ist und die progressiven Beispielmaschen in den 24(b–d) umfaßt.
  • Gemäß 3 nutzt ein Softwaresystem 420 nach der dargestellten Ausführungsform der Erfindung eine Anzahl von Geomorphen, die mittels der Verfahren 190 (9(a)) und 220 (9(b)) konstruiert wurden, zum Darstellen von Näherungen einer Masche mit kontinuierlich variierendem Detailniveau. Das Softwaresystem 420 umfaßt eine Nutzerschnittstelle 422, eine Grafikanwendung 424, eine Detailniveau-Näherungseinrichtung 426 und einen Anzeigentreiber 428. Ein Nutzer des Computersystems 50 (5) steuert mit der Nutzerschnittstelle das Detailniveau einer Maschenausgabe mit Hilfe der Detailniveau-Näherungseinrichtung 426. Die Grafikanwendung 424 und der Anzeigentreiber 428 ändern dann eine Darstellung der Masche und zeigen diese an.
  • Zum Setzen des Detailniveaus der Masche umfaßt die Nutzerschnittstelle 420 zwei Nutzerschnittstellen-Steuerungen, eine D-Gleitersteuerung 432 und eine T-Gleitersteuerung 434. Die Gleitersteuerungen 432, 434 sind vorzugsweise als Gleit-Nutzerschnittstellen-Steuerungen implementiert, beispielsweise Bildlaufleiste, können alternativ jedoch auch als Nutzerschnitt stellen-Steuerungen implementiert sein, welche eine Auswahl von Werten aus einem Bereich erlauben, beispielsweise Drehsteuerungen oder Texteingabeboxen. Die D-Gleitersteuerung 432 weist einen einzelnen Tabulator, Knopf oder eine einzelne Taste (dargestellt mittels des Konturpfeils in 3), welche(r) von dem Nutzer entlang eines Balkens mit Hilfe des Manipulierens einer Eingabeeinrichtung 58 des Computersystems 50 (5) verschoben werden kann, um hierdurch den Wert einer Detailvariablen D in einem Bereichs zwischen 0 und 1 zu variieren. Die T-Gleitersteuerung 434 umfaßt mehrere Tabulatoren, Knöpfe oder Tasten, welche in ähnlicher Weise von einem Nutzer entlang eines Balkens mit Hilfe des Manipulierens der Eingabeeinrichtung 58 verschoben werden können, um hierdurch die Werte einer Folge von Geomorph-Komplexitätsvariablen T0,...,Tg–1 in einem Bereich zwischen 0 und n zu variieren, wobei n die Anzahl von Maschen in der PM-Repräsentation der Masche ist. Die Nutzerschnittstelle gibt die Detail- und Geomorph-Komplexitätsvariablen D und T0,...,Tg+1 an die Grafikanwendung 424 aus, um das Detailniveau einer Masche zu steuern, die von der Detailniveau-Näherungseinrichtung 426 erzeugt wird. Vorzugsweise ist der Bereich der T-Gleitersteuerung 434 eine logarithmische Skale, so daß die Komplexität des Geomorphs bei einer linearen Bewegung der Steuerung exponentiell zunimmt. In alternativen Ausführungsformen der Erfindung kann die T-Gleitersteuerung 434 weggelassen werden, und die Werte der Folge der Geomorph-Komplexitätsvariablen T0,..., Tg+1 werden von der Grafikanwendung 424 festgelegt.
  • Die Ausgabevariablen D und T0,...,Tg+1 werden ihrerseits von der Grafikanwendung 424 an die Detailniveau-Näherungseinrichtung 426 übergeben. In der Detailniveau-Näherungseinrichtung bestimmen die Geomorph-Komplexitätsvariablen T0,...,Tg+1 die Komplexitäten einer Folge von groben und feinen Maschen aus den progressiven Maschen in einer PM-Repräsentation, aus welcher eine Folge von Geomorphen G0,...,Gg konstruiert wird. Die Detailvariable D wählt einen Geomorph aus der Folge von Geomorphen und den Wert des Schachtelparameters aus, bei dem der Geomorph bewertet wird, um eine Näherung der Masche mit einem gewünschten Detailniveau zu erzeugen.
  • Die Detailniveau-Näherungseinrichtung 426 umfaßt einen Interpolierer 436, einen PM-Repräsentationsblock 438 und eine Geomorphtabelle 440. Der Interpolierer 436 konvertiert den Wert der Detailvariablen D in einen Index j für einen Geomorph Gj aus der Folge der Geomorphe G0,...,Gg und einen Wert des Schachtelparameters α. Wenn beispielsweise zehn Geomorphe in der Folge G°,..., Trg existieren, kann der Interpolierer 436 den Bereich der Detailvariablen D zwischen 0,0 und 0,1 dem ersten Geomorph G0 zuweisen und den Schachtel- Parameter für diesen Geomorph als α = 10 D berechnen. In ähnlicher Weise wird der Bereich zwischen 0,1 und 0,2 dem zweiten Geomorph Gl zugewiesen, und der Schachtelparameter für diesen Geomorph wird als α = 10(D – 0,1) berechnet, und so weiter. Der Interpolierer 436 kann als ein Kodeblock implementiert werden, welcher eine lineare Interpolation der Detailvariablen D zu einem ausgewählten Geomorph Gj und dem Schachtelparameter α berechnet. Alternativ ist der Interpolierer 436 als eine Nachschlagetabelle implementiert, welche die Detailvariable D auf den ausgewählten Geomorph Gj und den Schachtelparameter α abbildet.
  • Der PM-Repräsentationsblock 438 ist eine PM-Repräsentations-Datenstruktur der zu nähernden Masche, beispielsweise die Datenstruktur 130 in 7. Die Geomorphtabelle 440 ist eine geordnete Liste von Geomorphblöcken 441443 für die Geomorphe G0,..., Gg. Jeder der Geomorphblöcke 441443 ist eine Geomorph-Datenstruktur, beispielsweise die Geomorph-Datenstruktur 200 in 26. Die Detailniveau-Näherungseinrichtung konstruiert die Geomorphe G0,...,Gg, die als Blöcke 441443 gespeichert sind, aus der als Block 438 gespeicherten PM-Repräsentation gemäß dem Geomorph-Konstruktionsverfahren 190 nach 9(a). Für jeden Geomorph Gj spezifizieren die Werte der-Geomorph-Komplexitätsvariablen Tj und Tj+1 die grobe und die feine Masche MTj und MTj+1 aus den progressiven Maschen, die in der PM-Repräsentation spezifiziert sind, aus welchen der Geomorph konstruiert ist. Beispielsweise spezifizieren die Geomorph-Komplexitätsvariablen T0 und T1 die grobe und die feine Masche MT0 und MT1 für den Geomorph G0 aus dem progressiven Maschen M0,...,Mn, die in der PM-Repräsentation spezifiziert sind. In dem dargestellten System 420 spezifizieren die Geomorph-Komplexitätsvariablen T0,...,Tg+i die Anzahl 0,...,n der Masche in der progressiven Maschenfolge M0,...,Mn. Alternativ können die Geomorph-Komplexitätsvariablen T0,...,Tg+i die Anzahl von Seitenflächen oder die Anzahl von Scheitelpunkten der feinen und der groben Masche der Folge von Geomorphen spezifizieren (in diesem Fall hat die T-Gleitersteuerung 434 einen Bereich von einer minimalen bis zu einer maximalen Anzahl von Seitenflächen oder Scheitelpunkten in der PM-Repräsentation).
  • Nach dem Konstruieren der Folge von Geomorphen, die in der Geomorphtabelle 444 repräsentiert sind, auf Basis der Geomorph-Komplexitätsvariablen T0,...,Tg+1 bewertet die Detailniveau-Näherungseinrichtung 426 gemäß dem Geomorph-Bewertungsverfahren 220 ( 9(b)) auf Basis der interpolierten Werte für den gewünschten Geomorph Gj und den Schachtelparameter α. Dieses erzeugt eine Näherung der Masche mit einem gewünschten Detailniveau, welches die Detailniveau-Näherungseinrichtung 426 an die Grafikanwendung 424 ausgibt. Die Grafikanwendung 424 ändert dann ein Bild der Näherungsmasche, indem her kömmliche Maschenänderungstechniken genutzt werden, und gibt das Bild zum Anzeigen auf einer Ausgabeeinrichtung 60 des Computersystems 50 (5) an den Anzeigentreiber 428 aus.
  • Progressive Übertragung.
  • Gemäß 11 nutzt ein System 230 nach der dargestellten Ausführungsform der Erfindung die PM-Repräsentation für eine progressive Übertragung von dreidimensiortalen Grafikmodellen für mehrere Detailniveaus. Das System 230 umfaßt einen Übertragungscomputer 232, beispielsweise ein Netzwerk oder einen File-Server, und einen Empfangscomputer 233, beispielsweise eine Client-Computerstation oder ein Terminal, welche über eine Kommunikationsverbindung 234 verbunden sind. Diese Computer 232233 weisen die Architektur des Computersystems 50 in 5 auf. Die Kommunikationsverbindung 234 in dem dargestellten progressiven Übertragungssystem 230 umfaßt Modems 236237 und eine Telefonleitung 238, kann alternativ jedoch als ein lokales oder weiträumiges Computernetzwerk (einschließlich öffentlicher oder privater Wählnetzwerke, kommerzieller Online-Dienstleistungen, Internet oder dergleichen), ein Rundfunk-Datennetzwerk, eine Infrarot- oder Radiofrequenz-Verbindung oder auf Basis anderer Kommunikationstechnologien realisiert sein. Der Übertragungscomputer 232 speichert eine PM-Repräsentation einer beliebigen Masche M in einer Datenbank 240 von dreidimensionalen Modellen und führt eine progressive Übertragungs-Softwareanwendung aus, die einen Übertragungsprozeß 244 (12(a)) zum Übertragen einer PM-Repräsentation in der Datenbank 240 an den Empfangscomputer 233 an der Kommunikationsverbindung 234 implementiert. Der Empfangscomputer 233 führt eine progressive Übertragungs-Softwareanwendung aus, die einen Empfangsprozeß 246 (12(b)) zum Empfangen der PM-Repräsentation von der Kommunikationsverbindung 234 und zum Verändern von Darstellungen der Masche mit zunehmend feineren Detailniveaus implementiert.
  • Gemäß 12(a) überträgt der Übertragungscomputer 232 (11) gemäß dem progressiven Übertragungsverfahren 244 zuerst die Basismasche M0 der PM-Repräsentation (beispielsweise als die Basismaschen-Aufzeichnung 132 in 7 oder als ein herkömmliches Eins-Auflösungsformat), worauf der Strom 134 (7) der Scheitelpunkt-Spalt-vspliti-Aufzeichnungen 136 (7) folgt.
  • Gemäß 12(b) baut der Empfangsprozeß 246 die beliebige Masche M, welche von der PM-Repräsentation spezifiziert wird, differentiell wieder auf, wenn die Scheitelpunkt- Spaltaufzeichnungen ankommen und animiert die Darstellung der sich ändernden Masche. Bei dem illustrativen Empfangsprozeß 246 werden die Änderungen der Masche gemäß Geomorphen verarbeitet, um sichtbare Unstetigkeiten zu verhindern. Die ursprüngliche Masche M wird exakt wiedergewonnen, nachdem alle n Scheitelpunkt-Spaltaufzeichnungen in der PM-Repräsentation empfangen wurden, weil PM eine verlustlose Repräsentation ist.
  • Im Schritt 254 des illustrativen Empfangsprozesses 246 empfängt der Empfangscomputer 233 (11) zuerst die Basismaschen(M0)-Aufzeichnungen 132 (7), die von dem Übertragungscomputer 232 (11) im Schritt 250 des Prozesses 254 übertragen wird. Der Empfangscomputer 233 konstruiert dann eine Darstellung der Basismasche und zeigt diese an im Schritt 255.
  • Danach rekonstruiert der Empfangscomputer 232 in einer Schleife von Schritten 256259 differentiell die Masche M und zeigt interaktiv eine Darstellung der Masche an. Im Schritt 256 jeder Iteration der Schleife empfängt der Empfangscomputer 233 eine folgende Gruppe vsplit-Aufzeichnungen 136 (7), die von dem Übertragungscomputer 232 im Schritt 251 des Prozesses 244 übertragen werden. Weil der Übertragungscomputer 232 die vsplit-Aufzeichnungen kontinuierlich überträgt, umfaßt der Emppangscomputer 233 des illustrativen Ausführungsbeispiels einen Einganspuffer, welcher Scheitelpunkt-Spaltaufzeichnungen zeitweise speichert, die während der Konstruktions- und Anzeigeschritte 255, 257258 übertragen wurden, bis der Empfangscomputer zum Verarbeiten dieser bereit ist.
  • Im Schritt 257 verbessert der Empfangscomputer 233 die Masche differentiell zu einer laufenden, differentiellen Masche, indem die Gruppe von vsplit-Aufzeichnungen auf eine frühere differentielle Masche angewendet wird, die während des Schritts 256 empfangen wurde. In der ersten Iteration der Schleife ist die frühere differentielle Masche die Basismasche aus dem Schritt 255. In den folgenden Iterationen der Schleife ist die frühere differentielle Masche die laufenden differentielle Masche aus der früheren Iteration der Schleife. Im Schritt 258 konstruiert der Empfangscomputer dann einen Geomorph aus der früheren differentiellen Masche zu einer laufenden differentiellen Masche und zeigt einen sichtbar glatten Übergang zwischen den differentiellen Maschen an, wobei der Geomorph genutzt wird. Der Schritt 258 kann optional weggelassen werden, und anstelle dessen wird die im Schritt 257 konstruierte Masche angezeigt.
  • Der Empfangsprozeß verteilt vorzugsweise die Computerbearbeitung zwischen der progressiven Rekonstruktion der Masche Mund der interaktiven Anzeige mit Hilfe des Variierens der Anzahl von Scheitelpunkt-Spaltaufzeichnungen, die im Schritt 256 in jeder Iteration der Schleife 256259 empfangen werden. Im Fall einer langsamen Kommunikationsleitung zeigt eine einfache Strategie die laufende Masche, immer wenn der Eingangspuffer leer ist (D. h., vsplit-Aufzeichnungen werden im Schritt 257 fortlaufend angewendet, bis der Eingangspuffer ausgelastet ist. Dann ist der Geomorph konstruiert und angezeigt, weil der Eingangspuffer wieder aufgefüllt wird, bevor eine nächste Iteration der Schleife wiederholt wird.) Im Fall einer schnellen Kommunikationsleitung (d. h., wenn die Übertragung des vsplit-Aufzeichnungsstroms 134 (7) weniger Zeit als das Konstruieren und das Anzeigen der Geomorphe aus der Basismasche zu mehr als einer differentiellen Masche aus der progressiven Maschensequenz benötigt) ist eine alternative Strategie, Maschen anzuzeigen, deren Komplexität exponentiell zunimmt (d. h. eine Anzahl p von vsplit-Aufzeichnungen, die im Schritt 256 empfangen werden, nimmt in jeder Iteration der Schleife exponentiell zu). Im Fall der schnellen Kommunikationsleitungen wird der Schritt 258 zum Konstruieren und zum Anzeigen eines Geomorphs aus der vorhergehenden Masche durch das Anzeigen der Masche aus dem Schritt 257 ersetzt.
  • Maschenkompression.
  • Die PM-Repräsentation der dargestellten Ausführungsform liefert darüber hinaus eine raumeffiziente Repräsentation zum Speichern von Maschen. Die PM-Repräsentation kodiert nicht nur die Anfangsmasche M sondern auch eine kontinuierliche Auflösungsfamilie von, Maschen in einem Raum, welcher konkurrenzfähig zu dem einer komprimierten Eins-Auflösungsmasche ist. Zunächst ist die Größe der PM-Repräsentation linear zur Größe der Anfangsmasche Mn, weil die Anzahl n von vsplit-Aufzeichnungen geringer als die Anzahl m0+ n von Scheitelpunkten in Mn ist. Weil eine Scheitelpunkt-Spaltung eine lokale Transformation auf der Oberfläche ist, ist bedeutender, daß man eine wesentliche Kohärenz bezüglich der Oberflächenattribute vor und nach jeder Transformation erwarten kann. Die PM-Repräsentation der dargestellten Ausführungsform nutzt den Vorteil dieser Kohärenz, indem die Scheitelpunkt-Spaltaufzeichnungen mit voraussagenden Kodierschemata und Delta-Kodierschemata kodieren.
  • Gemäß Figur 12 können insbesondere die Scheitelpunkt-Positionen vsi i+1 (d. h. die Position des Scheitelpunkts 272) und vm0+i+1 i+1 (d. h. die Position des Scheitelpunkts 273) aus vsi i (d. h.
  • die Position des Scheitelpunkts 270) in jeder Scheitelpunkt-Spalturigs-vspliti-Transformation 276 zwischen der Masche Mi278 und der Masche Mi+1279 vorhergesagt werden. Dieses bedeutet, daß die Positionen der Scheitelpunkte 272273 in der Nähe der Position des Scheitelpunkts 270 erwartet wird. Deshalb kodiert das illustrative Computersystem 50 (5) die Scheitelpunkt-Positionen in jeder vspliti-Aufzeichnung 136 (7) wie die Differenz oder das Delta aus der Scheitelpunkt-Position vsi i(d. h. Ai = (vsi i+1 – vsi i,vm0+i–1 i–1 – vsi i)) was voraussetzt, daß bei einer gegebenen Präzision weniger Bits als die vollständigen Koordinaten (x, y,z) der Scheitelpunkt-Positionen vsi i+1 und vm0+i+1 i+1 kodiert werden. Vorzugsweise werden diese Positionsdifferenzen oder -deltas in die Scheitelpunkt-Spaltaufzeichnungen mit einem Delta-Kodierschema variabler Länge kodiert, beispielsweise den Huffman-Codes variabler Länge. Geeignete Kodes variabler Länge, einschließlich des Huffman-Codes, werden in M. Deering, Geometry Compression, 1995 Computer Graphics Proceedings 1320 (im folgenden "Deering") beschrieben.
  • In der dargestellten Ausführungsform wird die Anzahl von Bits, die z+ur Delta-Kodierung der Scheitelpunkt-Positionen benötigt wird, weiter reduziert, indem eine Eigenschaft des Maschen-Vereinfachungsverfahrens (19) genutzt wird, die darin besteht, daß das Verfahren für das Zusammenfallen jeder Kante {vsi i+1,vm0+i+1 i+1} 92 (6) drei Startpunkte für den Scheitelpunkt vsi i86' in der resultierenden Masche betrachtet: nämlich {vsi i+1,vm0+i+1(,vsi i+1 + vm0+i+1)/2}. In Abhängigkeit von dem im Verfahren gewählten Startpunkt werden die Positionen {vsi i+1,vm0+i+1} Delta-kodiert, entweder als Positionsdeltas {vsi i+1 – vsi i,vm0+i+1 – vsi i} für Startpositionen vsi i+1 oder vm0+i–1 oder als Positionsdeltas {(( vsi i+1,vm0+i+1)/2) – vsi i, (vsi i+1 – vm0+i+1)/2} für Startpositionen (vsi i+1,vm0+i+1)/2. Die Scheitelpunkt-Spaltaufzeichnungen kodieren deshalb die Wahl der Startposition und dann das entsprechende Paar von Positionsdeltas. Weil jedes der vier Positionsdeltas dazu tendiert, einen unterschiedlichen Wertebereich zu haben, werden die vier Positionsdeltas vorzugsweise mit getrennten Huffman -Kodetabellen kodiert, die für solche Wertebereiche abgestimmt sind.
  • Bei einer weiteren alternativen PM-Repräsentation kann der Konstruktionsalgorithmus einfach vsi i ∊ {vsi i,vm0+i+1,(vsi i,vm0+i+1)/2} auswählen. Dieses vermindert die Genauigkeit der vereinfachten Basismasche, erlaubt jedoch, die Positionen {vsi i,vm0+i+1} mit noch weniger Bits in den Scheitelpunkt-Spaltaufzeichnungen zu kodieren (beispielsweise die Wahl der Position vsi i aus der Folge von Positionen {vsi i,vm0+i+1,(vsi i,vm0+i+1))/2} und dann entweder das Positionsdelta vm0+i+1 – vsi i für vsi i= vsi i+1 oder das Positionsdelta vsi i+1 = vsi i für vsi i = vm0+i+1 Oder das Positionsdelta (vsi i+1 = vm0+i+1)/2 vsi i = (vsi i+1 + vm0+i+1)/2).
  • Weil nur eine kleine Folge von Scheitelpunkten 282287 zu dem Scheitelpunkt vsi270 in der Masche Mi278 benachbart ist, kann weiterhin eine kleine Anzahl von Bits genutzt werden, um die Scheitelpunkte vli282 und vri283 aus den Scheitelpunkten 282287 zu spezifizieren, die benachbart zu dem Scheitelpunkt vsi270 sind. Das dargestellte Computersystem 50 kodiert eher Indizes (im folgenden "benachbarte Scheitelpunktindizes") in der vspliti-Aufzeichnung 136, die anzeigen, welche der Scheitelpunkte aus der Folge von benachbarten Scheitelpunkten 282287 die Scheitelpunkte vli282 und vri 283 sind (beispielsweise das Zuordnen benachbarter Scheitelpunktindizes zu benachbarten Scheitelpunkten in aufsteigender Reihenfolge ihrer vollständigen Scheitelpunktindizes), als das Indizes (im folgenden "vollständige Scheitelpunktindizes") der Scheitelpunkte vli282 und vri283 in die vspliti-Aufzeichnung 136 (7) kodiert werden, um sie eindeutig aus der Folge von allen m0 + n Scheitelpunkten in der ursprünglichen Masche Mn zu unterscheiden (was mehr Bits verlangt). Für die dargestellte Scheitelpunkt-Spalttransformation 276 können die Scheitelpunkte vli282 und vri283 jeweils in drei Bits kodiert werden (was ausreichend ist, um die Scheitelpunkte aus den sechs möglichen benachbarten Scheitelpunkten eindeutig zu spezifizieren). Im Gegensatz dazu verlangt sogar eine einfache Masche Mn mit 1.000 Scheitelpunkten wenigstens 10 Bit vollständige Scheitelpunktindizes, um jeden Scheitelpunkt der Masche eindeutig zu spezifizieren.
  • Des weiteren können die diskreten Attribute (beispielsweise Materialidentifizierer) d(vs,vt,vl) und d{vs,vt,vr} der Seitenflächen 290291; die in der Masche Mi+1279 mittels der vspliti-Tränsformation 276 eingeführt werden, oft von denen benachbarter Seitenflächen 294297 in Mi278 vorhergesagt werden, wobei nur einige wenige Kontrollbits genutzt werden. In der dargestellten Ausführungsform zeigen die Kontrollbits 00, 01 und 11 beispielsweise an, daß die diskreten Attribute einer neu eingeführten Seitenfläche entweder gleich zu denen der angrenzenden Seitenfläche (beispielsweise Seitenflächen 294, 296) mit v i+1 / l als einem Scheitelpunkt, gleich zu denen der angrenzenden Seitenfläche (beispielsweise Seitenflächen 295, 297) mit v i+1 / s als einem Scheitelpunkt oder verschieden von beiden angrenzenden Seitenflächen sind. Wenn das diskrete Attribut einer neu eingeführten Seitenfläche gleich zu dem einer angrenzenden Seitenfläche ist, genügen die Kontrollbits 00 und 01, um dieses diskrete Attribut zu spezifizieren. Wenn das diskrete Attribut von dem beider angrenzenden Seitenflächen verschieden ist, folgt auf die Kontrollbits 11 ein Wert, der das diskrete Attribut vollständig spezifiziert. Deshalb kann die vspliti-Aufzeichnung 136 die diskreten Attribute in den meisten Fäl len kodieren, so daß der Materialidentifizierer der neu eingefügten Seitenflächen jeweils nur in zwei Bits ist.
  • Skalare Attribute von neu eingefügten Ecken 301304 in Mi+1279 können ähnlich aus benachbarten Ecken 305308 in Mi279 vorhergesagt werden. Deshalb können diese skalaren Attribute in der dargestellten Ausführungsform ebenfalls kodiert werden, indem ein oder mehrere Kontrollbits zum Anzeigen einer Gleichheit mit einer benachbarten Ecke oder eines unterschiedlichen skalaren Attributs genutzt werden. In der dargestellten Ausführungsform wird ein skalares Attribut, das der neu eingefügten Ecke 301 zugeordnet ist, beispielsweise in der vspliti-Aufzeichnung 136 (7) mit einem Kontrollbit 0 kodiert, um anzuzeigen, daß das skalare Attribut gleich dem der benachbarten Ecke 306 ist. Demgegenüber zeigt das Kodieren mit einem Kontrollbit 1, gefolgt von dem Wert des skalaren Attributs ein unterschiedliches skalares Attribut an. Im letzten Fall wird der Wert vorzugsweise mit Hilfe einer Delta-Kodierung variabler Länge als die Differenz aus dem skalaren Attribut der benachbarten Ecke 306 kodiert (was in wenigstens einigen Fällen einige zusätzliche Bits einspart).
  • Als ein Ergebnis des obigen Kodierschemas der dargestellten Ausfihrungsform sollte die Größe einer sorgfältig konstruierten PM-Repräsentation wenigstens vergleichbar zu der sein, die von anderen bekannten Verfahren zum Komprimieren von Eins-Auflösungsmaschen erhalten wird.
  • Selektive Verbesserung.
  • Gemäß den 1317 kann die PM-Repräsentation 130 (7) der dargestellten Ausführungsform auch eine selektive Verbesserung unterstützen, bei der zu dem Modell ein Detail nur in gewünschten Bereichen hinzugefügt wird. Allgemein führt die dargestellte Ausführungsform der Erfindung eine selektive Verbesserung mittels des selektiven Anwendens nur einer Teilfolge der in der PM-Repräsentation spezifizierten Scheitelpunkt-Spalttransformationen aus, die die Masche in gewünschten Bereichen verbessern, beispielsweise die Oberfläche der Masche innerhalb eines Darstellungsstumpfes (d. h., der Teil der Masche, der innerhalb einer Darstellung der gegenwärtig angezeigten Masche ist).
  • Gemäß 14 nutzt ein erstes selektives Verbesserungsverfahren 320 eine Rückruf-Funktion, REFINE (v), um zu bestimmen, welche Scheitelpunkt-Spalttransformationen in der PM-Repräsentation beim selektiven Verbessern einer anfänglichen groben Masche Mc anzu wenden sind. Die REFINE (v)-Funktion gibt Boolean-Werte zurück, die anzeigen, ob die Nachbarschaft der Masche über v weiter verbessert werden sollte. Um beispielsweise eine selektive Verbesserung der Masche innerhalb eines Darstellungsstumpfes (d. h., des Teils der Masche innerhalb einer gegenwärtig angezeigten Darstellung der Masche) zu erhalten, wird die REFINE (v)-Funktion als wahr definiert, wenn entweder v (beispielsweise Scheitelpunkt vs i270 von 12) oder irgendeiner seiner benachbarten Scheitelpunkte (beispielsweise Scheitelpunkte 282287 von 12) innerhalb des Stumpfes liegen. Bei der dargestellten Ausführungsform wird die REFINE (v)-Funktion von einer Softwareanwendung zur Verfügung gestellt, welche Darstellungen der Masche interaktiv anzeigt.
  • Das erste selektive Verbesserungsverfahren 320 beginnt mit Schritt 322 mittels Konstruieren einer Anfangsmasche Mc, mit 0 ≤ C < n – 1, aus der Folge von progressiven Maschen, M0,..., Mn, die durch die PM-Repräsentation 130 (7) spezifiziert sind. Die Anfangsmasche Mc wird mit Hilfe des Anwendens der Scheitelpunkt-Spaltaufzeichnungen vspliti 136 (7) für alle existierenden i < C auf die Basismasche M0.
  • Das erste selektive Verbesserungsverfahren 320 umfaßt dann eine Schleife von Schritten 323327. In der Schleife verbessert der Prozeß 320 selektiv die Anfangsmasche Mc mittels Iterierens durch die verbleibenden Scheitelpunkt-Spaltaufzeichnungen {vsplitc,..., vsplitn–1} 136 wie vorher beschrieben, wobei die vspliti(si,li,ri,Ai)-Transformation im Schritt 326 nur ausgeführt wird, wenn: (1) alle drei Scheitelpunkte {vsi,vli,vri} in der Masche vorhanden sind (Schritt 324) und (2) REFINE (vsi) die Aussage WAHR liefert (Schritt 325). (Ein Scheitelpunkt v ist im Schritt 324 in der Masche nicht vorhanden, wenn die vorhergehende Scheitelpunkt-Teilung, welche ihn eingeführt haben würde, vsplitj–m0–1, infolge der obigen Bedingungen der Schritte 324325 nicht ausgeführt wurde.)
  • Nachdem die Schleife 323327 für alle Scheitelpunkt-Spaltaufzeichnungen vspliti 136 wiederholt wurde, C ≤ i < n, ist die Masche selektiv verbessert, so daß ein zusätzliches Detail zu der Anfangsmasche Mc in Bereichen hinzugefügt ist, wo mehr Details gewünscht sind (beispielsweise innerhalb des Darstellungsstumpfes), wohingegen andere Bereiche grob bleiben. Im Schritt 328 kann der Prozeß dann eine Darstellung der selektiv verbesserten Masche anzeigen. Wenn ein Weglauf-Effekt zu vermeiden ist, kann der Prozeß 320 Geomorphe (beispielsweise, indem der Prozeß 190 nach 9 genutzt wird) zwischen der Anfangsmasche Mc und der selektiv verbesserten Masche konstruieren und anzeigen.
  • Gemäß 16(a) weist eine erste Beispielmasche, die ein dreidimensionales Gelände modelliert und mit Hilfe des Verfahrens 320 (14) selektiv verbessert ist; ein zusätzliches Detail innerhalb eines Darstellungsstumpfes auf, welcher gegenwärtig mit Hilfe der auf dem Computersystem 50 laufenden (5) Softwareanwendung dargestellt wird. Zur Erleichterung der Darstellung sind nur die ersten 10.000 (von 33.844) Scheitelpunkt-Spalttransformationen in der PM-Repräsentation des Geländemodells für die selektive Verbesserung betrachtet (um die Masche für eine Wahrnehmung nicht zu dicht werden zu lassen).
  • Gemäß 15 erlaubt ein modifiziertes selektives Verbesserungsverfahren 320', mehr Scheitelpunkt-Spalttransformationen nahe der Grenzen des lokalisierten Bereiches anzuwenden. Ein Nachteil des Verfahrens 320 (14) besteht darin, daß ein Scheitelpunkt vsi innerhalb des Darstellungsstumpfes 332 (16(a-b)) eventuell nicht geteilt wird, weil sein erwarteter Nachbar vli oder vri gerade außerhalb des Stumpfes liegt und vorher nicht erzeugt wurde. Diesem wird in dem modifizierten Verfahren 320' abgeholfen, indem eine weniger stringente Version der Bedingung im Schritt 324 (14) genutzt wird. Bei einer modifizierten Bedingung des Schritts 324' ist der nächste lebende Vorgänger eines Scheitelpunkts vj als der Scheitelpunkt mit dem folgenden Index definiert:
    Figure 00360001
  • Die modifizierte Bedingung des Schritts 324 ist wie folgt: A'(si) = si (d. h., vsi existiert in der Masche, und die Scheitelpunkte vA'(li) und vA'(ri) sind beide benachbart zu vsi in der Masche). Wenn die Geomorphe konstruiert werden, wird die Vorgängerinformation A' effizient ausgeführt, weil die vsplit-Aufzeichnungen in der dargestellten Ausführungsform geparst werden. Wenn die Bedingungen beider Schritte 324' und 325 erfüllt sind, wird vsplit (si, A'(li),A'(ri), Ai) auf die Masche im Schritt 326 angewendet, wie dies im Verfahren 320 (14) ausgeführt wurde. Die verbleibenden Schritte 322, 323, 327 und 328 des modifizierten, selektiven Verbesserungsverfahrens 320' sind die gleichen wie in dem ersten selektiven Verbesserungsverfahren 320.
  • 16(b) demonstriert eine zweite beispielhafte, selektiv verbesserte Masche, welche mit Hilfe des modifizierten Verfahrens 320'(15) aus der selben PM-Repräsentation eines Geländemodells wie die erste beispielhafte, selektiv verbesserte Masche 330 in 16(a) selektiv verbessert wurde. Zur Vereinfachung der Darstellung sind wiederum nur die ersten 10.000 Scheitelpunkt-Spalttransformationen (von 33.844 Scheitelpunkt-Spalttransformationen) der PM-Repräsentation mit Hilfe des selektiven Verbesserungsverfahrens betrachtet. Weil die weniger strenge "nächster Nachbar"-Bedingung des Schritts 324' die Anwendung von mehr Scheitelpunkt-Spaltaufzeichnungen {vsplitc,..., vsplitn–1} 136 erlaubt, verfügt die zweite beispielhafte, selektiv verbesserte Masche über viel mehr Details innerhalb des Darstellungsstumpfes als die erste beispielhafte, selektiv verbesserte Masche (d. h. 12.169 Seitenflächen in der zweiten Beispielmasche in 16(b) im Vergleich zu 9.462 Seitenflächen in der ersten Beispielmasche in 16(a)).
  • Gemäß 17 besteht ein weiterer Nachteil der oben beschriebenen, selektiven Verbesserungsverfahren 320 und 320' darin, daß die oben beschriebene REFINE (v)-Funktion immer noch eine Menge Details zu den selektiv verbesserten Maschen in den 16(a–b) hinzufügen kann, die keinen oder eine geringen Effekt auf die gegenwärtig dargestellte Darstellung der Masche haben. Beispielsweise liefert die oben beschriebene REFINE (v)-Funktion ein wahres Ergebnis für eine Scheitelpunkt-Spalttransformation auf einen Scheitelpunkt vs innerhalb des Darstellungsstumpfes, aber weit entfernt von dem Betrachter. Solche Details fügen wenig zu der angezeigten Darstellung hinzu, erhöhen jedoch signifikant die Bearbeitungszeit der Darstellung. Das Ersetzen eines modifizierten REFINE (v)-Verfahrens 340 verbessert die oben beschriebenen selektiven Verbesserungsverfahren 320 und 320' durch eine Konzentration der Verbesserung in der Nähe von Konturkanten und der Nähe des Betrachters.
  • In einem ersten Schritt 342 des modifizierten REFINE (v)-Verfahrens 340 berechnet das Verfahren 340 einen vorzeichenbehafteten, projizierten Bildschirmbereich {af, f ∊ Fv} jeder Seitenfläche Fv, die benachbart zu dem Scheitelpunkt v ist (d. h. des von der Fläche in der gegenwärtig angezeigten Darstellung eingenommenen Bereichs). Das modifizierte REFINE (v)-Verfahren 340 evaluiert dann den Boolean-Wert als wahr oder gibt diesen zurück im Schritt 346 (d. h. zu Schritt 325 der selektiven Verbesserungsverfahren 320 oder 320'), wenn: (1) irgendeine Fläche f ∊ Fv innerhalb des Darstellungsstumpfes (Schritt 343) liegt und entweder (2a) die Vorzeichen der projizierten Anzeigenbereiche af der Seitenflächen nicht alle gleich sind (was anzeigt, daß v in der Nähe einer Konturkante liegt) (Schritt 344) oder (2b) die Summe der projizierten Bildschirmbereiche (Σf∊Fvaf) größer als ein vorbestimmter Bildschirmbereich-Schwellwert ist (beispielsweise 0,162 Einheiten, wobei das Bild eine Einheitsfläche hat). Andernfalls gibt das modifizierte REFINE (v)-Verfahren 340 falsch im Schritt 347 zurück (an Schritt 325 der selektiven Verbesserungsverfahren 320 oder 320').
  • Gemäß den 18(a–b) wird mit Hilfe des selektiven Verbesserungsverfahrens 320' mit dem modifizierten REFINE (v)-Verfahren 230 aus der selben PM-Repräsentation eines Geländemodells wie bei der ersten und der zweiten Beispielmasche in den 16(a–b) eine dritte beispielhafte, selektiv verbesserte Masche (vgl. 18(a–b)) erzeugt. Alle 33.844 Scheitelpunkt-Spalttransformationen werden mit Hilfe dieses modifizierten selektiven Verbesserungsverfahrens in diesem dritten Beispiel betrachtet. Unabhängig von der Betrachtung von viel mehr Scheitelpunkt-Spalttransformationen verfügt die dritte Beispielmasche ( 18(a–b)) über viel weniger Seitenflächen (d. h. 7.438 Seitenflächen) als die erste und die zweite Beispielmasche (d. h. 9.462 und 12.169 Seitenflächen) (16(a–b)), wohingegen eine Verbesserung von sichtbar signifikanten Details (d. h. solchen innerhalb des Darstellungsstumpfs, in der Nähe von Konturbereichen und nahe dem Betrachter) geliefert werden, die im wesentlichen gleich zu denen der zweiten Beispielmasche (16(b)) sind. Wie sich. aus der Betrachtung der dritten beispielhaften, selektiv verbesserten Masche in 18(b) von oben ergibt, sichert der selektive Verbesserungsprozeß 320 mit dem REFINE (v)-Verfahren 340 (welches den Darstellungsstumpf Konturenbereiche und Bildschirmgröße von Seitenflächen berücksichtigt) Komplexität der sich ergebenden, selektiv verbesserten Masche, indem eine Verbesserung in Bereichen innerhalb des Darstellungsstumpfes vermieden wird, die nichtsignifikant zu der angezeigten Darstellung beitragen.
  • Ein weiteres alternatives, selektives Verbesserungsverfahren besteht darin, die Sichtbarkeit der Scheitelpunkt-Spalttransformationen der PM-Repräsentation zu berücksichtigen. Obwohl der Scheitelpunkt einer Scheitelpunkt-Spalttransformation innerhalb des Darstellungsstumpfes liegt, kann er gegenwärtig trotzdem für den Betrachter nicht sichtbar sein, wenn er verdeckt oder hinter einem anderen Teil der Oberfläche oder einem anderen Objekt vollständig positioniert ist. Beispielsweise sind Scheitelpunkte auf der entfernten Seite eines Rückens in dem Geländemodell für den Betrachter nicht sichtbar, auch wenn sie innerhalb des Darstellungsstumpfes liegen. Für dieses alternative, selektive Verbesserungsverfahren wird die REFINE (v)-Funktion weiter modifiziert, um ein negatives oder falsches Ergebnis zurückzugeben, wenn der Scheitelpunkt nicht sichtbar ist. Dieses führt zu noch einfacheren, selektiv verbesserten Maschen mit einer im wesentlichen gleichen Qualität der Erscheinung in ihren gegenwärtig sichtbaren Bereichen.
  • Die oben beschriebenen, selektiven Verbesserungsverfahren 320, 320' und 340 können auch vorteilhaft angewendet werden, um sich abhängige Modelle über Kommunikationsleitungen mit niedriger Bandbreite effizient zu übertragen: Weil sich die Sicht des Empfängers über die Zeit ändert, nutzt der Übertragungsprozeß (beispielsweise der Übertragungsprozeß 244 in 12(a)) die oben beschriebenen selektiven Verbesserungsbedingungen (beispielsweise Schritte 324 oder 324' zusammen mit dem Schritt 325 oder dem Schritt 325 in modifizierter Form gemäß dem Verfahren 340), um nur Scheitelpunkt-Spalttransformationen-Aufzeichnungen vspliti 136 innerhalb eines gegenwärtig dargestellten Bereichs der Masche auszuwählen und zu übertragen. Wenn sich die Sicht ändert, überträgt der Übertragungsprozeß weiter jede noch nicht gesendete Scheitelpunkt-Spaltaufzeichnung 136 für die geänderte Sicht. Speziell muß der Übertragungsprozeß in jedem Zeitrahmen nur solche Scheitelpunkt-Spalttransformationen-Aufzeichnungen übertragen, für welche das REFINE (v)-Verfahren als wahr bewertet wird und die in früheren Zeitrahmen nicht übertragen wurden.
  • Konstruieren der PM-Repräsentation.
  • Gemäß 19 konstruiert ein Maschenvereinfachungs- und PM-Konstruktionsverfahren 380 die PM-Repräsentation 130 (7) einer beliebigen Masche M, indem zuerst eine Folge von Kanten-Kollapsen ausgewählt wird, die M = Mn in eine vereinfachte Basismasche M0 transformiert. Eine Folge von Scheitelpunkt-Spalttransformationen, die das Inverse der ausgewählten Kanten-Kollapse ist, wird dann mit der Basismasche M0 als eine PM-Repräsentation der beliebigen Masche M kodiert. Die Qualität der Zwischennäherungen oder progressiven Maschen Mi, i < n, welche durch die sich ergebende PM-Repräsentation spezifiziert werden, hängt wesentlich von der geeigneten Auswahl ab, welche Kanten kollabieren und welche Attribute den beeinflußten Nachbarschaften zuzuordnen sind (beispielsweise die Scheitelpunkt-Positionen v ls / i).
  • Zum Zweck einer geeigneten Auswahl der Kanten-Kollaps-Transformationen in dem beschriebenen PM-Konstruktionsverfahren 380 wird ein explizites Energiemaß E(M) definiert, um die Genauigkeit vereinfachter Maschen M = (K,V,D,S) bezüglich der ursprünglichen Masche M zu messen. Dieses Energiemaß hat die folgende Form: E(M) = Edist(M) + Espring(M) + Escalar(M) + Edisc(M) (12)
  • Die ersten beiden Terme, Edist(M) und Espring(M), sind identisch zu den Termen eines Energiemaßes für Geometrieerhaltung, welche in dem in Hoppe93 beschriebenen Maschenoptimierungsverfahren genutzt wird. Die folgenden zwei Terme von E(M), Escalar(M) und Edise(M), bilden Attribute, die mit M nicht nur bezüglich der Geometrie verbunden sind. Wie unten vollständig beschrieben wird, mißt der Term Escalar(M) die Genauigkeit der skalaren Attribute der vereinfachten Masche M, wohingegen der Term Edisc(M) die geometrische Genauigkeit der Unstetigkeitskurven (unten definiert und mit gelben Linien in den 8(a–d), 10(a–e), 23(a–d), 24(a–d) und 25(a–c) illustriert) der vereinfachten Masche M.
  • Das PM-Konstruktionsverfahren 380 führt eine Maschenvereinfachung aus, indem die Masche M ausgehend von M modifiziert wird, während das Energiemaß E(M) minimiert wird. Insbesondere wendet das Verfahren eine Minimierung des Energiemaßes an, um aufeinanderfolgende Modifikationen auszuwählen, d. h. Kanten-Kollaps-Transformationen, um die Masche in eine Basismasche M° zu vereinfachen, während die Erscheinung der Masche besser erhalten wird. Die Basismasche M° wird zusammen mit der Folge von Scheitelpunkt-Spalttransformationen, welche das Inverse der Vereinfachungsfolge von Kanten-Kollaps-Trarisformationen ist, die PM-Repräsentation der ursprünglichen Masche M.
  • Das Verfahren 380 beginnt im Schritt 382 mit dem Berechnen von Energiekosten bzw. aufwendungen ΔE gemäß dem Energiemaß E(M) einer Folge aller Kandidaten-Kanten-Kollaps-Transformationen. Kanten-Kollaps-Transformationen der Kanten der Masche M müssen einige lokale Bedingungen erfüllen, um in die Folge der Kanten-Kollaps-Transformationen aufgenommen zu werden. Bei dem dargestellten Verfahren 380 umfassen diese lokalen Bedingungen eine maximale "dihedral"-Winkelbegrenzung und eine Vielfachheit-Erhaltungsbegrenzung, wie dies in Hoppe93 beschrieben ist. Die maximale "dihedrale"-Winkelbegrenzung untersagt jegliche Kanten-Kollaps-Transformationen, wenn der maximale "Dihedralwinkel" von Kanten in der Nachbarschaft nach einem Kanten-Kollaps einen Schwellwertwinkel (acos(–1/3) = 109.471 Grad in dem dargestellten Beispiel) übersteigt, um Oberflächenselbstkreuzungen zu vermeiden. Für jeden Kandidaten-Kanten-Kollaps K → K' berechnet das Verfahren 380 dessen Kosten ΔE = EK→ EK, indem eine kontinuierliche Optimierung EK' = minv,s Edist(V) + Espring(V) + Escalar(V,S) + Edisc(V) (13)über die Scheitelpunkt-Positionen V und die skalaren Attribute S der Masche mit der Verbindbarkeit K' gelöst wird.
  • Im Schritt 383 werden die Kandidaten-Kanten-Kollaps-Transformationen dann in einer Prioritätswarteschlange in aufsteigender Reihenfolge ihrer abgeschätzten Energiekosten ΔE orga nisiert (d. h., die Kanten-Kollaps-Transformation mit den niedrigsten geschätzten Energiekosten ΔE wird in der Prioritätsreihenfolge in der Prioritätswarteschlange zuerst plaziert).
  • Das Verfahren 380 vereinfacht die Masche Min die Basismasche M°, welche eine Auflösung oder ein Detailniveau aufweist, welches im Schritt 384 ausgewählt wurde, d. h. innerhalb 1 einer ausgewählten Anzahl von Seitenflächen für die Basismasche M0. Diese Anzahl kann von dem Computernutzer ausgewählt werden, indem eine Nutzerschnittstellen-Steuerung genutzt wird (beispielsweise eine Zahleneingabebox, eine Bildlaufleiste oder eine Schiebesteuerung oder dergleichen), welche von der Softwareanwendung zur Verfügung gestellt wird, die das Verfahren 380 implementiert. Alternativ kann die Softwareanwendung die Anzahl der Seitenflächen festlegen. Bei dem dargestellten Verfahren 380 kann die ausgewählte Anzahl von Seitenflächen nicht geringer als eine minimale Anzahl von Seitenflächen für Maschen des selben topologischen Typs wie die ursprüngliche beliebige Masche M sein.
  • Das Verfahren 380 wiederholt dann eine Schleife von Schritten 385389, bis die Masche zu einer im Schritt 384 ausgewählten Anzahl von Seitenflächen vereinfacht ist oder keine Kandidaten-Kanten-Kollapse existieren. In jeder Iteration der Schleife wendet das Verfahren 380 zuerst die Kanten-Kollaps-Transformation mit der höchsten Priorität (ecol({vs,vt})) in der Prioritätswarteschlange auf die Masche M im Schritt 385 an. Im Schritt 386 speichert das Verfahren 380 die Scheitelpunkt-Spalttransformation vsplit (vs,vl,vr,vt,A), welche das Inverse der im Schritt 385 ausgeführten Kanten-Kolläps-Transformation ist. (Die Folge von Scheitelpunkt-Spalttransförmationen, die im Schritt 386 gespeichert wird, wird später in umgekehrter Reihenfolge im Schritt 390 als die Folge von Scheitelpunkt-Spaltaufzeichnungen 134 (6) in der PM-Repräsentation kodiert.)
  • Im Schritt 387 vergleicht das Verfahren 380 die Anzahl von Seitenflächen in der Masche M, die sich aus der Kanten-Kollaps-Transformation ergeben, mit der Anzahl von Seitenflächen, die für die Basismasche M0 ausgewählt sind. So lange die Anzahl von Seitenflächen in M größer als die ausgewählte Anzahl von Seitenflächen der Basismasche M0 ist und Kandidaten-Kanten-Kollaps-Transformationen in der Prioritätswarteschlange verbleiben, setzt das Verfahren 380 das Iterieren durch die Schleife von Schritten 385389 fort. Andernfalls verläßt das Verfahren 380 die Schleife.
  • Wenn mit einer weiteren Iteration der Schleife fortgefahren wird, berechnet das Verfahren 380 im Schritt 388 die Energiekosten ΔE aller Kandidaten-Kanten-Kollaps-Transformationen in der Nachbarschaft der im Schritt 385 ausgeführten Kanten-Kollaps-Transformation erneut in der laufenden Iteration der Schleife. Wenn die Kanten-Kollaps-Transformation 110 in 6 im Schritt 385 ausgeführt wird, berechnet das Verfahren 380 beispielsweise die geschätzten Energiekosten ΔE von allen Kandidaten-Kanten-Kollaps-Transformationen in der Prioritätswarteschlange für die Kanten von Seitenflächen 102'107'. Das Verfahren 380 ruft diese Kanten-Kollaps-Transformationen dann wieder in die Prioritätswarteschlange gemäß ihren neu berechneten Energiekosten ΔE. Das Verfahren 380 wiederholt die Schleife 385389, wenn die wieder aufgerufene Prioritätswarteschlange existiert.
  • Nach dem Verlassen der Schleife im Schritt 387, wenn die Masche M zu der ausgewählten Anzahl von Seitenflächen reduziert wurde, hat das Verfahren eine kontinuierliche Auflösungsfamilie von Maschen erzeugt, die aus der Basismasche M° (beispielsweise der Masche M, die sich aus der Folge von Kanten-Kollaps-Transformationen ergibt, die im Schritt 385 in der Schleife ausgeführt werden) und einer Folge von progressiven Maschen besteht, die durch die gespeicherten Scheitelpunkt-Spaltoperationen definiert sind. Im Schritt 390 kodiert das Verfahren 380 die Basismasche M° und die Folge von gespeicherten Scheitelpunkt-Spalttransformationen, um die PM-Repräsentation 130 wie oben beschrieben zu bilden.
  • Bei einer alternativen Variation des Verfahrens 380 wird der Schritt 384 zum Auswählen der Anzahl von Seitenflächen der Basismasche weggelassen. Anstelle dessen wird die Schleife von Schritten 385389 einfach wiederholt, bis die Prioritätswarteschlange in dem Vergleichsschritt 387 keine weitere legale Kanten-Kollaps-Transformation enthält. Die Masche M wird hierdurch auf ihre einfachste Form reduziert (innerhalb der Bedingungen, die den Kandidaten-Kanten-Kollaps-Transformationen, wie oben für den Schritt 382 erläutert, auferlegt werden).
  • Gemäß 20 weist das dargestellte PM-Konstruktionsverfahren 380 für die Maschenvereinfachung im Vergleich zu dem in Hoppe93 beschriebenen Maschenoptimierungsverfahren (vgl. oben) eine Anzahl von Vorteilen auf. Ein wesentlicher Unterschied ist der, daß das dargestellte PM-Konstruktionsverfahren 380 die Kanten-Kollaps-Transformation allein nutzt, um die beliebige Masche zu vereinfachen. (Das Maschenoptimierungsverfahren nach Hoppe93 nutzt eine Folge von drei möglichen Maschentransformationen, Kanten-Kollaps, Kanten-Teilung und Kanten-Tausch, die zufällig ausgewählt werden.) Wenn nur Kanten-Kollapse betrachtet werden, vereinfacht sich die Implementierung und verbessert sich die Leistung des dargestellten PM-Konstruktionsverfahrens 380, erhöht jedoch die dargestellte PM-Repräsentation 130 (7), was wesentlicher ist.
  • Wie mit Hilfe einer Grafik 400 der Genauigkeit in Abhängigkeit von der Bündigkeit demonstriert wird, besteht ein weiterer wesentlicher Unterschied in der Prioritätswarteschlange, die in dem dargestellten PM-Konstruktionsverfahren 380 zum Auswählen der Kanten-Kollaps-Transformationen genutzt wird; die auf die aufeinanderfolgenden Detailniveau-Näherungen angewendet werden. Dieses ermöglicht es dem dargestellten PM-Konstruktionsverfahren 380, für die ursprüngliche Masche M bessere Näherungen mit einem Detailniveau zwischen der ursprünglichen Masche Mund der Basismasche M° zu erzeugen (beispielsweise entlang eines Wegs 402). Im Gegensatz dazu untersucht das in Hoppe93 beschriebene Maschenoptimierungsschema zufällig aufeinanderfolgende Maschentransformationen und erreicht in der Regel schlechtere Näherungen entlang der Wege 3436 (2).
  • Als weitere Konsequenz der Prioritätswarteschlangenauswahl in dem dargestellten PM-Konstruktionsverfahren 380 ergibt sich, daß die Notwendigkeit für die Repräsentationskonstante crep (als auch den Repräsentationsenergieterm Erep(M) eliminiert ist. Wie oben beschrieben, erlaubt das Variieren des Werts der Repräsentationskonstante crep eine grobe Auswahl der Auflösung der genäherten Masche (beispielsweise Maschen Mb– Md in 2 und beispielhafte Maschen in den 1(b–d)), die mit Hilfe des in Hoppe93 beschriebenen Maschenoptimierungsverfahrens erzeugt wird. Demgegenüber erlaubt das dargestellte PM-Konstruktionsverfahren 380, die Auflösung der Basismasche M0 explizit auszuwählen (innerhalb von ±1 Seitenflächen). Darüber hinaus erzeugt das dargestellte PM-Konstruktionsverfahren 380 im Gegensatz zu der einzelnen Masche Mb, Mc oder Md (2), die bei der Maschenoptimierung nach Hoppe93 pro ausgewähltem Wert der Repräsentationskonstante crep erzeugt werden, pro Lauf eine Familie von Maschen mit einer kontinuierlichen Auflösung zu erzeugen.
  • Gemäß den 8(a–d) sind die Maschen in den 8(a–d) Beispiele für einige aus einer kontinuierlichen Auflösungsfamilie von Maschen in einer mittels des dargestellten PM-Konstruktionsverfahrens 380 (19) erzeugten PM-Repräsentation, um die beispielhafte, ursprüngliche, beliebige Masche M (1(a)) anzunähern. Im Gegensatz dazu erzeugt die Maschenoptimierung nach Hoppe93 eine einzelne der beispielhaften Maschen in den 1(b–d), um die Masche M (1(a)) pro Lauf des Verfahrens für einen ausgewählten Wert der Repräsentationskonstanten crep anzunähern.
  • Erhaltung der Oberflächengeometrie.
  • Gemäß 19 zeichnet das dargestellte PM-Konstruktionsverfahren 380 die Geometrie der ursprünglichen Masche M mittels des Abtastens einer Folge von Punkten X von ihr auf, wenn die geschätzten Energiekosten ΔE in den Schritten 382 und 383 berechnet werden. In einem Minimum tastet das dargestellte PM-Konstruktionsverfahren 380 einen Punkt in jedem Scheitelpunkt von M ab. Die das dargestellte Verfahren 380 implementierende Softwareanwendung umfaßt auch eine zusätzliche Nutzeroption, die bei Auswahl durch den Nutzer zusätzliche Punkte über die Oberfläche von M zufällig abtastet.
  • Nach dem Abtasten der Folge von Punkten X bewertet das Verfahren 380 Terme der geschätzten Energiekosten in dem obigen Ausdruck (13). Die Energieterme Edist(M) und Espring(M) in diesem Ausdruck sind wie in Hoppe93 definiert und wurden oben diskutiert. Für eine Masche mit fester Verbindbarkeit folgt das dargestellte Verfahren 380 zum Optimieren der Scheitelpunkt-Positionen zur Minimierung Edist(V) + Espring(V) eng dem in Hoppe93 beschriebenen. Das Bewerten von Edsit(M) umfaßt das Verarbeiten des Abstands jedes Punkts xi der Folge von Punkten X zu der Masche M. Jeder dieser Abstände selbst ist ein Minimierungsproblem d2 (xiv(|K|)) = minbi∊|K| ||xi – Φv(bi)|| (14)wobei die unbekannte bi die Parametrisierung der Projektion von xi auf die Masche ist. Bei dem dargestellten Verfahren 380 wird die nicht lineare Minimierung von Edist(n + Espring(V) ausgeführt, indem eine iterative Prozedur genutzt wird, die zwischen zwei Schritten alterniert. In dem ersten Schritt berechnet das Verfahren 380 für feste Scheitelpunkt-Positionen V die optimalen Parametrisierungen B = {bi,...,b|x|} mittels der Projektion der Punkte X auf die Masche. In dem zweiten Schritt berechnet das Verfahren 380 für feste Parametrisierungen B die optimalen Scheitelpunkt-Positionen V mittels des Lösens eines linearen Ersatz-Fehlerquadratproblems ("sparse linear least-squares problem").
  • Bei der Betrachtung von ecol ({vs, vt}) optimiert das dargestellte Verfahren 380 nur eine Scheitelpunkt-Position vs l mittels des Ausführens von drei unterschiedlichen Optimierungen mit verschiedenen Startpunkten, d. h.: v l / si =(1 - α) v i1 / si + (α)vm0+1i+1 i+1 (15) für α = {0,1/2,1} und akzeptiert die beste.
  • Im Unterschied zu dem Maschenoptimierungsverfahren aus Hoppe93, welches eine globale Sprungkonstante k für Espring definiert, paßt das dargestellte Verfahren 380 k jedes Mal an, wenn eine Kanten-Kollaps-Transformation betrachtet wird.
  • Intuitiv ergibt sich, daß die Sprungenergie am meisten von Bedeutung ist, wenn weniger Punkte auf eine Nachbarschaft von Flächen zeigen, weil in diesem Fall das Auffinden der Scheitelpunkt-Position-Minimierung Edist(V) ein unterbewertetes Problem sein kann. Für jede betrachtete Kanten-Kollaps-Transformation setzt das Verfahren 380 deshalb x als eine Funktion des Verhältnisses der Anzahl von Punkten zu der Anzahl von Seitenflächen in der Nachbarschaft der Kanten-Kollaps-Transformation. Wie in 6 gezeigt ist, ist die Nachbarschaft einer Kanten-Kollaps-Transformation 110 die Folge von Seitenflächen 100–107. Wenn die Notation C genutzt wird, setzt das Verfahren 380 k = r < 4 ? 10–2 : r < 8 ? 10–4 : 10–8, wobei r das Verhältnis der Anzahl von Punkten zu Seitenflächen in der Nachbarschaft ist.
  • Mit diesem adaptiven Schema vermindert sich der Einfluß von Espring(M) fortschreitend und adaptiv beim Vereinfachen der Masche, und der umfangreiche Ablauf zum Vermindern von Sprungkonstanten, der in dem in Hoppe93 beschriebenen Maschenoptimierungsverfahren genutzt wird, ist nicht länger notwendig.
  • Erhaltung skalarer Attribute (Escalar)
  • Wie oben in der Diskussion von dreieckigen Maschen erläutert, werden stückweise stetige Skalarfelder in dem dargestellten Ausführungsbeispiel mittels des Definierens von skalaren Attributen S in den Maschenecken repräsentiert. Insbesondere hat die ursprüngliche Masche M in jedem Scheitelpunkt v nicht nur eine Position vj ∊ R3 sondern auch ein skalares Attribut vj ∊ Rd. Zusätzlich zur Erhaltung der Geometrie der ursprünglichen Masche M arbeitet die in dem dargestellten PM-Konstruktionsverfahren 380 genutzte Funktion für die Erhaltung der geschätzten Energiekosten, um diese skalaren Attribute der ursprünglichen Maschen in den progressiven Maschen zu erhalten, welche das Verfahren 380 konstruiert.
  • Optimierung skalarer Attribute in Scheitelpunkten.
  • Um skalare Attribute der ursprünglichen Masche M einzufangen, tastet das dargestellte PM-Konstruktionsverfahren 380 auch jeden Punkten xi ∊ X des Attributwerts xi ∊ Rd ab. Der geschätzte Energiekostenausdruck (13) wird dann aus dem geometrischen Energieterm-Ausdruck, Edist(V) + Espring(V), verallgemeinert, für den gerade beschrieben wurde, daß er auch die Ableitung der abgetasteten Attributwerte X = {x1,...,xx} von denen der Masche M mißt. Der geometrische Energiekosten-Ausdruck, Edsist(V) + Espring(V), kann auf wenigstens zwei Arten verallgemeinert werden, um die skalare Attributwert-Abweichung zu messen.
  • Eine erste alternative Verallgemeinerung besteht darin, das Abstandsmaß (d. h. den Energieterm Edist) selbst neu zu definieren, um den Abstand in R3+d zu messen, beispielsweise: d2 ((x2 0 xi), M(K,V,V)) = minb∊ |k|||xi X i) – (Φv(bi) φv(bi)) (16)
  • Dieses neue Abstandsmaß kann dann minimiert werden, indem die selbe iterative Lösung benutzt wird, die oben beschrieben ist und in dem dargestellten Verfahren 380 genutzt wird. Diese Minimierung würde jedoch hinsichtlich des Rechenaufwands aufwendig sein, weil das Finden der optimalen Parametrisierung bi für jeden Punkt xi die Projektion in R3+a erfordern und nicht vollständig intuitiv sein würde, weil diese Parametrisierungen nicht geometrisch basiert sind.
  • Eine zweite alternative Verallgemeinerung des geometrischen Energiekosten-Ausdrucks, Edist(V) + Espring(V), für den geschätzten Energiekosten-Ausdruck (13) in dem dargestellten Verfahren 380 nutzt einen separaten Energieterm, Escalar um die Abweichung der skalaren Attribute zu messen. In dieser zweiten alternativen Verallgemeinerung wird der Energieterm, Edist(V), bewertet, indem der Ausdruck (14) wie oben beschrieben bewertet wird (d. h., die Parametrisierungen bi werden bestimmt, indem nur die Geometrie genutzt wird). Der separate Energieterm, Escalar, in dem geschätzten Energiekosten-Ausdruck (13) mißt die Attributabweichung auf Basis dieser Parametrisierungen: Escalar(V) = (cscalar)2 Σi||x i – Φv(bi)|| (17) wobei die Konstante cscalar eine relative Wichtung zwischen den Attributfehlern (Escalar) und den geometrischen Fehlern (Edist) zuordnet. Die Konstante cscalar kann mit Hilfe der Softwareanwendung festgelegt werden oder durch den Computernutzer mit Hilfe einer Nutzerschnittstellen-Steuerung variiert werden, die von der Softwareanwendung zur Verfügung gestellt wird.
  • Um E(V,V) = Edist(V) + Espring(V) + Escalar(V) zu minimieren, findet das dargestellte Verfahren 380 deshalb zunächst die Scheitelpunkt-Position (vs)-Minimierung Edist(V) + Espring(V) mittels alternativen Projektieren der Punkte auf die Masche (erhalten werden die Parametrisierungen bi) und Lösen eines linearen Fehlerquadratproblems. Mittels der Nutzung der selben Parametrisierungen bi findet es dann die Scheitelpunkt-Attribut-(vs)-Minimierung Escalar mittels Lösen eines einzelnen linearen Fehlerquadratproblems. Dieses hat einen vernachlässigbaren Leistungsüberhang im Vergleich zu der ersten alternativen Verallgemeinerung.
  • Gemäß den 21(a–c) und 22(a–c) erhält das dargestellte PM-Konstruktionsverfahren 380 aufgrund dessen, daß ΔEscalar zu den geschätzten Kosten ΔE eines Kanten-Kollapses beitragen kann, vereinfachte Maschen, deren Seitenflächen sich natürlich an die Attributfelder anpassen. Beispielsweise ist das Verfahren 380 (19) mit Hilfe des Minimierens von ΔEscalar in der Lage, Kanten-Kollapse auszuwählen, die beim Produzieren einer vereinfachten Masche 422 (21(b–c)) ein komplexes, skalares Attributfeld (d. h. Farbe) einer ursprünglichen Masche 420 (21(a)) erhalten, welche eine triviale Geometrie (ein Quadrat) aufweist. In diesem Beispiel werden 200 × 200 Scheitelpunkte der ursprünglichen Masche 420 mit dem Verfahren 380 zu nur 400 Scheitelpunkten in der vereinfachten Masche 422 reduziert, während die Farbqualität überwiegend erhalten bleibt.
  • In einem anderen Beispiel wählt das Verfahren 380 Kanten-Kollapse aus, um ein anderes skalares Attribut, "Radiosität", einer anderen ursprünglichen Masche 430 (22(a)) mit 150.983 Seitenflächen zu erhalten, um eine vereinfachte Masche 432 (22(b–c)) mit 10.000 Seitenflächen zu erzeugen.
  • Optimierung skalarer Attribute in Ecken.
  • Die oben beschriebene Minimierung von ΔEscalar wird von dem dargestellten PM-Konstruktionsverfahren 380 genutzt, wenn die skalaren Eckattribute S optimiert werden. Anstelle der Lösung für einen einzelnen unbekannten Attributwert vj unterteilt das dargestellte Verfahren 380 in jedem Scheitelpunkt v die Ecken in stetige Folgen (basierend auf Äquivalenz der Eckattribute) und löst jede stetige Folge unabhängig für ihren optimalen Attributwert.
  • Bereichsbegrenzungen.
  • Das dargestellte Verfahren 380 berücksichtigt auch skalare Attribute mit begrenzten Bereichen. Beispielsweise sind die Komponenten (r, g, b) der Farbe typischerweise darauf begrenzt, in einem Bereich zwischen 0 und 1 zu liegen. Die Fehlerquadrat-Minimierung von ΔEscalar kann Farbwerte außerhalb dieses Bereichs liefern. In Fällen, wo Attribute begrenzte Bereiche aufweisen, bindet das dargestellte Verfahren 380 die optimierten Werte an den gegebenen Bereich. Für die Fehlerquadrat-Minimierung einer euklidischen Norm ist dieses tatsächlich optimal.
  • Normale.
  • Oberflächennormale (nx,ny,nZ) sind typischerweise darauf begrenzt, eine Einheitslänge und eine nicht kartesische Domäne aufzuweisen. Eine Optimierung über Normale würde deshalb eine Minimierung eines nicht linearen Funktionals mit nicht linearen Begrenzungen bzw. Randbedingungen verlangen. Anstelle dessen führt das dargestellte Verfahren 380 einfach die Normalen durch den Vereinfachungsprozeß. Speziell berechnet das Verfahren 380 die neuen Normalen in dem Scheitelpunkt vsi i, indem zwischen den Normalen in den Scheitelpunkten vsi i+1 und vm0+i+1 i+1 interpoliert wird, wobei der α-Wert genutzt wird, der beim Minimieren des Geometrie-Energieterms ΔEdist wie oben beschrieben zu der besten Scheitelpunkt-Position vsi i führt. Vorteilhafterweise sind die Absolutrichtungen von Normalen sichtbar weniger von Bedeutung als ihre Unstetigkeiten, welche mittels des geschätzten Energiekosten-Ausdrucks in dem dargestellten Verfahren 380 erhalten werden, was unten beschrieben ist.
  • Erhaltung von Unstetigkeitskurven (Edisc).
  • Erscheinungsattribute führen zu einer Folge von Unstetigkeitskurven auf der Masche, sowohl aufgrund von Unterschieden zwischen diskreten Seitenflächenattributen (beispielsweise Materialgrenzen) als auch von Unterschieden zwischen skalaren Eckattributen (beispielsweise Falten und Schattengrenzen). Speziell führen die Attribute D und S zu Unstetigkeiten in der sichtbaren Erscheinung der Masche. Eine Kante {vj,vk} der Masche wird als scharf bezeichnet, wenn (1) es sich um eine Grenzkante handelt, (2) seine zwei benachbarten Seitenflächen f1 und f2 unterschiedliche diskrete Attribute aufweisen (d. h. df1 ≠ df2) oder (3) seine benachbarten Ecken unterschiedliche skalare Attribute haben (d. h. s(vk,f1) ≠ s(vk.f2)). Die Folge von scharfen Kanten definiert eine Folge von Unstetigkeitskurven über die Masche (beispielsweise die gelben Kurven in den (8a–d)). Weil diese Unstetigkeitskurven hochgradig wahrnehmbare Merkmale bilden, ist es wesentlich, sie topologisch und geometrisch zu erhalten.
  • Das dargestellte PM-Konstruktionsverfahren 380 stellt fest, wenn eine Kandidaten-Kanten-Kollaps-Transformation die Topologie der Unstetigkeitskurven modifizieren würde, indem einige lokale Bedingungen getestet werden. Sei speziell sharp{vj,vk} die Bezeichnung dafür, daß eine Kante {vj,vk} scharf ist, und #sharp {vj} die Anzahl von scharfen Kanten benachbart zu einem Scheitelpunkt vj. Gemäß 6 modifiziert die Kanten-Kollaps-Transformation 110 einer Kante {vs,vt} 92 die Topologie der Unstetigkeitskurven dann, wenn entweder: (1) sharp {vs, vl} und sharp {vt,vl} oder sharp {vs,v2} und sharp {vt,v2}, oder (2) #sharp{vs} ≥ 1 und #sharp{vl} ≥ 1 und nicht sharp{vs,v1}, oder (3) #sharp{vs} ≥ 3 und #sharp{vt} ≥ 3 und sharp{vs,v1}, oder (4) sharp{vs, vt} und #sharp{vs} = 1 und #sharp{v1} ≠ 2, oder (5) sharp{vs, vt} und #sharp{vt} = 1 und #sharp{vs} 2.
  • Eine Anzahl von unterschiedlichen Strategien kann in dem PM-Konstruktionsverfahren 380 angewendet werden, um die Unstetigkeitskurven zu erhalten, wobei die oben beschriebenen Tests genutzt werden. Eine alternative Strategie (im folgenden als die fixierte Unstetigkeitskurven-Strategie bezeichnet) besteht darin, einen Kanten-Kollaps nicht zu erlauben, wenn diese Tests zeigen, daß der Kanten-Kollaps die Topologie der Unstetigkeitskurven modifizieren würde. Eine kompliziertere, alternative Strategie, welche Änderungen der Unstetigkeitskurven-Topologie erlaubt, diese jedoch bestraft, wird unten beschrieben.
  • Um auch die Geometrie der Unstetigkeitskurven zu erhalten, tastet das beschriebene Verfahren 380 weiter eine zusätzliche Folge von Punkten Xdisc der scharfen Kanten von M ab und definiert einen zusätzlichen Energieterm Edisc in dem geschätzten Energiekosten-Ausdruck (13) als gleich zum Quadrat der Gesamtabstände jedes dieser Punkte zu der Unstetigkeitskurve, aus welcher abgetastet wurde. Dieses bedeutet mit anderen Worten, daß Edisc gleich Edsic definiert wird, mit der Ausnahme, daß die Punkte Xdisc dahingehend begrenzt sind, daß sie auf eine Folge von scharfen Kanten in der Masche zeigen. Im Ergebnis löst das Verfahren 380 ein Kurvenanpaßproblem, welches in das gesamte Oberflächenanpaßproblem eingebettet ist. Weil alle Grenzen der Oberfläche als Unstetigkeitskurven definiert sind, erhält unsere Prozedur die Grenzgeometrie exakter als Hoppe93.
  • Gemäß den 23(a–c) wird der Vorteil des Anwendens des zusätzlichen Edisc Energieterms in dem Energiekosten-Ausdruck (13) mittels der vereinfachten Maschen 440 (23(a)) und 442 (23(b)) demonstriert. Beide Maschen 440 und 442 sind auf 2.000 Seitenflächen vereinfacht, wobei nur die Masche 440 ohne den Edisc -Energieterm in dem Energiekosten-Ausdruck (13) vereinfacht wurde, wohingegen die Masche 442 mit dem Edisc-Energieterm vereinfacht wurde. Im Ergebnis ist infolge der Unstetigkeitskurven-Erhaltung die Masche 442 eine sichtbar viel bessere Näherung der ursprünglichen Masche als die Masche 440. Dieses wird insbesondere bezüglich der Topologie der Unstetigkeitskurven sichtbar, die die Fenster in dem Modell definieren. Einige der Unstetigkeitskurven der Masche sind mittels gelber Linien in den 23(a–c) angezeigt.
  • Erlauben von Änderungen der Topologie der Unstetigkeitskurven.
  • Gemäß den 23(a–c) enthalten einige Maschen zahlreiche Unstetigkeitskurven, und diese Kurven können Merkmale abgrenzen, die zu klein sind, um bei einer Betrachtung aus einem Abstand von Interesse zu sein. In solchen Fällen verkürzt die strikte Erhaltung der Topologie der Unstetigkeitskurven unnötiger Weise die Vereinfachung. In einer alternativen Strategie zum Erhalten der Unstetigkeitskurven erlaubt das PM-Konstruktionsverfahren 380 Änderungen der Topologie der Unstetigkeitskurven, bestraft solche Änderungen jedoch. Wenn ein Kandidat-Kanten-Kollaps ecol({vs,vt}) die Topologie der Unstetigkeitskurven der Masche ändert, fügt das Verfahren 380 zu seinen geschätzten Energiekosten ΔE den Wert |Xdsisc(vs,vt)|•||vs,vt||2 (18)hinzu, wobei |Xdsisc(vs,vt)| die Anzahl von Punkten von Xdisc ist, die gegenwärtig auf {vs,vt} zeigen.
  • Diese einfache Strategie hat sich als sehr effektiv erwiesen. Um dieses zu zeigen, wurde die Masche 442 (23(b)) mit Hilfe des Verfahrens 380 vereinfacht, indem die feste Unstetigkeitskurven-Erhaltung-Strategie zu 2.000 Seitenflächen genutzt wurde, wohingegen die Masche 444 (23(c)) auf 2.000 Seitenflächen vereinfacht wurde, indem die Erhaltungsstrategie genutzt wurde, welche Änderungen der Unstetigkeitskurven nur bestraft. Mit der Strate gie, die Änderungen der Unstetigkeitskurve erlaubt, wird das Verschwinden der dünnen, dunklen, grauen Fensterrahmen in der Masche 444 erlaubt. In der Masche 442 zwingt die feste Unstetigkeitskurven-Erhaltung-Strategie die Fensterrahmen jedoch zu bleiben, was zu einer schlechteren Qualität der vereinfachten Masche führt.
  • Das dargestellte PM-Konstruktionsverfahren 380 (19) ist eines von vielen PM-Konstruktionsverfahren mit variierenden Ausgängen bezüglich Geschwindigkeit und Genauigkeit. Ein viel einfacheres, alternatives PM-Konstruktionsverfahren besteht darin, legale Kanten-Kollaps-Transformationen zufällig auszuwählen. (Einige lokale Bedingungen müssen für ein Kanten-Kollaps erfüllt sein, um legal zu sein, d. h. die Vielfältigkeit zu erhalten, was. in Hoppe93 beschrieben ist.) Obwohl es grob ist, hat dieses Schema den Vorteil, sehr schnell zu sein. Leider liefert dieses Verfahren im allgemeinen schlechte Näherungen mit niedrigem Detailniveau der ursprünglichen, beliebigen Masche M (d. h. die progressiven Maschen M1, die der Basismasche M0 in der progressiven Maschenfolge am nächsten sind).
  • Ein weniger grobes, alternatives PM-Konstruktionsverfahren nutzt eine einfache Heuristik, beispielsweise die "Abstand zu Ebene"-Metrik, die in Schroeder-etal92 beschrieben ist, als Basis zum Verbessern der Kanten-Kollaps-Auswahlstrategie.
  • Die Prinzipien der Erfindung wurden unter Bezugnahme auf die dargestellte Ausführungsform beschrieben. Es wird darauf hingewiesen, daß die dargestellte Ausführungsform hinsichtlich der Anordnung und im Detail modifiziert werden kann, ohne diese Prinzipien zu verlassen. Es wird weiterhin darauf hingewiesen, daß Programme, Prozesse oder Verfahren, die hier beschrieben wurden, nicht zu irgendeinem bestimmten Typ einer Computereinrichtung in Beziehung stehen, oder hierauf begrenzt sind, sofern dies nicht anders erläutert wurde. Verschiedene Arten von Allzweckcomputern oder spezialisierten Computervorrichtungen können mit Operationen in Übereinstimmung mit der hierin beschriebenen Lehre genutzt werden oder diese Operationen ausführen. Elemente der dargestellten Ausführungsform, die als Software beschrieben wurden, können mittels Hardware implementiert werden oder umgekehrt.
  • Aufgrund der vielen möglichen Ausführungsformen, in denen die Prinzipien der Erfindung angewendet werden können, wird darauf hingewiesen, daß die detaillierten Ausführungsformen beispielhaft sind und nicht den Bereich der Erfindung begrenzen. Als Erfindung werden alle Ausführungsformen beansprucht, die im Bereich der folgenden Ansprüche liegen oder hierzu äquivalent sind.

Claims (15)

  1. Verfahren zum Anzeigen selektiv verbesserter Computergrafikdarstellungen eines mehrdimensionalen Objekts, welches in einer progressiven Auflösungs-Datenstruktur repräsentiert wird, die eine Basismaschen-Aufzeichnung und einen Strom von Maschen-Verbesserungsaufzeichnungen umfaßt, wobei die Basismaschen-Aufzeichnung eine repräsentative Basismasche des Objekts mit einem niedrigeren Detailniveau definiert, wobei die Maschen-Verbesserungsaufzeichnungen eine Folge von Maschen-Verbesserungstransformationen zum Verbessern der Basismasche in eine beliebige Masche definieren, die für das Objekt mit einem hohen Detailniveau repräsentativ ist, wobei die Maschen-Verbesserungstransformationen beendet sind, und wobei das Verfahren die folgenden Schritte umfaßt: Bilden einer selektiv verbesserten Masche mit einem groben Anfangsdetailniveau aus der Basismaschen-Aufzeichnung; und Ausführen der folgenden Schritte für jede von mehreren der Maschen-Verbesserungsaufzeichnungen in dem Strom: a) Prüfen, ob die Maschen-Verbesserungstransformationen, die durch die Maschen-Verbesserungsaufzeichnung definiert ist, ein Auswahlkriterium zum Begrenzen der Verbesserung auf einen bestimmten Teil des Objekts erfüllt; und b) Anwenden der Maschen-Verbesserungstransformation auf die selektiv verbesserte Masche, wenn die Maschen-Verbesserungstransformation, die durch die Maschen-Verbesserungsaufzeichnung definiert ist, das Auswahlkriterium erfüllt, und hierdurch Vergrößern des Detailniveaus der selektiv verbesserten Masche in dem gewünschten Teil des Objekts; und Aufbereiten und Anzeigen einer Computergrafikdarstellung des Objekt auf Basis der selektiv verbesserten Masche.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Maschen-Verbesserungstransforinationen Scheitelpunkt-Spalttransformationen sind, von denen jede einen Spalt-Scheitelpunkt modifiziert, der zwei Seiten-Scheitelpunkte umfaßt, um einen neuen Scheitelpunkt und wenigstens eine neue Seitenfläche einzuführen.
  3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß der Schritt zum Prüfen, ob die Maschen-Verbesserungstransformationen das Auswahlkriterium erfüllt, ein Prüfen umfaßt, ob der Spalt-Scheitelpunkt und die zwei Seiten-Scheitelpunkte in der selektiv verbesserten Masche präsent sind.
  4. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß der Schritt zum Prüfen, ob die Maschen-Verbesserungstransformation das Auswahlkriterium erfüllt, das Prüfen umfaßt, ob die nächstgelegenen Vorgänger der zwei Seiten-Scheitelpunkte benachbart zu dem Spalt-Scheitelpunkt in der selektiv verbesserten Masche sind.
  5. Verfahren nach Anspruch 2, wobei der Schritt zum Prüfen, ob die Maschen-Verbesserungstransformation das Auswahlkriterium erfüllt, das Prüfen umfaßt, ob der Spalt-Scheitelpunkt innerhalb des gewünschten Teils des Objekts ist.
  6. Verfahren nach Anspruch 2, wobei der Schritt zum Prüfen, ob die Maschen-Verbesserungstransformation das Auswahlkriterium erfüllt, das Prüfen umfaßt, ob irgendeine von mehreren Seitenflächen der selektiv verbesserten Masche, die benachbart zu dem Spalt-Scheitelpunkt sind, innerhalb des gewünschten Teils des Objekts liegen.
  7. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß der Schritt zum Prüfen, ob die Maschen-Verbesserungstransformation das Auswahlkriterium erfüllt, die folgenden Schritte umfaßt: Berechnen einer gekennzeichneten, projektierten Bildfläche für jede von mehreren Seitenflächen der selektiv verbesserten Masche, die benachbart zu dem Spalt-Scheitelpunkt sind, wobei die gekennzeichnete, projektierte Bildfläche jeder Seitenfläche ein Kennzeichen und eine Größe aufweist; und Prüfen, ob die Seitenflächen alle gekennzeichnete, projektierte Bildflächen mit gleichen Kennzeichen aufweisen.
  8. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß der Schritt zum Prüfen, ob die Maschen-Verbesserungstransformation das Auswahlkriterium erfüllt, die folgenden Schritte umfaßt: Berechnen einer gekennzeichneten, projektierten Bildfläche für jede von mehreren Seitenflächen der selektiv verbesserten Masche, die benachbart zu dem Spalt- Scheitelpunkt sind, wobei die gekennzeichnete, projektierte Bildfläche jeder Seitenfläche ein Kennzeichen und eine Größe aufweist; und Prüfen, ob die Summe der gekennzeichneten, projektierten Bildflächen der Seitenflächen größer als ein vorbestimmten Bildflächen-Schwellwert ist.
  9. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß bestimmt wird, daß eine Maschen-Verbesserungstransformation das Auswahlkriterium nicht erfüllt, wenn die Maschen-Verbesserungstransformation einen Teil der selektiv verbesserten Masche innerhalb des gewünschten Teils des Objekts verbessert, dies jedoch nicht in der Computergrafik sichtbar ist.
  10. Verfahren nach einem der Ansprüche 1 bis 9, gekennzeichnet durch die folgenden Schritte: Konstruieren eines Geomorphs zum Interpolieren zwischen zwei Detailniveaus der selektiv verbesserten Masche gemäß einem Mischparameter; Evaluieren des Geomorphs für mehrere Werte des Mischparameters; und Bearbeiten und Anzeigen von Computergrafikdarstellungen des Objekts auf Basis des bei den Werten evaluierten Geomorphs, wobei die Computergrafikdarstellungen einen glatten sichtbaren Übergang zwischen den zwei Detailniveaus bilden.
  11. Verfahren nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, daß die Computergrafikdarstellung eine Darstellung eines Teils des Objekts innerhalb eines Darstellungsstumpfs ist, und daß das Auswahlkriterium die Verbesserung des Teils des Objekts innerhalb des Darstellungsstumpfs begrenzt.
  12. Computergrafiksystem zum Anzeigen selektiv verbesserter Darstellungen eines mehrdimensionalen Gegenstands, gekennzeichnet durch: einen Datenspeicher zum Speichern von Datenstrukturen mit zunehmender Auflösung, die eine Basismaschen-Aufzeichnung und einen Strom von Maschen-Verbesserungsaufzeichnungen umfassen, wobei die Basismaschen-Aufzeichnung eine Basismasche definiert, die für das Objekt mit einem niedriger Detailniveau repräsentativ ist, wobei die Maschen-Verbesserungsaufzeichnungen eines Folge von Maschen-Verbesserungstransformationen zum Verbessern der Basismasche in eine beliebige Masche definieren, die für das Objekt mit einem hohen Detailniveau repräsentativ ist, und wobei die Maschen-Verbesserungstransformationen beendet sind; einen selektiven Verbesserungsprozessor zum Bilden einer selektiv verbesserten Masche mit einem groben Anfangsdetailniveau aus der Basismaschen-Aufzeichnung zum Prüfen, ob die Maschen-Verbesserungstransformation, die durch jede der mehreren Maschen-Verbesserungsaufzeichnungen in dem Strom definiert wird, ein Auswahlkriterium zum Begrenzen der Verbesserung auf einen bestimmten Teil des Objekts erfüllt, und zum Anwenden solcher Maschen-Verbesserungstransformationen, die das Auswahlkriterium erfüllen, auf die selektiv verbesserte Masche, wodurch das Detailniveau der selektiv verbesserten Masche in dem gewünschten Teil des Objekts erhöht wird; eine Grafikmaschine zum Bearbeiten einer Computergrafikdarstellung des Objekts auf Basis der selektiv verbesserten Masche; und eine Anzeigeneinreichtung zum Anzeigen der Computergrafikdarstellung.
  13. Computergrafiksystem nach Anspruch 12, dadurch gekennzeichnet, daß die Maschen-Verbesserungstransformationen Scheitelpunkt-Spalttransformationen sind, die jeweils einen Spalt-Scheitelpunkt mit zwei Seiten-Scheitelpunkten modifizieren, um einen neuen Scheitelpunkt und wenigstens eine neue Seitenfläche einzuführen.
  14. Computergrafiksystem nach Anspruch 12 oder 13, dadurch gekennzeichnet, daß die Computergrafikdarstellung eine Darstellung eines Teils des Objekts innerhalb eines Darstellungsstumpfs ist und daß das Auswahlkriterium die Verbesserung des Teils des Objekts innerhalb des Darstellungsstumpfes begrenzt.
  15. Computergrafiksystem nach einem der Ansprüche 12 bis 14, gekennzeichnet durch einen Geomorph-Prozessor zum Konstruieren eines Geomorphs, welcher zwischen zwei Detailniveaus der selektiv verbesserten Masche gemäß einem Mischparameter interpoliert, und zum Evaluieren des Geomorphs bei mehreren Werten des Mischparameters, wobei die Grafikmaschine Computergrafikdarstellungen des Objekt auf Basis des bei den Werten für einen glatten sichtbaren Übergang zwischen den zwei Detailniveaus evaluierten Geomorphs bearbeitet.
DE69726479T 1996-01-11 1997-01-07 Selektive Verfeinerung von Gitternetzen Expired - Lifetime DE69726479T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US586953 1996-01-11
US08/586,953 US5963209A (en) 1996-01-11 1996-01-11 Encoding and progressive transmission of progressive meshes

Publications (2)

Publication Number Publication Date
DE69726479D1 DE69726479D1 (de) 2004-01-15
DE69726479T2 true DE69726479T2 (de) 2004-05-27

Family

ID=24347753

Family Applications (4)

Application Number Title Priority Date Filing Date
DE69725480T Expired - Lifetime DE69725480T2 (de) 1996-01-11 1997-01-07 Gitternetzvereinfachung und Konstruktion von Gitternetzen
DE69725487T Expired - Lifetime DE69725487T2 (de) 1996-01-11 1997-01-07 Gitternetze mit veränderbarer Auflösung
DE69725483T Expired - Lifetime DE69725483T2 (de) 1996-01-11 1997-01-07 Gitternetzübertragung und -kodierung
DE69726479T Expired - Lifetime DE69726479T2 (de) 1996-01-11 1997-01-07 Selektive Verfeinerung von Gitternetzen

Family Applications Before (3)

Application Number Title Priority Date Filing Date
DE69725480T Expired - Lifetime DE69725480T2 (de) 1996-01-11 1997-01-07 Gitternetzvereinfachung und Konstruktion von Gitternetzen
DE69725487T Expired - Lifetime DE69725487T2 (de) 1996-01-11 1997-01-07 Gitternetze mit veränderbarer Auflösung
DE69725483T Expired - Lifetime DE69725483T2 (de) 1996-01-11 1997-01-07 Gitternetzübertragung und -kodierung

Country Status (4)

Country Link
US (4) US5963209A (de)
EP (4) EP0788072B1 (de)
CA (4) CA2194833A1 (de)
DE (4) DE69725480T2 (de)

Families Citing this family (225)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3785700B2 (ja) * 1995-12-18 2006-06-14 ソニー株式会社 近似化方法および装置
US6144773A (en) * 1996-02-27 2000-11-07 Interval Research Corporation Wavelet-based data compression
US6348921B1 (en) * 1996-04-12 2002-02-19 Ze Hong Zhao System and method for displaying different portions of an object in different levels of detail
US5675721A (en) * 1996-08-08 1997-10-07 Freedman; Aaron S. Computer network data distribution and selective retrieval system
US5886702A (en) 1996-10-16 1999-03-23 Real-Time Geometry Corporation System and method for computer modeling of 3D objects or surfaces by mesh constructions having optimal quality characteristics and dynamic resolution capabilities
JPH10134208A (ja) 1996-10-31 1998-05-22 Sony Corp 形状データの近似化方法及び描画装置
US5861920A (en) * 1996-11-08 1999-01-19 Hughes Electronics Corporation Hierarchical low latency video compression
US6002803A (en) * 1997-03-11 1999-12-14 Sharp Laboratories Of America, Inc. Methods of coding the order information for multiple-layer vertices
US6064771A (en) * 1997-06-23 2000-05-16 Real-Time Geometry Corp. System and method for asynchronous, adaptive moving picture compression, and decompression
US6208347B1 (en) * 1997-06-23 2001-03-27 Real-Time Geometry Corporation System and method for computer modeling of 3D objects and 2D images by mesh constructions that incorporate non-spatial data such as color or texture
JP3184785B2 (ja) * 1997-07-23 2001-07-09 インターナショナル・ビジネス・マシーンズ・コーポレ−ション 三次元形状モデル送信方法及び装置、三次元形状モデル圧縮方法及び装置、三次元形状モデル表示方法及び装置
US6232974B1 (en) * 1997-07-30 2001-05-15 Microsoft Corporation Decision-theoretic regulation for allocating computational resources among components of multimedia content to improve fidelity
US6300960B1 (en) * 1997-08-04 2001-10-09 Pixar Animation Studios Realistic surface simulation in computer animation
JP3117665B2 (ja) * 1997-08-26 2000-12-18 ジーイー横河メディカルシステム株式会社 画像表示方法および画像表示装置
US6266062B1 (en) * 1997-10-08 2001-07-24 Maria-Cecilia Rivara Longest-edge refinement and derefinement system and method for automatic mesh generation
FR2772162B1 (fr) * 1997-12-10 2000-02-25 Ge Medical Syst Sa Procede de segmentation semi-automatique pour l'estimation de volumes tridimensionnels
JP3654616B2 (ja) * 1997-12-19 2005-06-02 富士通株式会社 階層化ポリゴンデータ生成装置及び方法及び当該階層化ポリゴンデータを用いる三次元リアルタイム映像生成装置及び方法
US6262737B1 (en) * 1998-01-30 2001-07-17 University Of Southern California 3D mesh compression and coding
US6377865B1 (en) 1998-02-11 2002-04-23 Raindrop Geomagic, Inc. Methods of generating three-dimensional digital models of objects by wrapping point cloud data points
US6496186B1 (en) * 1998-02-17 2002-12-17 Sun Microsystems, Inc. Graphics system having a super-sampled sample buffer with generation of output pixels using selective adjustment of filtering for reduced artifacts
US6489956B1 (en) * 1998-02-17 2002-12-03 Sun Microsystems, Inc. Graphics system having a super-sampled sample buffer with generation of output pixels using selective adjustment of filtering for implementation of display effects
US6483504B1 (en) * 1998-02-17 2002-11-19 Sun Microsystems, Inc. Graphics system having a super sampled-sample buffer with efficient storage of sample position information
US6459428B1 (en) * 1998-02-17 2002-10-01 Sun Microsystems, Inc. Programmable sample filtering for image rendering
US6505251B1 (en) * 1998-03-06 2003-01-07 Intel Corporation Controlling the reception of a data signal stream of a progressive format type file
US6191790B1 (en) * 1998-04-01 2001-02-20 Microsoft Corporation Inheritable property shading system for three-dimensional rendering of user interface controls
US6249284B1 (en) 1998-04-01 2001-06-19 Microsoft Corporation Directional navigation system in layout managers
US6169546B1 (en) 1998-04-01 2001-01-02 Microsoft Corporation Global viewer scrolling system
US6404435B1 (en) * 1998-04-03 2002-06-11 Avid Technology, Inc. Method and apparatus for three-dimensional alphanumeric character animation
US6362833B2 (en) * 1998-04-08 2002-03-26 Intel Corporation Method and apparatus for progressively constructing a series of morphs between two-dimensional or three-dimensional models
US6167159A (en) * 1998-04-30 2000-12-26 Virtue Ltd. Triangle mesh compression
US6285372B1 (en) * 1998-05-08 2001-09-04 Lawrence C. Cowsar Multiresolution adaptive parameterization of surfaces
WO1999064944A2 (en) * 1998-06-08 1999-12-16 Microsoft Corporation Compression of time-dependent geometry
JP2000067270A (ja) * 1998-06-12 2000-03-03 Sony Corp 形状デ―タの近似化方法及び情報処理装置並びに媒体
US6421051B1 (en) * 1998-06-18 2002-07-16 Spatial Corporation Multi-resolution geometry
US6879324B1 (en) 1998-07-14 2005-04-12 Microsoft Corporation Regional progressive meshes
US7196702B1 (en) * 1998-07-23 2007-03-27 Freedesign, Inc. Geometric design and modeling system using control geometry
US6981695B1 (en) * 2003-10-14 2006-01-03 Polaris Industries Inc. All terrain vehicle with multiple winches
US8836701B1 (en) 1998-07-23 2014-09-16 Freedesign, Inc. Surface patch techniques for computational geometry
FR2781908B1 (fr) 1998-08-03 2000-09-29 France Telecom Procede de codage d'un maillage a nombre reduit de facettes, procede de reconstruction et applications correspondants
FR2781907B1 (fr) * 1998-08-03 2000-09-29 France Telecom Procede de codage d'un maillage source tenant compte des discontinuites, et applications correspondantes
US6366282B1 (en) 1998-09-08 2002-04-02 Intel Corporation Method and apparatus for morphing objects by subdividing and mapping portions of the objects
US6198486B1 (en) * 1998-09-23 2001-03-06 Intel Corporation Method of using a hybrid error metric for multi-resolution mesh generation
US6313837B1 (en) * 1998-09-29 2001-11-06 Schlumberger Technology Corporation Modeling at more than one level of resolution
US6307555B1 (en) * 1998-09-30 2001-10-23 Silicon Graphics, Inc. Boolean operations for subdivision surfaces
US6249287B1 (en) * 1998-11-16 2001-06-19 General Electric Company Method of modeling a closed surface geometry
US6570924B1 (en) * 1998-11-20 2003-05-27 Interval Research Corp Low cost video compression using fast, modified Z-coding of wavelet pyramids
US6226405B1 (en) * 1998-12-18 2001-05-01 International Business Machines Corporation Method and apparatus for updating node position
US6553337B1 (en) * 1998-12-23 2003-04-22 Silicon Graphics, Inc. Parameterization of subdivision surfaces
US6373489B1 (en) * 1999-01-12 2002-04-16 Schlumberger Technology Corporation Scalable visualization for interactive geometry modeling
US6512522B1 (en) 1999-04-15 2003-01-28 Avid Technology, Inc. Animation of three-dimensional characters along a path for motion video sequences
US6693646B1 (en) * 1999-04-28 2004-02-17 Microsoft Corporation Method and system for iterative morphing
WO2001013332A2 (en) * 1999-08-11 2001-02-22 Biovirtual Limited Method for generating and animating a three-dimensional human body model
US6567082B1 (en) * 1999-08-23 2003-05-20 Intel Corporation Incremental resolution changes in multi-resolution meshes with update records
US8830235B1 (en) * 1999-09-13 2014-09-09 Alcatel Lucent Non-uniform relaxation procedure for multiresolution mesh processing
US6587104B1 (en) * 1999-09-30 2003-07-01 Microsoft Corporation Progressive hulls
JP3639475B2 (ja) * 1999-10-04 2005-04-20 シャープ株式会社 3次元モデル生成装置および3次元モデル生成方法ならびに3次元モデル生成プログラムを記録した記録媒体
US6822658B1 (en) 1999-10-25 2004-11-23 Intel Corporation Rendering a silhouette edge
US7042454B1 (en) * 1999-10-27 2006-05-09 Hewlett-Packard Development Company, L.P. Method and apparatus for displaying distributed multiresolution scenes
US6452600B1 (en) * 1999-10-28 2002-09-17 Nintendo Co., Ltd. Graphics system interface
US6798411B1 (en) * 1999-10-29 2004-09-28 Intel Corporation Image processing
GB9926131D0 (en) * 1999-11-05 2000-01-12 Superscape Limited Image enhancement
US6727925B1 (en) * 1999-12-20 2004-04-27 Michelle Lyn Bourdelais Browser-based room designer
US6765574B1 (en) 1999-12-23 2004-07-20 Intel Corporation Methods of hierarchical static scene simplification and polygon budgeting for 3D models
CA2396419C (en) 2000-01-06 2007-03-20 Schlumberger Canada Limited System and method for multi-resolution fairing of non-manifold models
US7129947B1 (en) 2000-07-26 2006-10-31 California Institute Of Technology Use of normal meshes in three-dimensional imaging
WO2001052194A1 (en) * 2000-01-14 2001-07-19 California Institute Of Technology Use of normal meshes in three-dimensional imaging
US6633789B1 (en) * 2000-02-17 2003-10-14 Align Technology, Inc. Effiicient data representation of teeth model
US6463344B1 (en) * 2000-02-17 2002-10-08 Align Technology, Inc. Efficient data representation of teeth model
US6704791B1 (en) * 2000-02-24 2004-03-09 Scott C. Harris Three dimensional experience for thick and thin clients
US7098925B1 (en) * 2000-03-10 2006-08-29 Intel Corporation Shading of images using texture
US6910001B2 (en) 2000-03-22 2005-06-21 Schlumberger Technology Corp. Distributed multiresolution geometry modeling system and method
US7180523B1 (en) 2000-03-31 2007-02-20 Intel Corporation Trimming surfaces
US7184039B2 (en) 2000-05-09 2007-02-27 Mental Images Gmbh Computer-implemented method for generating coarse level meshes for multi-resolution surface editing
US6996505B1 (en) 2000-06-21 2006-02-07 Raindrop Geomagic, Inc. Methods, apparatus and computer program products for automatically generating nurbs models of triangulated surfaces using homeomorphisms
FR2810770B1 (fr) * 2000-06-23 2003-01-03 France Telecom Raffinement d'un maillage triangulaire representatif d'un objet en trois dimensions
FR2811791B1 (fr) * 2000-07-13 2002-11-22 France Telecom Estimateur de mouvement pour le codage et le decodage de sequences d'images
US6795068B1 (en) 2000-07-21 2004-09-21 Sony Computer Entertainment Inc. Prop input device and method for mapping an object from a two-dimensional camera image to a three-dimensional space for controlling action in a game program
US7071914B1 (en) 2000-09-01 2006-07-04 Sony Computer Entertainment Inc. User input device and method for interaction with graphic images
US6978230B1 (en) 2000-10-10 2005-12-20 International Business Machines Corporation Apparatus, system, and method for draping annotations on to a geometric surface
US6570568B1 (en) 2000-10-10 2003-05-27 International Business Machines Corporation System and method for the coordinated simplification of surface and wire-frame descriptions of a geometric model
US6518964B1 (en) * 2000-10-10 2003-02-11 International Business Machines Corporation Apparatus, system, and method for simplifying annotations on a geometric surface
WO2002039387A1 (en) * 2000-11-07 2002-05-16 Holographic Imaging Llc Improved three dimensional display
US7061501B1 (en) 2000-11-07 2006-06-13 Intel Corporation Rendering a pencil-sketch image
FR2817066B1 (fr) * 2000-11-21 2003-02-07 France Telecom Procede de codage par ondelettes d'un maillage representatif d'un objet ou d'une scene en trois dimensions, dispositifs de codage et decodage, systeme et structure de signal correspondants
US8924506B2 (en) * 2000-12-27 2014-12-30 Bradium Technologies Llc Optimized image delivery over limited bandwidth communication channels
US7139794B2 (en) * 2000-12-27 2006-11-21 3-D-V-U Israel (2000) Ltd. System and methods for network image delivery with dynamic viewing frustum optimized for limited bandwidth communication channels
US6738062B1 (en) * 2001-01-10 2004-05-18 Nvidia Corporation Displaced subdivision surface representation
US6959114B2 (en) * 2001-02-28 2005-10-25 Samsung Electronics Co., Ltd. Encoding method and apparatus of deformation information of 3D object
US7190374B2 (en) 2001-02-28 2007-03-13 Intel Corporation Shading polygons from a three-dimensional model
US7116330B2 (en) 2001-02-28 2006-10-03 Intel Corporation Approximating motion using a three-dimensional model
TW493142B (en) * 2001-03-14 2002-07-01 Ind Tech Res Inst Method for building progressive mesh
US7136063B2 (en) * 2001-03-19 2006-11-14 Microsoft Corporation Triangle management in triangular meshes based on a tri-edge structure
US6760023B2 (en) 2001-03-29 2004-07-06 Schlumberger Technology Corporation System and method for correctly decimating height fields with missing values
US20040205036A1 (en) * 2001-04-30 2004-10-14 Nagabhushana Prabhu Optimization on lie manifolds
FR2825855A1 (fr) * 2001-06-06 2002-12-13 France Telecom Procedes et dispositifs de codage et de decodage d'images mettant en oeuvre des maillages emboites, programme, signal et application correspondantes
US6980206B2 (en) * 2001-06-07 2005-12-27 Intel Corporation Rendering a three-dimensional model using a dither pattern
KR100414058B1 (ko) * 2001-08-20 2004-01-07 엘지전자 주식회사 3차원 다각형 표면의 리메슁 최적화 방법 및 장치
US6924804B2 (en) * 2001-09-25 2005-08-02 Intel Corporation Reducing the resolution of bones in a three-dimensional model
US6906724B2 (en) * 2001-10-17 2005-06-14 Lntel Corporation Generating a shadow for a three-dimensional model
JP3796658B2 (ja) * 2001-10-22 2006-07-12 株式会社日立製作所 解析モデル作成装置
US6897863B2 (en) * 2001-11-30 2005-05-24 Caterpillar Inc System and method for hidden object removal
US6744434B2 (en) 2001-11-30 2004-06-01 Caterpillar Inc Cuts removal system for triangulated CAD Models
US6694264B2 (en) * 2001-12-19 2004-02-17 Earth Science Associates, Inc. Method and system for creating irregular three-dimensional polygonal volume models in a three-dimensional geographic information system
US6657624B2 (en) * 2001-12-21 2003-12-02 Silicon Graphics, Inc. System, method, and computer program product for real-time shading of computer generated images
US7548241B2 (en) * 2002-01-04 2009-06-16 Intel Corporation Determining a node path through a node graph
KR100428542B1 (ko) * 2002-03-07 2004-04-29 삼성전자주식회사 웨이블릿을 기반으로 한 3차원 영상객체의 다해상도표현방법
US6714203B1 (en) * 2002-03-19 2004-03-30 Aechelon Technology, Inc. Data aware clustered architecture for an image generator
US7009605B2 (en) * 2002-03-20 2006-03-07 Nvidia Corporation System, method and computer program product for generating a shader program
US7301547B2 (en) 2002-03-22 2007-11-27 Intel Corporation Augmented reality system
US7146297B2 (en) * 2002-03-27 2006-12-05 Intel Corporation Detecting collisions of three-dimensional models
JP3833138B2 (ja) * 2002-04-19 2006-10-11 キヤノン株式会社 画像処理装置、画像処理方法、プログラム及び記憶媒体
US7071936B2 (en) * 2002-05-01 2006-07-04 Microsoft Corporation Systems and methods for providing signal-specialized parametrization
US6850233B2 (en) * 2002-05-01 2005-02-01 Microsoft Corporation Systems and methods for optimizing geometric stretch of a parametrization scheme
US6975318B2 (en) * 2002-06-25 2005-12-13 Intel Corporation Polygon binning process for tile-based rendering
US6982715B2 (en) * 2002-07-26 2006-01-03 Intel Corporation Mesh compression process
KR100507778B1 (ko) * 2002-09-19 2005-08-17 한국전자통신연구원 셀룰러 토폴로지 기반의 프로그레시브 솔리드 모델 생성장치 및 그 방법
JP3793143B2 (ja) * 2002-11-28 2006-07-05 株式会社シマノ 自転車用電子制御装置
US7265753B1 (en) * 2002-12-09 2007-09-04 Bentley Systems, Inc. Particle tracing with on-demand meshing
US7129942B2 (en) * 2002-12-10 2006-10-31 International Business Machines Corporation System and method for performing domain decomposition for multiresolution surface analysis
US7167174B2 (en) * 2002-12-19 2007-01-23 Mental Images Gmbh Computer graphic system and method for efficiently encoding subdivision triangular surfaces of a triangular surface element and for recovering their coordinates
US7617079B2 (en) * 2003-01-20 2009-11-10 Autodesk, Inc. Unified subdivision for arbitrary and partial degree surfaces and curves with consistent property propagation
FR2852128A1 (fr) * 2003-03-07 2004-09-10 France Telecom Procede pour la gestion de la representation d'au moins une scene 3d modelisee.
US7075532B2 (en) * 2003-05-23 2006-07-11 International Business Machines Corporation Robust tetrahedralization and triangulation method with applications in VLSI layout design and manufacturability
US7002586B2 (en) * 2003-08-29 2006-02-21 Sun Microsystems, Inc. Method and apparatus for vertex splitting in a graphics system
US8133115B2 (en) 2003-10-22 2012-03-13 Sony Computer Entertainment America Llc System and method for recording and displaying a graphical path in a video game
US7567247B2 (en) * 2004-02-24 2009-07-28 Pixar Method and system for disjoint and smooth interpolation of scalar field on subdivision surface
US7680350B2 (en) * 2004-05-07 2010-03-16 TerraMetrics, Inc. Method and system for progressive mesh storage and reconstruction using wavelet-encoded height fields
US7091982B2 (en) * 2004-05-14 2006-08-15 Nvidia Corporation Low power programmable processor
US7389006B2 (en) * 2004-05-14 2008-06-17 Nvidia Corporation Auto software configurable register address space for low power programmable processor
US7529418B2 (en) * 2004-05-20 2009-05-05 Hewlett-Packard Development Company, L.P. Geometry and view assisted transmission of graphics image streams
US7750914B2 (en) * 2004-08-26 2010-07-06 Intel Corporation Subdividing geometry images in graphics hardware
KR101086402B1 (ko) 2004-08-30 2011-11-25 삼성전자주식회사 영상 분할 방법
JP4664023B2 (ja) * 2004-08-31 2011-04-06 国立大学法人北海道大学 解析用四面体メッシュ生成装置
US20060071933A1 (en) 2004-10-06 2006-04-06 Sony Computer Entertainment Inc. Application binary interface for multi-pass shaders
KR100603602B1 (ko) * 2004-12-13 2006-07-24 한국전자통신연구원 조밀하지 않은 비정렬 3차원 측정점들을 이용한 3차원메쉬 생성 방법
EP1688885B1 (de) * 2005-02-03 2013-06-19 Samsung Electronics Co., Ltd. Verfahren, Vorrichtung und Medium zur Umwandlung von Grafikdaten eines Objektes
JP4597766B2 (ja) * 2005-05-20 2010-12-15 株式会社日立製作所 解析用メッシュ生成システム
US7636126B2 (en) 2005-06-22 2009-12-22 Sony Computer Entertainment Inc. Delay matching in audio/video systems
US8004517B1 (en) * 2005-06-24 2011-08-23 Geomagic, Inc. Methods, apparatus and computer program products that model three-dimensional surface structures
US7746343B1 (en) * 2005-06-27 2010-06-29 Google Inc. Streaming and interactive visualization of filled polygon data in a geographic information system
US7212216B2 (en) * 2005-06-29 2007-05-01 Honeywell International, Inc. Perspective view primary flight display with terrain-tracing lines and method
US7414623B2 (en) * 2005-06-29 2008-08-19 Microsoft Corporation Adaptive sampling for procedural graphics
US8032265B2 (en) * 2005-06-29 2011-10-04 Honeywell International Inc. System and method for enhancing computer-generated images of terrain on aircraft displays
US7280107B2 (en) * 2005-06-29 2007-10-09 Microsoft Corporation Procedural graphics architectures and techniques
US20070030280A1 (en) * 2005-08-08 2007-02-08 Via Technologies, Inc. Global spreader and method for a parallel graphics processor
WO2007027847A2 (en) * 2005-09-01 2007-03-08 Geosim Systems Ltd. System and method for cost-effective, high-fidelity 3d-modeling of large-scale urban environments
US7933897B2 (en) 2005-10-12 2011-04-26 Google Inc. Entity display priority in a distributed geographic information system
US7590268B1 (en) * 2005-10-17 2009-09-15 Adobe Systems Incorporated Method and apparatus for representing an area of a raster image by a centerline
US7876322B2 (en) * 2005-11-29 2011-01-25 Siemens Corporation Method and apparatus for fast and efficient mesh simplification
US20100214293A1 (en) * 2005-12-02 2010-08-26 Koninklijke Philips Electronics, N.V. System and method for user interation in data-driven mesh generation for parameter reconstruction from imaging data
US7408553B1 (en) * 2005-12-15 2008-08-05 Nvidia Corporation Inside testing for paths
US20070162162A1 (en) * 2006-01-09 2007-07-12 Tarun Kumar Method and apparatus for generating alternative representation of optimization models
CN101410875B (zh) * 2006-04-24 2012-07-04 松下电器产业株式会社 描绘装置以及描绘方法
US7965859B2 (en) 2006-05-04 2011-06-21 Sony Computer Entertainment Inc. Lighting control of a user environment via a display device
US7880746B2 (en) 2006-05-04 2011-02-01 Sony Computer Entertainment Inc. Bandwidth management through lighting control of a user environment via a display device
US7953260B2 (en) * 2006-06-09 2011-05-31 Craniosim Solutions, Inc. Predicting movement of soft tissue of the face in response to movement of underlying bone
FR2906388B1 (fr) * 2006-09-26 2008-12-19 Commissariat Energie Atomique Procede et dispositif de detection de collision entre deux objets simules numeriquement
US20080117204A1 (en) * 2006-11-22 2008-05-22 Matthias Thorn Rendering performance regulator
WO2008066304A1 (en) * 2006-12-02 2008-06-05 Electronics And Telecommunications Research Institute Apparatus and method for reducing popping artifacts for multi-level level-of-detail terrains
KR20080050279A (ko) * 2006-12-02 2008-06-05 한국전자통신연구원 다단계 해상도 지형의 이미지 튐 현상 완화 장치 및 방법
US8547395B1 (en) 2006-12-20 2013-10-01 Nvidia Corporation Writing coverage information to a framebuffer in a computer graphics system
AU2008275873B2 (en) * 2007-07-19 2013-06-06 Disney Enterprises, Inc. Methods and apparatus for multiple texture map storage and filtering
US9013499B2 (en) 2007-07-19 2015-04-21 Disney Enterprises, Inc. Methods and apparatus for multiple texture map storage and filtering including irregular texture maps
US8004522B1 (en) 2007-08-07 2011-08-23 Nvidia Corporation Using coverage information in computer graphics
US8325203B1 (en) 2007-08-15 2012-12-04 Nvidia Corporation Optimal caching for virtual coverage antialiasing
US8760450B2 (en) * 2007-10-30 2014-06-24 Advanced Micro Devices, Inc. Real-time mesh simplification using the graphics processing unit
US8243064B1 (en) * 2007-11-15 2012-08-14 Nvidia Corporation System for providing scalable physics content
WO2009096891A1 (en) * 2008-02-01 2009-08-06 Donya Labs Ab Real-time user guided optimization of general 3d data
US11907617B2 (en) 2008-07-18 2024-02-20 Cad-Sense Llc Surface patch techniques for computational geometry
US20100138793A1 (en) * 2008-12-02 2010-06-03 Microsoft Corporation Discrete objects for building virtual environments
US8860723B2 (en) * 2009-03-09 2014-10-14 Donya Labs Ab Bounded simplification of geometrical computer data
KR101591472B1 (ko) * 2009-04-15 2016-02-03 삼성전자주식회사 점진적 메쉬 복호화 방법과 장치
US8731876B2 (en) * 2009-08-21 2014-05-20 Adobe Systems Incorporated Creating editable feature curves for a multi-dimensional model
TWI443603B (zh) * 2009-11-23 2014-07-01 Inst Information Industry 二維向量圖形三角化系統及其方法
US10786736B2 (en) 2010-05-11 2020-09-29 Sony Interactive Entertainment LLC Placement of user information in a game space
CN102255930B (zh) * 2010-05-21 2014-04-02 国际商业机器公司 用于提供虚拟世界的场景数据的方法和系统
US9131252B2 (en) 2010-07-22 2015-09-08 Thomson Licensing Transmission of 3D models
US8860719B2 (en) * 2011-01-21 2014-10-14 Samsung Electronics Co., Ltd. Apparatus and method for encoding three-dimensional (3D) mesh, and apparatus and method for decoding 3D mesh
KR101844297B1 (ko) 2011-03-17 2018-04-02 삼성전자주식회사 3차원 메쉬 부호화 방법 및 장치
US9454554B1 (en) 2011-05-12 2016-09-27 Bentley Systems, Incorporated View dependent query of multi-resolution clustered 3D dataset
US9342817B2 (en) 2011-07-07 2016-05-17 Sony Interactive Entertainment LLC Auto-creating groups for sharing photos
EP2722776A1 (de) 2012-10-17 2014-04-23 Thomson Licensing Verfahren und Vorrichtung zum Abrufen einer Mediendatei von Interesse
FR2998685B1 (fr) * 2012-11-27 2016-01-08 Inst Nat Sciences Appliquees Lyon Procede de transmission entre deux terminaux de donnees representatives d'un objet tridimensionnel
US9311749B2 (en) 2012-12-07 2016-04-12 Donya Labs Ab Method for forming an optimized polygon based shell mesh
US9311748B2 (en) 2013-02-20 2016-04-12 Google Inc. Method and system for generating and storing data objects for multi-resolution geometry in a three dimensional model
US9177418B1 (en) * 2013-03-15 2015-11-03 Lockheed Martin Corporation System and method for converting computer aided design data into a three dimensional model
US9390556B2 (en) 2013-03-15 2016-07-12 Teledyne Caris, Inc. Systems and methods for generating a large scale polygonal mesh
CN103295267A (zh) * 2013-05-31 2013-09-11 东莞中山大学研究院 一种基于最小折叠代价的三维模型边折叠简化的方法
US9373192B2 (en) 2013-06-12 2016-06-21 Google Inc. Shape preserving mesh simplification
US9965893B2 (en) * 2013-06-25 2018-05-08 Google Llc. Curvature-driven normal interpolation for shading applications
US9396586B2 (en) 2014-03-14 2016-07-19 Matterport, Inc. Processing and/or transmitting 3D data
FR3035990A1 (fr) 2015-05-07 2016-11-11 Inst Mines Telecom Procede de simplification de modele de geometrie
US9646410B2 (en) 2015-06-30 2017-05-09 Microsoft Technology Licensing, Llc Mixed three dimensional scene reconstruction from plural surface models
US11195325B2 (en) 2015-07-01 2021-12-07 3D4Medical Limited Method and apparatus for freeform cutting of digital three dimensional structures
US10163247B2 (en) 2015-07-14 2018-12-25 Microsoft Technology Licensing, Llc Context-adaptive allocation of render model resources
US9665978B2 (en) 2015-07-20 2017-05-30 Microsoft Technology Licensing, Llc Consistent tessellation via topology-aware surface tracking
RU2595953C1 (ru) * 2015-08-04 2016-08-27 Акционерное общество "Концерн радиостроения "Вега" Способ арифметического кодирования с шифрованием
CN105427360B (zh) * 2015-11-11 2019-01-18 华南理工大学 一种动态网格的误差可控cage序列表示算法
US10186082B2 (en) * 2016-04-13 2019-01-22 Magic Leap, Inc. Robust merge of 3D textured meshes
US10109105B2 (en) * 2016-07-12 2018-10-23 Nature Simulation Systems Inc. Method for immediate boolean operations using geometric facets
US10120961B2 (en) * 2016-07-12 2018-11-06 Nature Simulation Systems Inc. Method for immediate boolean operations using geometric facets
US11010513B2 (en) * 2017-02-28 2021-05-18 National Technology & Engineering Solutions Of Sandia, Llc Methods and devices for preventing computationally explosive calculations in a computer for model parameters distributed on a hierarchy of geometric simplices
US10708597B2 (en) 2018-02-01 2020-07-07 Microsoft Technology Licensing, Llc Techniques for extrapolating image frames
US10657675B2 (en) * 2018-03-06 2020-05-19 Google Llc Techniques for improved progressive mesh compression
GB2572620C (en) * 2018-04-05 2021-10-20 Imagination Tech Ltd Accessing Primitive Data
CN111788607A (zh) * 2018-04-12 2020-10-16 谷歌有限责任公司 用于改进的渐进网格压缩的批次密度增加
US10659789B2 (en) * 2018-04-12 2020-05-19 Google Llc Encoding cost aware edge selection for improved progressive mesh compression
US10692248B2 (en) * 2018-04-12 2020-06-23 Google Llc Increased density of batches for improved progressive mesh compression
US10643352B2 (en) * 2018-04-12 2020-05-05 Google Llc Vertex split connectivity prediction for improved progressive mesh compression
CN109190231B (zh) * 2018-08-24 2023-04-28 中建中原建筑设计院有限公司 基于grasshopper的折板网壳参数化建模方法
US10783669B2 (en) * 2018-09-26 2020-09-22 Google Llc Texture coordinate compression using texture atlas
JP7282532B2 (ja) * 2019-01-24 2023-05-29 キヤノン株式会社 情報処理装置、情報処理方法、データ構造、及びプログラム
JP6784785B2 (ja) * 2019-01-29 2020-11-11 日本ユニシス株式会社 メッシュ簡略化装置およびメッシュ簡略化用プログラム
US11094087B2 (en) * 2019-06-24 2021-08-17 Google Llc Dual serving scheme for LOD sequences
US11127106B2 (en) 2019-06-28 2021-09-21 Intel Corporation Runtime flip stability characterization
US11409341B2 (en) 2019-10-01 2022-08-09 Intel Corporation Repeating graphics render pattern detection
CN111179401B (zh) * 2019-12-31 2023-07-25 北京真景科技有限公司 基于3d曲面数据的拓扑分组方法
CN111881610B (zh) * 2020-07-31 2023-09-15 北京环境特性研究所 一种用于有限元模型的辐射渲染方法及装置
US11727638B1 (en) * 2020-08-21 2023-08-15 Meta Platforms Technologies. LLC Adaptive geometric smoothing
US11794107B2 (en) * 2020-12-30 2023-10-24 Activision Publishing, Inc. Systems and methods for improved collision detection in video games
US20230290063A1 (en) * 2022-03-11 2023-09-14 Apple Inc. Adaptive tessellation for efficient dynamic mesh encoding, decoding, processing, and rendering
US11928781B2 (en) 2022-04-01 2024-03-12 Microsoft Technology Licensing, Llc Mesh simplification
CN117197395B (zh) * 2023-11-02 2024-03-01 广州中望龙腾软件股份有限公司 一种曲面三角剖分方法、装置、存储介质及计算机设备
CN117272759B (zh) * 2023-11-20 2024-03-15 埃洛克航空科技(北京)有限公司 三维重建过程中三角格网的分裂方法、装置和计算机设备
CN117785869B (zh) * 2023-12-04 2024-08-27 中国航空发动机研究院 网格数据的处理方法、装置、电子设备和存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4870497A (en) * 1988-01-22 1989-09-26 American Telephone And Telegraph Company Progressive transmission of high resolution two-tone facsimile images
US5448686A (en) * 1992-01-02 1995-09-05 International Business Machines Corporation Multi-resolution graphic representation employing at least one simplified model for interactive visualization applications
US5590248A (en) * 1992-01-02 1996-12-31 General Electric Company Method for reducing the complexity of a polygonal mesh
US5553206A (en) * 1993-02-12 1996-09-03 International Business Machines Corporation Method and system for producing mesh representations of objects
US5619625A (en) * 1993-05-28 1997-04-08 Ricoh Company, Ltd. Method for interpolating smooth free-form surfaces into curve mesh including composite curves

Also Published As

Publication number Publication date
EP0789330B1 (de) 2003-12-03
JP3615007B2 (ja) 2005-01-26
CA2194836A1 (en) 1997-07-11
EP0784295B1 (de) 2003-10-15
DE69726479D1 (de) 2004-01-15
EP0788072B1 (de) 2003-10-15
EP0789330A2 (de) 1997-08-13
US5929860A (en) 1999-07-27
EP0788072A2 (de) 1997-08-06
EP0784295A3 (de) 1999-11-03
DE69725483T2 (de) 2004-05-19
DE69725480T2 (de) 2004-04-29
CA2194835A1 (en) 1997-07-11
CA2194834A1 (en) 1997-07-12
US6046744A (en) 2000-04-04
EP0789329A3 (de) 1999-11-03
EP0789329B1 (de) 2003-10-15
CA2194835C (en) 2000-10-24
CA2194836C (en) 2001-09-11
CA2194833A1 (en) 1997-07-11
US5966133A (en) 1999-10-12
JPH09198524A (ja) 1997-07-31
CA2194834C (en) 2001-09-11
EP0784295A2 (de) 1997-07-16
DE69725487T2 (de) 2004-05-19
DE69725487D1 (de) 2003-11-20
US5963209A (en) 1999-10-05
EP0789330A3 (de) 1999-11-03
EP0789329A2 (de) 1997-08-13
DE69725480D1 (de) 2003-11-20
DE69725483D1 (de) 2003-11-20
EP0788072A3 (de) 1999-11-03

Similar Documents

Publication Publication Date Title
DE69726479T2 (de) Selektive Verfeinerung von Gitternetzen
DE69722040T2 (de) 2-d gittergeometrie und bewegungsvektorkompression
DE69601086T2 (de) Verfahren und system zur darstellung einer datengruppe mit einer datentransformationsfunktion und einer datenmaske
Certain et al. Interactive multiresolution surface viewing
DE69634962T2 (de) Extrapolation von Pixelwerten eines in einem Block enthaltenen Videoobjektes
DE69811050T2 (de) Rekonstruktionsverfahren, Vorrichtung und Dekodierungssystem für dreidimensionalen Szenen.
DE60026197T2 (de) Detailgerichtete hierarchische Distanzfelder in der Objektmodellierung
Zorin et al. Interactive multiresolution mesh editing
DE69014392T2 (de) Verfahren zum Zeichnen mit einem Computer.
DE112022003547T5 (de) Verschobene Mikronetz-Kompression
DE69716877T2 (de) System und Verfahren zur genauen Gradientberechnung für die Texturabbildung in einem Computergraphiksystem
EP2528042B1 (de) Verfahren und Vorrichtung zum Re-Meshing von 3D-Polygonmodellen
DE69331419T2 (de) Bilddatenverarbeitung
DE69328230T2 (de) Entfernungbildverarbeitungsvorrichtung und -verfahren
DE112005003003T5 (de) System, Verfahren und Programm zum Komprimieren von dreidimensionalen Bilddaten sowie Aufzeichnungsmedium hierfür
DE4303071A1 (de) Verfahren und Vorrichtung zur Randbewertung in einer Nicht-Mannigfaltigkeits-Umgebung
DE69318930T2 (de) Bilddatenverarbeitung
DE102022119422A1 (de) Verfahren zum Erzeugen einer hierarchischen Datenstruktur, hierarchische Datenstruktur sowie Verfahren zum Streamen von dreidimensionalen Objekten
DE102023124805A1 (de) Modifizieren von zweidimensionalen bildern unter verwendung von segmentierten dreidimensionalen objektnetzen der zweidimensionalen bilder
DE69904843T2 (de) Kompression- und kodierungsverfahren eines 3d maschennetzwerks
Radha et al. Binary space partitioning tree representation of images
DE69929757T2 (de) Farbumwandlung
DE60002580T2 (de) 3d maschenkompression und -kodierung
EP0960390B1 (de) Verfahren und anordnung zur kodierung eines digitalisierten bildes
EP0960388B1 (de) Verfahren und anordnung zur codierung eines digitalisierten bildes

Legal Events

Date Code Title Description
8364 No opposition during term of opposition