DE69926986T2 - Rechnergrafiken-animationsverfahren und vorrichtung - Google Patents

Rechnergrafiken-animationsverfahren und vorrichtung Download PDF

Info

Publication number
DE69926986T2
DE69926986T2 DE69926986T DE69926986T DE69926986T2 DE 69926986 T2 DE69926986 T2 DE 69926986T2 DE 69926986 T DE69926986 T DE 69926986T DE 69926986 T DE69926986 T DE 69926986T DE 69926986 T2 DE69926986 T2 DE 69926986T2
Authority
DE
Germany
Prior art keywords
network
points
triangles
vertices
computer graphics
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69926986T
Other languages
English (en)
Other versions
DE69926986D1 (de
Inventor
Johannes Bruijns
W. Cornelis VAN OVERVELD
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of DE69926986D1 publication Critical patent/DE69926986D1/de
Application granted granted Critical
Publication of DE69926986T2 publication Critical patent/DE69926986T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Description

  • Die vorliegende Erfindung bezieht sich auf ein Rechnergraphiken-Animationserfahren wie in dem Oberbegriff des Anspruchs 1 beschrieben.
  • Ein derartiges Verfahren ist aus einer Magisterarbeit von D. Dekkers, veröffentlicht an der Technischen Universität in Eindhoven, Niederlanden, im Februar 1977, bekannt.
  • Implizierte Oberflächendefinitionen bilden ein starkes Werkzeug zum definieren einer Oberfläche mit einer variablen Form zur Verwendung in Rechnergraphiken. Die implizierte Oberfläche wird mit Hilfe einer Funktion definiert, deren Argumente Koordinaten in dem Raum sind, in dem die Oberfläche liegt. Die Punkte auf der implizierten Oberfläche sind Punkte, deren Koordinaten eine Gleichung erfüllen, die diese Funktion mit sich bringt. So kann beispielsweise eine sphärische Oberfläche mit Hilfe einer Funktion definiert werden, welche die Summe der Quadrate der Koordinaten ist, indem verlangt wird, dass für Punkte auf der Oberfläche die Funktion einen vorbestimmten positiven Wert haben soll. Andere mehr komplizierte Oberflächen können dadurch definiert werden, dass Funktionen in der Gleichung kombiniert werden (beispielsweise addiert werden).
  • Obschon eine implizierte Oberflächendefinition ein starkes Werkzeug zum Definieren einer Oberfläche ist, ist eine derartige Definition weniger bequem zur aktuellen Aufbereitung der Oberfläche, d.h. zur Berechnung eines Bildes einer Szene, in der sich die Oberfläche befindet.
  • Dekkers schlägt vor, von der implizierten Oberflächendefinition aus ein Netz flacher Dreiecke zu berechnen und dieses Netz unter Verwendung flacher Dreiecke aufzubereiten.
  • Dies ist interessant, weil verfügbare Hardware zum Aufbereiten von Oberflächen für Oberflächen optimiert ist, die aus einem Netz flacher Dreiecke aufgebaut sind. Die linearen Eigenschaften der Gleichungen, die derartige Dreiecke beschreiben, ermöglichen es, dass derartige Dreiecke mit großer Geschwindigkeit und mit hoher Effizienz aufbereitet werden können.
  • Hardware, die keine flache Dreiecke benutzt, ist eine nicht interessante Alternative: nicht-lineare Oberflächendefinitionen, welche die Lösung nicht-linearer Gleichungen erfordern um Punkte auf der Oberfläche zu finden, können nicht mit einer derart hohen Geschwindigkeit aufbereitet werden. Weiterhin erfordern die meisten Graphikaufgaben meistens oder nur flache Dreiecke, so dass Hardware zum Aufbereiten implizierter Oberflächen nebst verfügbarer Hardware geschaffen werden muss, die zum Aufbereiten flacher Dreiecke optimiert wird.
  • Implizierte Oberflächendefinitionen sind sehr geeignet zum Definieren einer animierten Oberfläche mit einer zeitvariablen Form, beispielsweise durch Verwendung einer Funktion, welche die Summe zweier Subfunktionen ist, und durch Translation oder Rotation der Subfunktion gegenüber der anderen als eine Funktion der Zeit.
  • Vorzugsweise sollen Bilder derartiger animierter Oberflächen mit zeitvariabler Form in Echtzeit berechnet werden, d.h. so schnell wie diese Bilder einander an einer Wiedergabeanordnung ersetzen. Dies ist bequem, beispielsweise für Computerspielapplikationen, bei denen die Form interaktiv durch den Spieler gesteuert wird.
  • Aber das Berechnen eines Netzes flacher Dreiecke aus einer implizierten Oberflächendefinition ist sehr zeitaufwendig. Im Allgemeinen ist es erforderlich, die Gleichung mit der Funktion wiederholt zu lösen, weil die Funktion nicht linear ist. Außerdem sollen Eckpunkte in dem Netz über die Oberfläche verteilt werden, damit die Annäherungsfehler, die durch Annäherung der Oberfläche durch flache Dreiecke eingeführt werden, begrenzt werden und damit vermieden wird, dass zu viele flache Dreiecke aufbereitet werden müssen.
  • Dekkers hat vorgeschlagen, die Zeit, erforderlich zum Berechnen des Netzes flacher Dreiecke während der Animation, durch Verwendung der Eckpunkte des Netzes, die für ein Bild an dem ersten Zeitpunkt als Startpunkt zum Berechnen entsprechender Eckpunkte des Netzes berechnet worden sind, für ein Bild zum zweiten Zeitpunkt, der nahe bei dem ersten Zeitpunkt liegt, zu reduzieren. Auf diese Art und Weise sind nur einige Wiederholungen erforderlich um aktualisierte Eckpunkte zu erhalten, die eine ausreichende Annäherung der Oberfläche schaffen. Die Verteilung der Eckpunkte 4 kann auch weitgehend von der ersten Zeitpunkt übernommen werden. Dekkers schlägt vor, in den Wiederholungen eine Verschiebung der Eckpunkte, parallel zu der Oberfläche einzuverleiben, damit eine optimale Verteilung erhalten wird.
  • Aber das Verfahren von Dekkers ist dennoch sehr zeitaufwendig und lässt Animation unter Verwendung implizierter Oberflächendefinitionen eine teure Option für Computergraphik.
  • Es ist daher u. a. eine Aufgabe der vorliegenden Erfindung, eine Möglichkeit zu schaffen, Computeranimierung unter Verwendung implizierter Oberflächenmodelle zu beschleunigen.
  • Das Verfahren nach der vorliegenden Erfindung weist dazu das Kennzeichen auf, wie in dem kennzeichnen Teil des Anspruchs 1 beschrieben.
  • Nach der vorliegenden Erfindung wird die implizierte Oberflächendefinition benutzt zum Berechnen von Steuerpunkten einer nicht linearen koordinatenbewerteten Funktion, welche die implizierte Funktion annähert. Eine koordinatenbewertete Funktion ist eine Funktion, die Koordinaten auf einer Oberfläche Argumenten zuordnet, die eine Position auf einer Oberfläche parametrieren. Ein Beispiel einer koordinatenbewerteten Funktion ist eine gewichtete Summe von Bernstein-Polynomen, wie diese benutzt werden zum Definieren einer Bezier-Form.
  • Weil eine nicht lineare koordinatenbewertete Funktion stärker ist zum Beschreiben gekrümmter Formen als eines flachen Dreiecks, brauchen für eine Annäherung mit einer bestimmten Genauigkeit viel weniger Steuerpunkte berechnet zu werden als in dem Fall, dass die impliziert definierte Oberfläche durch ein Netz flacher Dreiecke angenähert wird.
  • Weiterhin wird die koordinatenbewertete Funktion benutzt zum Berechnen der Eckpunkte in einem Netz flacher Polygone. Diese Berechnung kann viel schneller durchgeführt werden als wenn die Eckpunkte unmittelbar aus der implizierten Oberflächendefinition berechnet werden. Weil die Berechnung von Eckpunkten von einer koordinatenbewerteten Funktion auch auf andere Aufbereitungsprobleme angewandt werden kann, ist es wirtschaftlich interessanter spezielle Hardware für diese Berechnung vorzusehen, wodurch das Verfahren noch schneller gemacht wird.
  • Während der Animation werden die Steuerpunkte der koordinatenbewerteten Funktion zu einem ersten Zeitpunkt als Startpunkt zum berechnen der Steuerpunkte der koordinatenbewerteten Funktion zu einem zweiten Zeitpunkt benutzt. Auf diese Weise werden die zeitschluckenden Wiederholungen nur für die Steuerpunkte durchgeführt und nicht für alle Eckpunkte des Netzes flacher Polygone. Dadurch wird die Rechenzeit, erforderlich für Wiederholungen, reduziert.
  • In einer Ausführungsform des Verfahrens nach der vorliegenden Erfindung entspricht die nicht lineare Koordinatenfunktion einem Netz angrenzender Dreiecke zwei ten Grades. Dies ist eine Oberflächenpräsentation, die insbesondere für die Umwandlung zu flachen Dreiecken geeignet ist.
  • Ausführungsbeispiele der Erfindung sind in der Zeichnung dargestellt und werden im Folgenden näher beschrieben. Es zeigen:
  • 1 ein Beispiel einer zeitabhängigen Oberfläche,
  • 2 eine Anordnung zum Aufbereiten eines impliziert definierten Oberfläche,
  • 3 ein Flussdiagramm zum Aufbereiten eines impliziert definierten Oberfläche,
  • 4 eine Aufspaltung einer Oberfläche zu einem Zeitpunkt.
  • Implizierte Oberflächendefinitionen sind ein kräftiges Werkzeug zum Definieren der Formoberflächen zur Verwendung in Computergraphiken. Eine implizierte Definition einer Oberfläche kann im Allgemeinen in Form einer Gleichung geschrieben werden: F(x,y,z) = C
  • Diese Gleichung definiert eines Sammlung von Punkten mit Koordinaten (x,y,z), welche diese Gleichung erfüllen. Ein Beispiel einer derartigen Definition ist die Definition eines Satzes von Punkten, welche die Oberfläche einer Sphäre bilden. In diesem Fall kann man die nachfolgende Funktion verwenden: F(x,y,z) = (x–x0)2 + (y–y0)2 + (z–z0)2
  • Wenn C > 0 ist, ist die Sammlung von Punkten mit Koordinaten (x,y,z), welche die Gleichung F(x,y,z) = C erfüllen, die Oberfläche einer Sphäre.
  • Implizierte Oberflächendefinitionen sind interessant für Applikationen in Computergraphiken, weil sie ein starkes Verfahren bilden zum Definieren von Oberflächen. So kann man beispielsweise die Funktion F(x,y,z) aus mehreren Subfunktionen zusammenstellen, die je an sich impliziert eine Basisform definieren. Die Zusammenstellung beschreibt eine Kombination dieses Basisformen mit geschmeidigen Übergängen zwischen den Formen. So kann man beispielsweise eine Oberfläche definieren, aufgebaut aus eine Kombination von Oberflächen zweier Sphären, und zwar unter Anwendung der nachfolgenden Funktion: F(x,y,z) = F1(x,y,z) + F2(x,y,z)diese Funktion F(x,y,z) besteht aus zwei Subfunktionen F1(x,y,z) = A1/{1 + (x–x1)2 + (y–y1)2 + (z–z1)2} F2(x,y,z) = A2/{1 + (x–x2)2 + (y–y2)2 + (z–z2)2}
  • Jede dieser Funktionen an sich könnte verwendet werden zum Definieren der Oberfläche eines Sphäre entsprechend F1(x,y,z) = C und F2(x,y,z) = C um Positionen mit den Koordinaten (x1,y1,z1) bzw. (x2,y2,z2). Die kombinierte Funktion definiert eine geschmeidige Kombination dieser Oberflächen.
  • Obschon das Beispiel Sphären benutzt, können implizierte Definitionen selbstverständlich angewandt werden zum Definieren jeder beliebigen Oberfläche. Mit nur einfachen quadratischen Funktionen kann man bereits Formen wie ebene Flächen, Zylinder, Kegel usw. und Kombinationen derselben definieren.
  • Während der Animation können Oberflächen mit einer zeitvariablen Form auf einfache Art und Weise durch Verwendung von Funktionen mit zeitvariablen Parametern geschaffen werden. So kann beispielsweise die Oberfläche, die durch Kombination der Oberflächen zweier Sphären geschaffen worden ist, dadurch verformt werden, dass die Parameter A1.(x1,y1,z1) und A2.(x2,y2,z2) der Komponentenfunktionen in der Zeit variiert werden (die Parameter (x1,y1,z1) und (x2,y2,z2) werden auch als Steuerpunkte der Funktion F bezeichnet).
  • 1 zeigt ein Beispiel eines Schnittes 10 durch eine impliziert definierte Oberfläche, definiert unter Anwendung zweier Komponentenfunktionen mit Mittelpunkten 12 bzw. 14 (beispielsweise mit den Koordinaten x1,y1,z1 bzw. x2,y2,z2). 1 zeigt ebenfalls einen Schnitt 18 (gestrichelte Linie) durch die Oberfläche, wenn sie in der Zeit gefaltet worden ist, weil eine der Mittelpunkte 14 zu einem Punkt 16 verlagert worden ist.
  • Obschon implizierte Definitionen dieses Typs ein starkes Werkzeug zum Modellieren von Oberflächen sind, sind sie weniger geeignet für eine effiziente direkte Aufbereitung dieser Oberflächen, d.h. zum Berechnen des Wertes der Pixel eines Bildes mit einer derartigen Oberfläche. Dies ist weil eine direkte Aufbereitung einer implizierten Definition eine öftere Auflösung der Gleichung F(x,y,z) erfordern würde.
  • Dies kann zu Problemen führen, insbesondere in Computergraphikanordnungen, die unter Echtzeitbedingungen arbeiten müssen, wie interaktiven Anordnungen, welche die Oberflächenform als eine Funktion der Benutzerreaktion auf die Oberfläche anpassen. Um dieses Problem zu überwinden wird ein indirektes Aufbereitungsverfahren vorgeschlagen, wobei die implizierte Definition der Oberfläche zunächst in eine Zwischendefinition umgewandelt wird, bevor die Aufbereitung stattfindet.
  • 2 zeigt eine Computergraphikanordnung zum Aufbereiten impliziert definierter Oberflächen. Diese Anordnung enthält ein erstes Modul 20 zum Erzeugen eines impliziertes Oberflächenmodells. Das erste Modul 20 ist mit einer ersten Umwandlungseinheit 21 gekoppelt, und zwar zur Umwandlung einer implizierten Oberflächendefinition in eine Definition einer Oberfläche in Termen von Bezier-Dreiecken. Ein Ausgang der ersten Umwandlungseinheit 21 ist mit einem Eingang einer zweiten Umwandlungseinheit 22 gekoppelt, und zwar zur Umwandlung der Definition in Termen von Bezier-Dreiecken in eine Definition in Termen flacher Dreiecke. Die zweite Umwandlungseinheit 22 hat einen Ausgang, der mit einem Eingang einer Aufbereitungseinheit für flache Dreiecke 24 gekoppelt ist, wobei diese Einheit die Definition in Termen flacher Dreiecke in ein Bild der Oberfläche umwandelt. Ein Ausgang der Aufbereitungseinheit 24 für flache Dreiecke ist mit einer Wiedergabeanordnung 25 gekoppelt. Eine Zeitaktualisierungs-Signalisierungseinheit 28 ist mit dem ersten Modul 20 und der ersten Umwandlungseinheit 21 gekoppelt.
  • 3 zeigt ein Flussdiagramm, das die Wirkungsweise der Anordnung beschreibt. Das Flussdiagramm umfasst einen ersten Schritt 30, in dem ein impliziertes Modell einer Oberfläche, wie der Oberfläche 10 nach 1 dadurch erzeugt wird, dass eine Anzahl geeigneter Funktionen und Parameter (wie Al. x1,y1,z1 usw.) dieser Funktionen gewählt wird. In einem zweiten Schrott 32 des Flussdiagramms wird die Definition dieser Funktionen benutzt zum Berechnen der Koordinaten einer Anzahl Steuerpunkte 100a–h, die eine Annäherung der Oberfläche definieren, beispielsweise in Termen von Bezier Dreiecken zweiter Ordnung.
  • In einem Bezier Dreieck wird ein Oberflächenflicken durch eine koordinatenbewertete Funktion definiert G(u,v) = (X(u,v),Y(u,v),Z(u,v)), die Oberflächenkoordinatenpaaren (u,v) dreidimensionale Koordinaten (X, Y, Z) zuordnen: für jedes Oberflächenkoordinatenpaar (u,v) innerhalb der Domäne der Funktion G, definiert G eine Berechnung von X,Y,Z. Wenn G eine Bezier Funktion ist, beispielsweise: G(u, v) = Sumklm Rklm ukvl(l-u-v)m wobei Rklm für verschiedene Indizen k, l, m Koordinatenvektoren einer Anzahl Steuerpunkte sind.
  • Die Koordinaten von Punkten auf der Oberfläche können viel schneller berechnet werden unter Anwendung koordinatenbewerteter Funktionen als unter Anwendung einer implzierten Definition. Insbesondere wenn polynominale koordinatenbewertete Funktionen eines tiefen Grades (beispielsweise zweiten Grades) verwendet werden, kann die Berechnung sehr schnell sein, beispielsweise unter Anwendung von Vorwärts-Differenzverfahren zum berechnen der XYZ-Koordinaten, die Punkten zugeordnet worden sind, die in uv-Raum in gleichen Abständen voneinander liegen.
  • In dem Fall, wo Bezier Funktionen angewandt werden, entscheidet der zweite Schritt 32 von der implizierten Definition, wie viele verschiedene Flicken verwendet werden sollen um die impliziert definierte Oberfläche anzunähern und der zweite Schritt berechnet die Koordinaten einer Anzahl dieser Steuerpunkte R für jeden dieser Flicken.
  • In einem dritten Schritt 34 des Flussdiagramms werden die koordinatenbewerteten Funktionen benutzt zum berechnen von Koordinaten von Eckpunkten eines Netzes flacher Dreiecke, das ihrerseits die Oberflächenflicken annähert, die durch die koordinatenbewerteten Funktionen definiert sind.
  • 4 gibt symbolisch einen derartigen Satz von Eckpunkten in zwei Dimensionen wieder. Die Oberfläche 10 enthält Steuerpunkte 100a–h, die in diesem zweidimensionalen Beispiel gekrümmte Linienflicken definieren, die für gekrümmte Oberflächenflicken stehen. Von den Steuerpunkten 100a–h sind Eckpunkte 102a–r berechnet worden, die gerade Liniensegmente definieren, die Paare aufeinander folgender Eckpunkte 102a–r verbinden; die geraden Liniensegmente stehen symbolisch für flache Dreiecke.
  • In dem vierten Schritt 35 des Flussdiagramms werden die Koordinaten der Eckpunkte des Netzes flacher Dreiecke verwendet zum berechnen des Inhaltes von Pixeln in einem Bild der Oberfläche. In einem fünften Schritt 36 des Flussdiagramms wird dieses Bild wiedergegeben.
  • Für den vierten Schritt 35 kann es erforderlich sein, auf die Oberfläche Beobachtungstransformationen anzuwenden. Beobachtungstransformationen umfassen Transformationen zum Darstellen der Oberfläche in einem Koordinatensystem gegenüber dem Gesichtspunkt. Eine derartige Beobachtungstransformation kann das Hinzufügen eines Translationsvektors zu den Koordinaten von Punkten der Oberfläche umfassen (zum Erklären der Lage des selektierten Gesichtspunktes) und das Multiplizieren dieser Koordinaten mit einer Rotationsmatrix (zum Erklären der Orientierung der fiktiven Kamera, mit der das Bild genommen werden muss).
  • Vorzugsweise werden die Beobachtungstransformationen auf die Koordinaten der Steuerpunkte 100a–h angewandt und die Koordinaten der Eckpunkte werden aus den transformierten Steuerpunkten 100a–h berechnet. Auf diese Weise brauchen keine Beobachtungstransformationen auf die Koordinaten der Eckpunkte angewandt zu werden, was den Rechenaufwand, der zum Durchführen des Flussdiagramms nach 3 erforderlich ist, reduziert.
  • In einem sechsten Schritt 38 des Flussdiagramms wird das implizierte Oberflächenmodell aktualisiert, so dass es einem zweiten Zeitpunkt entspricht, der dem ersten Zeitpunkt folgt, für den das Bild in den vorhergehenden Schritten aufbereitet wurde.
  • In 1 wird ein Schnitt durch das Modell dargestellt, wie dies zu dem zweiten Zeitpunkt gehört. Es ist beispielsweise ersichtlich, dass die Mitte 12 einer der Sphären sich in eine neue Lage 16 verlagert hat, wodurch auf diese Weise die Funktion F(x,y,z) geändert wird, so dass sie impliziert eine neue Oberfläche 18 für den zweiten Zeitpunkt definiert.
  • Ein siebenter Schritt 39 des Flussdiagramms wird nach dem sechsten Schritt durchgeführt. In dem siebenten Schritt 39 werden die Koordinaten R der Steuerpunkte 100a–h (die verwendet wurden zum Annähern der Oberfläche durch koordinatenbewertete Funktionen) nun als Ausgangswerte für die Koordinaten R' neuer Steuerpunkte 160a–h verwendet, die verwendet wurden zum Annähern der Oberfläche zu dem zweiten Zeitpunkt.
  • Von diesen Ausgangswerten R werden neue Werte R' berechnet, beispielsweise mit Hilfe einer Rekursionsbeziehung: R(n+1) = R(n) – Sn Sn = a·grad F(R(n))wobei R(0) = R ist und R' = R(n) ist für ein bestimmtes n (beispielsweise n = 1). Auf diese Art und Weise verlagert sich der Punkt R um einen Schritt Sn in der Richtung des Gradienten, beispielsweise mit "a" proportional zu (F(R(n))- C)/(grad(F(R(n)))2
  • Außerdem können Terme zu Sn hinzugefügt werden, so dass die Punkte 100a–h auf eine solche Art und Weise sich verlagern, dass die Verteilung der Steuerpunkte 160a–h für die Oberfläche nach wie vor geeignet ist (einige Punkte in relativ flachen Gebieten der Ober fläche und mehr Punkte in stark gekrümmten Gebieten). Die Magisterarbeit von Dekkers beschreibt, wie dies gemacht werden kann für Eckpunkte flacher Dreiecke, beispielsweise durch Hinzufügung zu Sn eines Vektors tangential zu der Oberfläche (senkrecht zu grad(F(R))) beispielsweise so dass die Steuerpunkte sich gegenseitig abstoßen und/oder durch Hinzufügung zu Sn eines Vektors in der Richtung der Änderung der Steuerpunkte 12, 14 der implizierten Funktion, damit die Steuerpunkte 100a–h der koordinatenbewerteten Funktionen den Bewegungen eines oder mehrerer Steuerpunkte 12, 14 der implizierten Funktion F folgen. Ähnliche Verfahren können auf die Steuerpunkte 160a–h der koordinatenbewerteten Funktionen der vorliegenden Erfindung angewandt werden.
  • 1 gibt die Bewegung der Ausgangssteuerpunkte 100a–h zu neuen Steuerpunkten 160a–h durch Pfeile an.
  • Nach dein siebenten Schritt 39 ist ein neuer (Annäherungs) Satz von Koordinaten von Steuerpunkten 160a–h verfügbar und mit diesem Satz wird das Flussdiagramm für den zweiten Zeitpunkt wiederholt, wie von dem dritten Schritt 34. Das heißt, der zweite Schritt 32, wobei die Koordinaten der Steuerpunkte 100a–h zunächst berechnet werden, wird nicht wiederholt für die Steuerpunkte 160a–h für den zweiten Steuerpunkt, aber der Schritt, in dem die Koordinaten der Eckpunkte 102a–r des Netzes flacher Dreiecke berechnet wird, wird für den zweiten Zeitpunkt wiederholt und die Koordinaten der Eckpunkte 102a–r des Netzes flacher Dreiecke werden für den zweiten Zeitpunkt berechnet, und nicht durch Verwendung der vorher berechneten Eckpunkte für den ersten Zeitpunkt als eine Anfangsannäherung erhalten.
  • Obschon die meisten Schritte des Flussdiagramms nach 3 nacheinander durch einen einfachen Allzweckcomputer durchgeführt werden können, wird bevorzugt, dass wenigstens einige Schritte durch verschiedene Anordnungen in Rohrleitungsweise durchgeführt werden, beispielsweise so dass die Berechnung der neuen Steuerpunkte 160a–h in der ersten Umwandlungseinheit 21 gestartet wird, und zwar zu einem Zeitpunkt, wo die Aufbereitungseinheit 24 die flachen Dreiecke noch verarbeitet, die für die vorhergehenden Steuerpunkte 100a–h berechnet worden sind.
  • Der Rechenaufwand, erforderlich zum Berechnen neuer Koordinaten von Steuerpunkten in dem siebenten Schritt 39 kann abhängig von der Größe der Änderung in der impliziert definierten Oberflächevariieren. Unter bestimmten Umständen kann dies zu der Möglichkeit führen, dass die Koordinaten der Eckpunkte des Netzes flacher Dreiecke nicht schnell genug berechnet werden kann, damit Echtzeit-Beschränkungen erfüllt werden. In diesem Fall kann es bequem sein, vorher berechnete Koordinaten zum Teil der Eckpunkte in dem dritten Schritt 34 statt der Berechnung aller Eckpunkte aufs neue. Auf diese Weise wird Zeit gespart um Echtzeit-Beschränkungen zu erfüllen. Da die Eckpunkte, wenn sie berechnet werden, jeweils aufs neue berechnet werden, werden dadurch keine kumulativen Fehler eingeführt. Die Anzahl Eckpunkte, die aufs neue berechnet werden, kann derart angepasst werden, dass der erforderliche Rechenaufwand in dem siebenten 39 plus dritten Schritt 34 ein Maximum nicht überschreitet, das für Echtzeit-Berechnung erlaubt ist.

Claims (12)

  1. Rechnergraphiken-Animationsverfahren, das die nachfolgenden Verfahrensschritte umfasst: – das Liefern eines zeitabhängigen impliziten Flächenmodells; – das Berechnen eines ersten Netzes von Punkten, das eine Annäherung der impliziten Fläche zu einem ersten Zeitpunkt darstellt; – das Verwenden der Punkte des ersten Netzes als Ausgangspunkt für eine Berechnung eines zweiten Netzes von Punkten, das eine Annäherung der impliziten Fläche zu einem zweiten Zeitpunkt darstellt; dadurch gekennzeichnet, dass das Verfahren die nachfolgenden Verfahrensschritte umfasst: – das Verwenden des ersten und des zweiten Netzes von Punkten als Steuerpunkte einer ersten und einer zweiten nicht linearen Koordinaten-bewerteten Funktion; – das Aufbereiten von Flächen, definiert durch die erste bzw. zweite nicht lineare Koordinaten-bewertete Funktion.
  2. Rechnergraphiken-Animationsverfahren nach Anspruch 1, wobei der Aufbereitungsschritt das aus dem ersten und dem zweiten Netz von Steuerpunkten Berechnen von Eckpunkten eines ersten bzw. eines zweiten Netzes flacher Dreiecke umfasst, wobei das erste und das zweite Netz flacher Dreiecke den durch die ersten bzw. zweiten Koordinatenbewerteten Funktionen definierten Flächen annähern, wobei durch das genannte Netz flacher Dreiecke definierte Flächen aufbereitet werden.
  3. Rechnergraphiken-Animationsverfahren nach Anspruch 2, wobei Betrachtungstransformationen auf das erste und zweite Netz von Steuerpunkten angewandt werden, wobei die Eckpunkte aus den transformierten Steuerpunkten berechnet werden.
  4. Rechnergraphiken-Animationsverfahren nach Anspruch 1, wobei die Koordinaten-bewerteten Funktionen Bezier-Funktionen zweiten Grades sind, definiert über Bezier-Dreiecke.
  5. Rechnergraphiken-Animationsverfahren nach Anspruch 1, wobei das implizite Flächenmodell, das mit Hilfe einer Funktion von Koordinatenwerten definiert wird, wobei Koordinaten aller Punkte auf der Fläche zu demselben Funktionswert führen, die Punkte des zweiten Netzes dadurch berechnet werden, dass ein Term in der Richtung eines örtlichen Gradienten der genannten Funktion zu den Punkten des ersten Netzes hinzugefügt wird.
  6. Rechnergraphiken-Animationsverfahren nach Anspruch 2, wobei ein Teil der Eckpunkte des zweiten Netzes flacher Dreiecke aus dem zweiten Netz von Steuerpunkten berechnet wird, wobei ein restlicher Teil der Eckpunkte des zweiten Netzes flacher Dreiecke von den Eckpunkten des ersten Netzes flacher Dreiecke kopiert, wobei eine Größe des genannten Teils derart eingestellt wird, dass der für das Verfahren erforderliche Rechenaufwand unter einem Maximalwert gehalten wird, der unter Echtzeitbegrenzungen erlaubt ist.
  7. Rechnergraphiken-Anordnung, welche die nachfolgenden Elemente umfasst: – einen Eingang zum Empfangen von Parametern eines zeitabhängigen impliziten Flächenmodells; – Rechnereinheit, vorgesehen zum Berechnen eine ersten Netzes von Punkten, das eine Annäherung der impliziten Fläche zu einem ersten Zeitpunkt darstellt, wobei die Rechnereinheit dazu vorgesehen ist, die Punkte des ersten Netzes als Ausgangspunkt für eine Berechnung eines zweiten Netzes zu verwenden, das eine Annäherung der impliziten Fläche zu einem zweiten Zeitpunkt darstellt; dadurch gekennzeichnet, dass die Anordnung eine Umwandlungseinheit aufweist, vorgesehen zur Verwendung des ersten und des zweiten Netzes von Punkten als Steuerpunkte einer ersten und einer zweiten nicht linearen Koordinaten bewerteten Funktion, und dass die Anordnung eine Aufbereitungseinheit aufweist zum Aufbereiten von Flächen, definiert durch die erste bzw. zweite nicht lineare Koordinaten-bewertete Funktion.
  8. Rechnergraphiken-Anordnung nach Anspruch 7, wobei die Aufbereitungseinheit die nachfolgenden Elemente aufweist: – eine weitere Umwandlungseinheit, vorgesehen um aus dem ersten und dem zweiten Netz von Steuerpunkten Eckpunkte eines ersten bzw. zweiten Netzes flacher Dreiecke zu berechnen, wobei das erste und das zweite Netz flacher Dreiecke den Flächen annähern, die durch die ersten bzw. zweiten Koordinaten-bewerteten Funktionen definiert sind, – ein flaches Dreieck aufbereitende Einheit zum Aufbereiten von Flächen, definiert durch das genannte Netz flacher Dreiecke.
  9. Rechnergraphiken-Anordnung nach Anspruch 8, wobei die Anordnung vorgesehen ist zum Anwenden von Betrachtungstransformationen auf das erste und das zweite Netz von Steuerpunkten, wobei die Eckpunkte aus transformierten Steuerpunkten berechnet werden.
  10. Rechnergraphiken-Anordnung nach Anspruch 7, wobei die Koordinatenbewerteten Funktionen Bezier-Funktionen zweiten Grades sind, definiert durch Bezier-Dreiecke.
  11. Rechnergraphiken-Anordnung nach Anspruch 7, wobei das implizite Flächenmodell mit Hilfe einer Funktion von Koordinatenwerten definiert wird, wobei Koordinaten aller Punkte auf der Fläche zu demselben Funktionswert führen, wobei die Rechnereinheit die Punkte des zweiten Netzes dadurch berechnet, dass ein Term in der Richtung eines örtlichen Gradienten der genannten Funktion zu den Punkten des ersten Netzes hinzugefügt wird.
  12. Rechnergraphiken-Anordnung nach Anspruch 8, wobei die Rechnereinheit einen Teil der Eckpunkte des zweiten Netzes flacher Dreiecke berechnet, die aus dem zweiten Netz von Steuerpunkten berechnet worden sind, wobei ein restlicher Teil der Eckpunkte des zweiten Netzes flacher Dreiecke von den Eckpunkten des ersten Netzes flacher Dreiecke kopiert wird, wobei die Anordnung eine Größe des genannten Teils derart einstellt, dass der für das Verfahren erforderliche Rechenaufwand unterhalb eines maximalen Wertes gehalten wird, der unter Echtzeitbegrenzungen erlaubt werden kann.
DE69926986T 1998-07-01 1999-06-17 Rechnergrafiken-animationsverfahren und vorrichtung Expired - Fee Related DE69926986T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP98202214 1998-07-01
EP98202214 1998-07-01
PCT/IB1999/001137 WO2000002164A2 (en) 1998-07-01 1999-06-17 Computer graphics animation method and device

Publications (2)

Publication Number Publication Date
DE69926986D1 DE69926986D1 (de) 2005-10-06
DE69926986T2 true DE69926986T2 (de) 2006-06-22

Family

ID=8233875

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69926986T Expired - Fee Related DE69926986T2 (de) 1998-07-01 1999-06-17 Rechnergrafiken-animationsverfahren und vorrichtung

Country Status (8)

Country Link
US (1) US6515668B1 (de)
EP (1) EP1040451B1 (de)
JP (1) JP2002520703A (de)
KR (1) KR100657775B1 (de)
CN (1) CN1143246C (de)
DE (1) DE69926986T2 (de)
TW (1) TW389866B (de)
WO (1) WO2000002164A2 (de)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090109996A1 (en) * 2007-10-29 2009-04-30 Hoover Russell D Network on Chip
US20090125706A1 (en) * 2007-11-08 2009-05-14 Hoover Russell D Software Pipelining on a Network on Chip
US20090125703A1 (en) * 2007-11-09 2009-05-14 Mejdrich Eric O Context Switching on a Network On Chip
US8261025B2 (en) * 2007-11-12 2012-09-04 International Business Machines Corporation Software pipelining on a network on chip
US8526422B2 (en) * 2007-11-27 2013-09-03 International Business Machines Corporation Network on chip with partitions
US8473667B2 (en) * 2008-01-11 2013-06-25 International Business Machines Corporation Network on chip that maintains cache coherency with invalidation messages
US8010750B2 (en) * 2008-01-17 2011-08-30 International Business Machines Corporation Network on chip that maintains cache coherency with invalidate commands
US8018466B2 (en) * 2008-02-12 2011-09-13 International Business Machines Corporation Graphics rendering on a network on chip
US8490110B2 (en) * 2008-02-15 2013-07-16 International Business Machines Corporation Network on chip with a low latency, high bandwidth application messaging interconnect
US20090260013A1 (en) * 2008-04-14 2009-10-15 International Business Machines Corporation Computer Processors With Plural, Pipelined Hardware Threads Of Execution
US8078850B2 (en) * 2008-04-24 2011-12-13 International Business Machines Corporation Branch prediction technique using instruction for resetting result table pointer
US8494833B2 (en) * 2008-05-09 2013-07-23 International Business Machines Corporation Emulating a computer run time environment
US7958340B2 (en) * 2008-05-09 2011-06-07 International Business Machines Corporation Monitoring software pipeline performance on a network on chip
US7991978B2 (en) * 2008-05-09 2011-08-02 International Business Machines Corporation Network on chip with low latency, high bandwidth application messaging interconnects that abstract hardware inter-thread data communications into an architected state of a processor
US20090282419A1 (en) * 2008-05-09 2009-11-12 International Business Machines Corporation Ordered And Unordered Network-Addressed Message Control With Embedded DMA Commands For A Network On Chip
US8392664B2 (en) * 2008-05-09 2013-03-05 International Business Machines Corporation Network on chip
US8214845B2 (en) * 2008-05-09 2012-07-03 International Business Machines Corporation Context switching in a network on chip by thread saving and restoring pointers to memory arrays containing valid message data
US8020168B2 (en) * 2008-05-09 2011-09-13 International Business Machines Corporation Dynamic virtual software pipelining on a network on chip
US8230179B2 (en) * 2008-05-15 2012-07-24 International Business Machines Corporation Administering non-cacheable memory load instructions
US8438578B2 (en) * 2008-06-09 2013-05-07 International Business Machines Corporation Network on chip with an I/O accelerator
JP2010054762A (ja) * 2008-08-28 2010-03-11 Sony Corp 情報処理装置および方法、並びにプログラム
US10482577B2 (en) 2016-07-27 2019-11-19 Adobe Inc. Dynamic spread anti-aliasing
CN108428230B (zh) * 2018-03-16 2020-06-16 青岛海信医疗设备股份有限公司 三维虚拟器官中处理曲面的方法、装置、存储介质及设备
CN108389203B (zh) * 2018-03-16 2020-06-16 青岛海信医疗设备股份有限公司 三维虚拟器官的体积计算方法、装置、存储介质及设备
CN108389202B (zh) * 2018-03-16 2020-02-14 青岛海信医疗设备股份有限公司 三维虚拟器官的体积计算方法、装置、存储介质及设备
CN108399942A (zh) * 2018-03-16 2018-08-14 青岛海信医疗设备股份有限公司 三维虚拟器官的显示方法、装置、存储介质及设备
US12131418B2 (en) 2022-05-11 2024-10-29 Adobe Inc. Graphics processing unit instancing control

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100215450B1 (ko) * 1996-05-17 1999-08-16 윤종용 불규칙메쉬들을 이용한 대상물 지향 화상표현방법및그장치
JP2903303B2 (ja) * 1996-09-03 1999-06-07 株式会社モノリス アニメーション処理方法およびその応用
US5818463A (en) * 1997-02-13 1998-10-06 Rockwell Science Center, Inc. Data compression for animated three dimensional objects

Also Published As

Publication number Publication date
EP1040451A2 (de) 2000-10-04
KR100657775B1 (ko) 2006-12-15
US6515668B1 (en) 2003-02-04
EP1040451B1 (de) 2005-08-31
JP2002520703A (ja) 2002-07-09
DE69926986D1 (de) 2005-10-06
KR20010023497A (ko) 2001-03-26
WO2000002164A3 (en) 2000-04-06
TW389866B (en) 2000-05-11
CN1143246C (zh) 2004-03-24
CN1277699A (zh) 2000-12-20
WO2000002164A2 (en) 2000-01-13

Similar Documents

Publication Publication Date Title
DE69926986T2 (de) Rechnergrafiken-animationsverfahren und vorrichtung
DE102020000810A1 (de) 3D-Objektrekonstruktion unter Nutzung einer fotometrischen Netzdarstellung
DE3686233T2 (de) Videosignalverarbeitung.
DE69032932T2 (de) System und Verfahren zum unverfälschten Polygonenzeichnen
DE19646194B4 (de) Echtzeit-Wiedergabeverfahren zum wahlweisen Ausführen von Bump-Mapping- und Phong-Schattierungs-Prozessen und zugehörige Vorrichtung
DE3873792T2 (de) Elektronische bildverarbeitung.
DE69816824T2 (de) Texturabbildung in 3-d-rechnergraphik
DE69716877T2 (de) System und Verfahren zur genauen Gradientberechnung für die Texturabbildung in einem Computergraphiksystem
DE69632578T2 (de) Computer-grafiksystem zum schaffen und verbessern von texturabbildungssystemen
DE68927471T2 (de) Verfahren zur Schattierung eines graphischen Bildes
DE60115034T2 (de) Verfeinerung von dreidimensionalen polygonalen gitterdaten
DE69129427T2 (de) Pixelinterpolation im Perspektivraum
DE19807013B4 (de) Volumetrisches Vorabschneidungsverfahren, das eine minimale Anzahl von Abtastpunkten durch ein Volumen gewährleistet
DE19807053B4 (de) Strahltransformationsverfahren für eine schnelle Volumenaufbereitung für eine perspektivische Betrachtung
DE3022454A1 (de) Optisches abbildesystem mit computererzeugtem bild fuer einen bodenfesten flugsimulator
DE69631718T2 (de) Verfahren und Gerät zur leistungsfähigen Graphikdarstellung dreidimensionaler Szenen
DE602004011749T2 (de) Umschlagsdeformation mittels unterteilten Oberflächen
DE4224568C2 (de) Vorrichtung und Verfahren zur Bildung der Anzeige eines dreidimensionalen sequentiellen tomografischen Flächenschattierungsbildes
DE69521436T2 (de) Vorrichtung und verfahren für die wiedergabe von terrainmodellen
DE69324101T2 (de) Bilddatenverarbeitung
EP2528042A1 (de) Verfahren und Vorrichtung zum Re-Meshing von 3D-Polygonmodellen
DE69318930T2 (de) Bilddatenverarbeitung
DE3854619T2 (de) Quadratische interpolation zur schattierten bilderzeugung.
DE69130302T2 (de) Verfahren und Einrichtung zur Verarbeitung von skalaren Daten
DE4100691B4 (de) Verfahren zur Darstellung eines dreidimensionalen Modells

Legal Events

Date Code Title Description
8320 Willingness to grant licences declared (paragraph 23)
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee