DE112006003728T5 - Verfahren zum Simulieren eines deformierbaren Objekts unter Verwenden eines geometrisch motivierten Models - Google Patents

Verfahren zum Simulieren eines deformierbaren Objekts unter Verwenden eines geometrisch motivierten Models Download PDF

Info

Publication number
DE112006003728T5
DE112006003728T5 DE112006003728T DE112006003728T DE112006003728T5 DE 112006003728 T5 DE112006003728 T5 DE 112006003728T5 DE 112006003728 T DE112006003728 T DE 112006003728T DE 112006003728 T DE112006003728 T DE 112006003728T DE 112006003728 T5 DE112006003728 T5 DE 112006003728T5
Authority
DE
Germany
Prior art keywords
shape
points
point
defining
target
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.)
Ceased
Application number
DE112006003728T
Other languages
English (en)
Inventor
Matthias Müller-Fischer
Bruno Heidelberger
Matthias Teschner
Markus Gross
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.)
Nvidia Corp
Original Assignee
Nvidia 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 Nvidia Corp filed Critical Nvidia Corp
Publication of DE112006003728T5 publication Critical patent/DE112006003728T5/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • 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
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/261Functional testing by simulating additional hardware, e.g. fault simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/105Program control for peripheral devices where the programme performs an input/output emulation function
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/10Numerical modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]

Abstract

Verfahren zum Modellieren eines deformierbaren Objekts, wobei das Verfahren aufweist:
Modellieren einer deformierbaren Elastizität für das Objekt durch Ziehen einer verformten Form in Richtung einer definierten Soll-Form.

Description

  • Diese Anmeldung beansprucht die Priorität der US-Provisional Anmeldung Nr. 60/678,815, eingereicht am 9. Mai 2005.
  • ALLGEMEINER STAND DER TECHNIK
  • 1. Gebiet der Erfindung
  • Ausführungsformen der vorliegenden Erfindung betreffen allgemein Verfahren zum Simulieren deformierbarer Objekte. Genauer gesagt, betreffen Ausführungsformen der Erfindung Verfahren zum Simulieren deformierbarer Objekte unter Verwendung eines geometrisch motivierten zugrunde liegenden Modells.
  • 2. Beschreibung des Standes der Technik
  • Realistische Computersimulationen von Alltagsgegenständen wie zum Beispiel Bekleidung, Kunststoffen, elastischen Materialien und Gelenken können aufgrund der komplexen Art und Weise, in der sich diese Objekte im Allgemeinen in der Realität deformieren, außerordentlich schwierig zu erzeugen sein. Simulationen solcher "deformierbaren Objekte" müssen allgemein sowohl komplizierte geometrische Strukturelemente als auch Materialeigenschaften der Objekte berücksichtigen.
  • Eine gängige Technik, die zum Simulieren deformierbarer Objekte verwendet wird, erzeugt zuerst ein virtuelles Modell eines Objekts (zum Beispiel ein Gitternetz oder eine Punktwolke) und legt dann simulierte physische Kräfte wie zum Beispiel mechanische Spannung, Reibung, Schwerkraft, Druck usw. an die diskreten Punkte des virtuellen Modells an. Solche virtuellen Modelle sind schon zum Darstellen einer breiten Vielfalt von Materialien unter verschiedenen Bedingungen verwendet worden. Zum Beispiel haben Forscher virtuelle Modelle für Bekleidung, Kunststoff, Gummi und so weiter entwickelt. Außerdem haben Forscher auch virtuelle Modelle zum Simulieren komplexer, einmaliger Verhaltensweisen dieser Objekte entwickelt, wie zum Beispiel Zerbrechen und Schmelzen.
  • Zu den gängigeren Lösungsansätzen zum Simulieren deformierbarer Objekte gehören Finite-Differenz-Verfahren, Masse-Feder-Systeme, Grenzelementverfahren (boundary element methods), Finite-Element-Verfahren und implizite Oberflächen und gitternetzfreie Teilchensysteme.
  • Ungeachtet der Anzahl von Verfahren, die zum Simulieren deformierbarer Objekte entwickelt wurden, werden solche Verfahren selten in Anwendungen wie Computerspiele integriert. Zum Beispiel enthalten ein paar aktuelle Spiele Stoffmodelle mit einfachen Geometrien. Im Allgemeinen jedoch modellieren die meisten Anwendungen, die auf Personalcomputern (PCs) oder Spielekonsolen laufen, nur starre Körper oder Objekte. Mitunter werden einige starre Objekte kombiniert, um die Bewegung eines deformierbaren Objekts nachzuahmen, aber echte Simulationen deformierbarer Objekte sind selten.
  • Ein Grund, warum Simulationen deformierbarer Objekte selten in einer Anwendung wie zum Beispiel Computerspielen verwendet werden, ist, dass stabile Simulationen allgemein zu ineffizient sind, um den Echtzeitbedarf der Anwendung zu erfüllen. Zum Beispiel stützen sich herkömmliche Simulationsverfahren oft auf implizite numerische Integration, um die Positionen von diskreten Punkten in einem virtuellen Modell zu aktualisieren. Techniken der impliziten numerischen Integration können eine stabile Simulation ermöglichen, aber sie sind zu rechenaufwändig, um große und komplizierte physische Modelle in Echtzeit zu verarbeiten. Andere Lösungsansätze des physischen Modellierens stützen sich auf explizite numerische Integration, die effizienter ist, aber keine stabile Simulation garantieren kann.
  • Der Begriff "Stabilität" meint hier die Tendenz eines Prozesses, in einer vernünftigen Weise auf kleinere Abweichungen bei seinen Eingangswerten zu reagieren. Zum Beispiel erzeugen Techniken der impliziten numerischen Integration akkurate Simulationen, wenn verschiedene Eingangsparameter verändert werden, wie zum Beispiel die Masse von simulierten Punkten, der Zeitschritt der Integration und so weiter. Im Gegensatz dazu können Techniken der expliziten numerischen Integration Simulationen erzeugen, wo die Gesamtenergie eines Systems fälschlicherweise ansteigt, indem einfach der Zeitschritt der Integration, die Masse der simulierten Punkte oder die Steifigkeit eines simulierten Objekt verändert wird. Infolge dessen können Techniken der expliziten numerischen Integration extrem unrealistische Simulationsergebnisse erzeugen.
  • Es sind verschiedene Lösungsansätze entwickelt worden, um die Effizienz von stabilen Simulationstechniken zu verbessern. Zum Beispiel sind robuste Integrationsregimes mit großen Zeitschritten und Mehrauflösungsmodellen (multi resolution models) entwickelt worden. Außerdem sind Lösungsansätze für eine modale Analyse entwickelt worden, bei denen Genauigkeit für Effizienz gehandelt wird. Des Weiteren sind auch Verfahren verwendet worden, die eine vorberechnete Zustandsraumdynamik und vorberechnete Impulsreaktionsfunktionen enthalten, um die Effizienz von Simulationen zu verbessern. Und schließlich sind noch dynamische Modelle vorgestellt worden, die von globalen geometrischen Verformungen massiver Grundformen wie zum Beispiel Kugeln, Zylindern, Konen oder Super-Quadrics abgeleitet sind, um die Effizienz von stabilen Simulationstechniken zu verbessern.
  • 1 ist ein Schaubild, das eine Möglichkeit veranschaulicht, wie Instabilität in Simulationen deformierbarer Objekte unter Verwendung einer expliziten numerischen Integration entsteht. In 1 ist ein einfaches eindimensionales deformierbares Objekt als ein Masse-Feder-System modelliert. Wie viele physisch motivierte Simulationen deformierbarer Objekte stützt sich das Masse-Feder-System auf Newtons zweites Bewegungsgesetz. Laut Newtons zweitem Bewegungsgesetz ist die durch eine effektive Kraft erzeugte Beschleunigung eines Objekts direkt proportional zur Größe der effektiven Kraft in der Richtung der effektiven Kraft und umgekehrt proportional zur Masse des Objekts. Bei deformierbaren Objekten wird mindestens ein Teil der effektiven Kraft an jedem beliebigen Punkt durch Verschiebung des Punktes aus einer Gleichgewichtsposition erzeugt. Die Verschiebung eines Punktes aus seiner Gleichgewichtsposition erzeugt potenzielle Energie, d. h. "Deformierungsenergie", was bewirkt, dass der Punkt in Richtung der Gleichgewichtsposition gezogen wird.
  • Wenden wir uns 1A zu, wo ein Masse-Feder-System 100 eine Feder 101 mit einer Ruhelänge I0 und zwei Punktmassen 102 und 103, die beide eine Masse "m" besitzen, aufweist. Die Punktmasse 102 ist an einem Ursprung fixiert, und die Punktmasse 103 befindet sich zu einer Anfangszeit "t" bei x(t). Zu der Anfangszeit "t" ist der Betrag der Kraft an der Punktmasse 103 durch die Federgleichung f = –k(x(t) – I0) definiert, wobei "k" die Federkonstante, oder "Steifigkeit", der Feder 101 ist. Konzeptuell zeigt die Federgleichung an, dass die Punktmasse 103 in Richtung einer Gleichgewichtsposition gezogen wird, bei der wobei x = I0 ist.
  • Die Position der Punktmasse 103 wird durch ein modifiziertes Euler-Integrationsschema nach einem Zeitschritt "h" aktualisiert. Gemäß dem modifizierten Euler-Integrationsschema werden die Geschwindigkeit "v" und die Position "x" der Punktmasse 103 zum Zeitpunkt "t + h" unter Verwendung der folgenden Gleichungen (1) und (2) berechnet:
    Figure 00040001
    x(t + h) = x(t) + hv(t + h) (2)
  • Gleichung (1) verwendet einen expliziten Euler-Schritt, und Gleichung (2) verwendet einen impliziten Euler-Schritt.
  • Die Gleichungen (1) und (2) können als eine Systemmatrix "M" dargestellt werden, multipliziert mit einem Zustandsvektor [v(t), x(t)]T, d. h.
    Figure 00040002
    wobei die Systemmatrix "E" durch die folgende Gleichung (3) definiert ist:
  • Figure 00050001
  • Die Systemmatrix "E" hat Eigenwerte e0 und e1, die durch die folgenden Gleichungen (4) und (5) dargestellt werden:
  • Figure 00050002
  • Da die Systemmatrix "E" ein diskretes System darstellt, darf der Spektralradius (spectral radius) der Systemmatrix "E", d. h. die maximale Größe der Eigenwerte e0 und e1, nicht größer als eins (1) sein, um die Stabilität des diskreten Systems zu gewährleisten. Die Größe des Eigenwertes e0 konvergiert gegen 1, wobei |e0| < 1 für h2k → ∞. Jedoch ist die Größe von e1 nur kleiner als eins, wo der Zeitschritt "h" kleiner als
    Figure 00050003
    ist. Wenn der Zeitschritt "h" größer als
    Figure 00050004
    ist, so ist das System instabil. Dementsprechend ist das Integrationsschema, in dem die Gleichungen (1) und (2) verwendet werden, nur bedingt stabil.
  • Um die Instabilität des diskreten Systems, das durch die Systemmatrix "E" repräsentiert wird, weiter zu veranschaulichen, zeigt 1B das Ergebnis der Ausführung eines Integrationsschrittes, der mit v(t) = 0 beginnt. Der Integrationsschritt bewegt die Punktmasse 103 um eine Distanz
    Figure 00050005
    Wenn der Zeitschritt "h" oder die Steifigkeit "k" zu groß sind oder die Masse "m" zu klein ist, so bewegt sich die Punktmasse 103 über die Gleichgewichtsposition I0 um eine Distanz hinaus, die größer als die Distanz zwischen x(t) und I0 ist. Oder anders ausgedrückt: |x(t + h) – I0| > |x(t) – I0|. Infolge dessen nimmt die potenzielle Energie des Systems 100 nach dem Zeitschritt "h" zu. Da das System 100 zum Zeitpunkt "t" null kinetische Energie hatte, wird die Gesamtenergie (d. h. die kinetische plus die potenzielle Energie) des Systems fälschlicherweise nach dem Zeitschritt "h" erhöht.
  • Im Allgemeinen kann das Stabilitätsproblem expliziter Integrationsschemata folgendermaßen ausgedrückt werden: elastische Kräfte sind negative Gradienten der elastischen Energie. Als solches weisen elastische Kräfte zu Gleichgewichtspositionen. Explizite Schemen mögen die elastischen Kräfte ungenau skalieren, wenn die Verschiebungen der Punkte berechnet werden, wodurch bewirkt wird, dass sich die Punkte so weit über die Gleichgewichtspositionen hinaus bewegen, dass sie die Deformation und die Energie des Systems erhöhen, anstatt die Deformationsenergie beizubehalten oder zu verringern, was für die Stabilität erforderlich ist.
  • Eine Möglichkeit zur Lösung des Problems, dass sich die Punkte über die Gleichgewichtspositionen hinaus bewegen, besteht darin, die Verschiebung der Punkte so zu begrenzen, dass sie sich niemals über ihre jeweiligen Gleichgewichtspositionen hinaus bewegen. Zum Beispiel könnte in dem eindimensionalen Federbeispiel von 1 die Bewegung der Punktmasse 103 so begrenzt werden, dass sie sich nicht über die Gleichgewichtsposition x = I0 hinaus bewegt. Ein Problem bei diesem Lösungsansatz ist, dass für viele Arten physischer Modelle Gleichgewichtspositionen nicht leicht für alle Punkte definiert werden. Zum Beispiel ist es schwierig, Gleichgewichtspositionen in massiven finiten Elementen oder geometrisch komplexen Gitternetzen zu definieren.
  • KURZDARSTELLUNG DER ERFINDUNG
  • Gemäß einer Ausführungsform der Erfindung weist ein Verfahren zum Modellieren eines deformierbaren Objekts das Modellieren einer deformierbaren Elastizität (deformable elasticity) für das Objekt durch Ziehen einer deformierten Form in Richtung einer definierten Soll-Form auf.
  • Gemäß einer weiteren Ausführungsform der Erfindung weist ein Verfahren zum Simulieren eines deformierbaren Objekts das Definieren von Positionen und Geschwindigkeiten für mehrere Punkte in einer deformierten Form und das Aktualisieren der Positionen und Geschwindigkeiten gemäß den Positionen von Punkten in einer Soll-Form auf.
  • Gemäß einer weiteren Ausführungsform der Erfindung weist ein Verfahren zum Beschreiben einer Objektdeformation in einer Simulation das Definieren elastischer Kräfte, die der Objektdeformation zugeordnet sind, im Verhältnis zu Distanzen zwischen Punkten in einer deformierten Form und Punkten in einer Soll-Form, das Auflösen der Objektdeformation in Richtung eines Gleichgewichts unter Verwendung eines expliziten Integrationsschemas und das Auflösen des expliziten Integrationsschemas durch punktweises Matchen einer Ursprungsform und der deformierten Form und anschließendes Ziehen von Punkten, die der deformierten Form entsprechen, in Richtung entsprechender Punkte in der Soll-Form.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die Erfindung wird unten in Bezug auf verschiedene Ausführungsformen beschrieben, die in den begleitenden Zeichnungen veranschaulicht sind. In allen Zeichnungen bezeichnen gleiche Bezugszahlen gleiche beispielhafte Elemente, Komponenten oder Schritte. In den Zeichnungen ist Folgendes dargestellt:
  • 1A und 1B sind Schaubilder eines herkömmlichen eindimensionalen Masse-Feder-Systems, das zum Simulieren eines deformierbaren Objekts verwendet wird.
  • 2 ist ein Schaubild, das eine Simulation eines zweidimensionalen deformierbaren Objekts gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht.
  • 3 ist ein Flussdiagramm, das ein Verfahren zum Simulieren eines deformierbaren Objekts gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht.
  • BESCHREIBUNG BEISPIELHAFTER AUSFÜHRUNGSFORMEN
  • Ausführungsformen der vorliegenden Erfindung stellen verschiedene Verfahren zum Modellieren und Simulieren deformierbarer Objekte bereit. Diese Verfahren können problemlos auf ein weites Feld computerbezogener Anwendungen angewendet werden, wie zum Beispiel wissenschaftlicher Visualisierung, Computergrafik, computeranimierte Filme und Videospiele, um nur einige zu nennen.
  • Ausgewählte Ausführungsformen der Erfindung eignen sich besonders gut für Anwendungen, die ein hohes Maß an Berechnungseffizienz benötigen. Zum Beispiel sind einige Ausführungsformen der Erfindung zum Ausführen von Echtzeit-Simulationen an deformierbaren Objekten mit komplizierten Geometrien und/oder Materialeigenschaften unter Verwendung lediglich eines kleinen Teils der Datenverarbeitungsbandbreite eines Computers geeignet.
  • Videospiele sind eine Anwendung, die ein hohes Maß an Berechnungseffizienz erfordert. Zum Beispiel tendieren hochmoderne Videospiele dazu, eine Vielfalt an realistischen Effekten zu enthalten, wie zum Beispiel Charaktere und Objekte, die in Echtzeit mit ihrer Umgebung interagieren, als ob sie physikalischen Gesetzen unterlägen. Solche Charaktere und Objekte werden oft durch deformierbare Objekte gebildet, einschließlich beispielsweise Bekleidung, biegbare oder streckbare Materialien und so weiter.
  • Eine Simulation deformierbarer Objekte gemäß Ausführungsformen der Erfindung wird in der Regel ausgeführt, indem man eine Software-Anwendung auf einer Rechenplattform ablaufen lässt, die zumindest einen Mikroprozessor und einen Speicher enthält. Der Begriff "ablaufen" beschreibt hier jeden Prozess, in dem eine Hardware-Ressource, die mit einer Rechenplattform assoziiert ist, eine Operation unter der (direkten oder indirekten) Anleitung einer Software-Ressource ausführt.
  • Um ein deformierbares Objekt zu simulieren, empfängt die Software-Anwendung geometrische Daten und physikalische Daten, die eine Konfiguration des deformierbaren Objekts und alle äußeren Kräfte, die auf das Objekt einwirken, definieren. Die "Konfiguration" eines deformierbaren Objekts ist in weitem Sinne als eine Beschreibung aller physischen Attribute des Objekts selbst definiert, einschließlich beispielsweise der Positionen und Massen der diskreten Elemente, die das Objekt bilden (zum Beispiel Punkten, Oberflächen usw.), jede Verbindungsfähigkeit und Bewegung jener diskreten Elemente und so weiter.
  • Die Software-Anwendung simuliert das deformierbare Objekt mittels Aktualisierens der Konfiguration des Objekts auf der Grundlage innerer Kräfte des Objekts, wie zum Beispiel elastische Spannung, die Bewegung diskreter Elemente, aus denen das Objekt besteht, und irgendwelcher äußeren Kräfte, die auf das Objekt wirken, wie zum Beispiel Schwerkraft, Druck oder Reibung oder Aufprallkräfte bei Kollisionen mit anderen Objekten.
  • Die Rechenplattform weist in der Regel eine oder mehrere zentrale Verarbeitungseinheiten (CPUs) und einen oder mehrere Speicher auf. Der eine oder die mehreren Speicher speichern die Software-Anwendung und laden sie zur Ausführung in die eine oder die mehreren CPUs.
  • Eine Simulation deformierbarer Objekte mag auch mit mehr als einer Software-Anwendung ausgeführt werden. Zum Beispiel könnte die Simulation durch zwei Software-Anwendungen ausgeführt werden, die in zwei Ausführungsbefehlsfolgen in einer einzelnen CPU, in zwei verschiedenen Proessorkernen oder zwei verschiedenen CPUs ablaufen. Wenn die Simulation durch zwei Software-Anwendungen ausgeführt wird, so weist eine der Anwendungen allgemein eine Hauptanwendung auf, die die geometrischen und physikalischen Daten definiert, und die andere Anwendung weist allgemein eine Physik-Anwendung auf, die parallel zu der Hauptanwendung abläuft und die geometrischen und physikalischen Daten aktualisiert.
  • Verschiedene Rechenplattformen, die in der Lage sind, eine solche Simulation auszuführen, sind zum Beispiel in den US-Patentanmeldungen mit folgenden Seriennummern offenbart: 10/715,459 und 10/715,440, eingereicht am 19. November 2003, 10/815,721, eingereicht am 2. April 2004, 10/839,155, eingereicht am 6. Mai 2004, 10/982,791, eingereicht am 8. November 2004, und 10/988,588, eingereicht am 16. November 2004. Der Gegenstand dieser gemeinsam übertragenen, gleichzeitig anhängigen Patentanmeldungen wird hiermit durch Bezugnahme in den vorliegenden Text aufgenommen.
  • In dieser Beschreibung meint der Begriff "deformierbares Objekt" in weitem Sinne jede Zusammenstellung von Daten, die in der Lage ist, ein Objekt zu repräsentieren, das Elemente aufweist, die mit sich verändernden räumlichen Beziehungen angeordnet werden können. Zum Beispiel könnte ein deformierbares Objekt ein Gitternetz, eine Oberfläche oder einen Satz Punkte aufweisen. Ein deformierbares Objekt weist des Weiteren allgemein Parameter auf, die zu der Art und Weise in Beziehung stehen, in der sich das Objekt allgemein verformt. Zum Beispiel kann das deformierbare Objekt einen Zielzustand für jedes seiner Elemente sowie einen Steifigkeitsparameter aufweisen, der angibt, wie leicht sich jedes Element seinem Zielzustand nähert.
  • 2 ist ein Schaubild, das ein Verfahren zum Modellieren und Simulieren eines deformierbaren Objekts gemäß einer Ausführungsform der Erfindung veranschaulicht. Zur Vereinfachung der Erläuterung wird das Verfahren von 2 mit Bezug auf ein zweidimensionales (2D-)Objekt beschrieben. Jedoch kann das Verfahren ohne Weiteres auch auf Objekte angewendet werden, das in höheren (zum Beispiel 3D) oder niedrigeren (zum Beispiel 1D) Dimensionen ausgedrückt ist.
  • Wenden wir uns 2 zu, wo ein deformierbares Objekt 200 durch eine "Ist-Form" 202, die einem deformierten Zustand des deformierbaren Objekts 200 entspricht, und eine "Soll-Form" 203, die einem nicht-deformierten Zustand des deformierbaren Objekts 200 entspricht, modelliert wird. Die Ist-Form 202 weist vier "Ist-Punkte" x1, x2, x3 und x4 auf und die Soll-Form 203 weist vier "Soll-Punkte" g1, g2, g3 und g4 auf, die jeweiligen Ist-Punkten x1, x2, x3 und x4 entsprechen. Die Ist-Punkte x1, x2, x3 und x4 sind durch jeweilige Massen "m1", "m2", "m3" und "m4" gekennzeichnet.
  • Die Soll-Form 203 wird durch Matchen einer "Ursprungsform" 201, die vier "Ursprungspunkte" x 0 / 1, x 0 / 2, x 0 / 3 und x 0 / 4 aufweist, mit entsprechenden Ist-Punkte x1, x2, x3 und x4 in der Ist-Form 202 definiert. Anders ausgedrückt: Die Soll-Form 203 ist eine gematchte Version der Ursprungsform 201. Der Begriff "matchen" meint hier einen Transformationsprozess, der in einer solchen Weise auf die Ursprungsform 201 angewendet wird, dass die Soll-Form 203 sich der Ist-Form 202 annähert. Wie noch erläutert wird, kann eine solche Transformation zum Beispiel eine lineare Transformation, eine Transformation höherer Ordnung (zum Beispiel quadratisch) oder eine Kombination davon aufweisen. Nachdem die Soll-Form 203 definiert wurde, wird nun die deformierbare Elastizität in dem deformierbaren Objekt 200 modelliert, indem die Ist-Punkte x1, x2, x3 und x4 in Richtung entsprechender Soll-Punkte g1, g2, g3 und g4 gezogen werden, wie durch Pfeile in 2 angedeutet.
  • In dieser schriftlichen Beschreibung werden die Bezeichnungen x 0 / i xi und gi verwendet, um Punkte und auch Positionen der Punkte zu bezeichnen. Zum Beispiel wird die Position eines Ist-Punktes xi einfach als xi bezeichnet.
  • Eine Möglichkeit des Matchen der Ursprungsform 201 mit der Ist-Form 202 ist das Drehen und Verschieben der Ursprungsform 201. Der Betrag der Drehung und Verschiebung kann durch Minimieren einer Distanz zwischen Punkten in der Soll-Form 203 und entsprechenden Punkten in der Ist-Form 202 ermittelt werden. Zum Beispiel könnten die Verschiebung und die Drehung so gewählt werden, dass eine gewichtete kleinste Quadrate Distanz zwischen entsprechenden Punkten in der Soll-Form 203 und der Ist-Form 202 minimiert wird. Die Entsprechungen zwischen Punkten in der Ursprungsform 201 und der Ist-Form 202 werden allgemein im Voraus definiert, zum Beispiel wenn die Ursprungsform 201 und die Ist-Form 202 zuerst definiert werden.
  • In 2 sind entsprechende Punkte mit den gleichen tiefgestellten Zahlen bezeichnet. Zum Beispiel korrespondiert der Ursprungspunkt x 0 / i mit den Ist- und Soll-Punkten x1 und g1. Dementsprechend kann die Konfiguration der Soll-Form 203 berechnet werden, indem man eine Drehungsmatrix R und Verschiebungsvektoren t0 und t findet, dergestalt, dass die folgende Gleichung (5) minimiert wird:
  • Figure 00110001
  • In Gleichung (5) stellt wi ein mathematisches Gewicht dar, das Ursprungs- und Ist-Punkten x 0 / i und xi zugeordnet ist. In der Regel handelt es sich bei dem jedem Punkt zugeordneten Gewicht um die Masse des Punktes. Dementsprechend werden zur Vereinfachung dieser schriftlichen Beschreibung im gesamten Text Gewichte wi durch Massen "mi" ersetzt.
  • Wo das mathematische Gewicht wi jedes Punktes in dem deformierbaren Objekt 200 die Masse des Punktes "mi" ist, werden Verschiebungsvektoren t0 und t als Masseschwerpunkte (center of mass) x 0 / cm und xcm der Ursprungsform 201 und der Ist-Form 202 definiert, die durch die folgenden Gleichungen (6) und (7) definiert werden:
  • Figure 00120001
  • Um die Drehungsmatrix R zu berechnen, werden die relativen Positionen qi und pi der Punkte in der Ursprungsform 201 und der Ist-Form 202 als qi = x0i – x0cm und pi = xi – xcm definiert. Dann wird eine lineare Transformationsmatrix "A", welche die folgende Gleichung (8) minimiert, berechnet: Σimi(Aqi – pi)2. (8)
  • Die lineare Transformationsmatrix "A", welche die Gleichung (8) minimiert, wird berechnet, indem man die Ableitung der Gleichung (8) mit Bezug auf "A" nimmt und die Ableitung auf null setzt. Die resultierende lineare Transformationsmatrix "A" wird durch die folgende Gleichung (9) berechnet:
  • Figure 00120002
  • Gleichung (9) definiert eine erste Matrix Aqq und eine zweite Matrix Apq. Die erste Matrix Aqq ist symmetrisch, und darum enthält sie eine Skalierungskomponente, aber keine Drehungskomponente. Im Gegensatz dazu enthält die zweite Matrix Apq sowohl eine symmetrische Komponente als auch eine Drehungskomponente. Die Drehungskomponente der zweiten Matrix Apq ist die Drehmatrix R, und die symmetrische Komponente der zweiten Matrix Apq ist eine symmetrische Matrix S. Die Drehmatrix R und die symmetrische Matrix S können gefunden werden, indem man die zweite Matrix Apq mittels polarer Zerlegung zerlegt, was durch Apq = RS dargestellt ist. Bei der polaren Zerlegung wird die symmetrische Matrix S berechnet als
    Figure 00120003
    und die Drehmatrix R wird berechnet als R = ApqS–1. Nachdem die Drehmatrix R definiert wurde, werden die Positionen der Soll-Punkte g1, g2, g3 und g4 durch die folgende Gleichung (10) berechnet: gi = R(x0i – x0cm ) + xcm. (10)
  • Dann werden nach der Berechnung der Positionen der Soll-Punkte g1, g2, g3 und g4 die Positionen der Ist-Punkte x1, x2, x3 und x4 durch Integration gemäß den folgenden Gleichungen (11) und (12) aktualisiert:
    Figure 00130001
    xi(t + h) = xi(t) + hvi(t + h) (12)
  • In den Gleichungen (11) und (12) stellt der Term α eine "Steifigkeit" des deformierbaren Objekts 200 dar. Der Term α reicht von null bis eins, wobei ein Wert α = 1 anzeigt, dass das deformierbare Objekt 200 starr ist, und ein Wert α = 0 anzeigt, dass das deformierbare Objekt 200 in hohem Grad deformierbar ist. Der Term fext_l(t) bezeichnet eine effektive äußere Kraft, die zum Zeitpunkt t auf einen Punkt "i" der Ist-Form 202 wirkt.
  • Um die Wirkung von α auf die Ist-Form 202 zu veranschaulichen, nehmen wir an, dass α = 1 ist, die Anfangsgeschwindigkeit v(t) = 0 ist und die effektive äußere Kraft fext_l(t) = 0 ist. Unter diesen Bedingungen wird Gleichung (11) zu
    Figure 00130002
    berechnet, und Gleichung (12) wird zu xi(t + h) = xi(t) + gi(t) – xi(t) = gi(t). Oder anders ausgedrückt: Wenn das deformierbare Objekt 200 starr ist, so tendiert die deformierbare Form 202 dazu, sich sehr rasch der Konfiguration der Soll-Form 203 anzunehmen. Wenn α < 1, so nähert sich die deformierbare Form 202 immer noch der Konfiguration der Soll-Form 203, nur langsamer.
  • Bei Anwenden der Gleichungen (11) und (12) auf das in 1 gezeigte Masse-Feder-System 100 werden die Geschwindigkeit und die Position der Punktmasse 103 gemäß der folgenden Gleichung (13) aktualisiert:
  • Figure 00130003
  • In Gleichung (13) stellt der Term
    Figure 00130004
    eine Systemmatrix dar, die der Systemmatrix "E" in Gleichung (3) ähnelt. Jedoch sind, im Gegensatz zu den Eigenwerten der Systemmatrix "E", die Größenordnungen der Eigenwerte des Terms
    Figure 00140001
    ungeachtet der jeweiligen Werte von α und des Zeitschritts h immer eins (1). Genauer gesagt, sind die Eigenwerte des Terms
    Figure 00140002
    als
    Figure 00140003
    definiert. Weil die Eigenwerte des Terms
    Figure 00140004
    immer gleich eins sind, ist eine Simulation des Masse-Feder-Systems 100 unter Verwendung der Gleichungen (11) und (12) unbedingt stabil. Darüber hinaus verursacht die Simulation unter Verwendung der Gleichungen (11) und (12) keine Dämpfung des Masse-Feder-Systems 100.
  • Eine dreidimensionale Simulation eines deformierbaren Objekts ohne äußere Kräfte ist unter Verwendung der Gleichungen (11) und (12) ebenfalls unbedingt stabil und ungedämpft. Darüber hinaus ist die Simulation ebenfalls unbedingt stabil, solange die auf ein deformierbares Objekt einwirkenden äußeren Kräfte, zum Beispiel Kräfte wie die Schwerkraft, mit Bezug auf die Position unverändert sind oder die äußeren Kräfte augenblicklich einwirken, zum Beispiel Kollisionsreaktionskräfte.
  • 3 ist ein Flussdiagramm, das ein Verfahren zum Simulieren eines deformierbaren Objekts gemäß einer Ausführungsform der Erfindung veranschaulicht. In der folgenden Beschreibung sind beispielhafte Verfahrensschritte durch Klammern (XXX) bezeichnet.
  • Wenden wir uns 3 zu, wobei das Verfahren aufweist: Definieren einer Ist-Form, die einem deformierten Zustand des deformierbaren Objekts (301) darstellt, Definieren einer Soll-Form, die einem nicht-deformierten Zustand des deformierbaren Objekts (302) entspricht, und Aktualisieren der Position jedes Punktes in der Ist-Form durch Ziehen des Punktes in Richtung eines entsprechenden Punktes in der Soll-Form (303).
  • Positionen von Ist-Punkten in der Ist-Form werden allgemein durch Ereignisse in einer Software-Anwendung definiert, wie zum Beispiel Initialisierung und anschließende Aktualisierungen der Konfiguration der Ist-Form. Inzwischen können Positionen von Soll-Punkten in der Soll-Form auf vielfältige Weise berechnet werden.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung werden die Positionen von Soll-Punkten gi in der Soll-Form berechnet, indem eine Ursprungsform definiert wird, die Ursprungspunkte aufweist, und die Ursprungsform unter Verwendung eines Verschiebungsvektors und einer Drehmatrix, wie zum Beispiel durch Gleichung (10) beschrieben, gedreht und verschoben wird, bis sie mit der Ist-Form übereinstimmt.
  • Der Verschiebungsvektor wird allgemein anhand der jeweiligen Masseschwerpunkte der Ursprungs- und Ist-Formen berechnet, wie durch die Gleichungen (6) und (7) beschrieben, und die Drehmatrix wird allgemein durch polare Zerlegung einer linearen Transformationsmatrix berechnet, die gemäß Gleichung (9) berechnet wird.
  • Im Allgemeinen werden der Masseschwerpunkt x 0 / cm in Gleichung (10) und die relativen Positionen qi in den Gleichungen (8) und (9) berechnet, bevor Zeitschritte der Simulation ausgeführt werden. Dann wird, bei jedem Zeitschritt der Simulation, die zweite Matrix Apq = ΣimiqTi assembliert (assembled). Wenn das simulierte deformierbare Objekt dreidimensional ist, so ist die zweite Matrix Apq eine 3×3-Matrix.
  • Die zweite Matrix Apq wird in die Drehmatrix "R" und die symmetrische Matrix "S" zerlegt, indem die symmetrische Matrix S als
    Figure 00150001
    und die Drehmatrix R als R = ApqS–1 berechnet wird. Der Term S–1, d. h.
    Figure 00150002
    wird berechnet, indem die symmetrische Matrix A T / pqApq unter Verwendung von 5–10 Jacobi-Drehungen diagonalisiert wird, wobei die Berechnungskomplexität jeder Jacobi-Drehung konstant ist.
  • Gemäß einer weiteren Ausführungsform der Erfindung werden die Positionen der Soll-Punkte gi durch eine lineare Transformation unter Verwendung der Drehmatrix "R" und der linearen Transformationsmatrix "A" gemäß der folgenden Gleichung (14) berechnet:
  • Figure 00150003
  • In Gleichung (14) ist der Term β ein Steuerparameter, der zum Steuern der Positionen von Soll-Punkten gi verwendet wird. Die lineare Transformationsmatrix "A" wird durch ∛det(A) geteilt, um zu gewährleisten, dass das Volumen der Soll-Form relativ zu der Ursprungsform durch Gleichung (14) beibehalten wird. Die lineare Transformationsmatrix "A" wird allgemein aufgebaut, indem die erste Matrix Aqq gebildet wird, bevor irgendwelche Simulationszeitschritte ausgeführt werden, und dann die zweite Matrix Apq mit jedem Zeitschritt gebildet wird.
  • Ein Vorteil des Verwendens von Gleichung (14) zum Berechnen der Positionen von Soll-Punkten gi anstelle von Gleichung (10) ist, dass Gleichung (14) Soll-Punkte gi erzeugen kann, die näher an den Positionen der Ist-Punkte xi liegen. Dementsprechend eignet sich Gleichung (14) allgemein besser zum Simulieren stärker deformierter und/oder weniger starrer Objekte.
  • Eine weitere Möglichkeit des Berechnens von Soll-Punkten gi ist das Ausführen einer quadratischen Transformation an den Ursprungspunkten. Zum Beispiel können Soll-Punkte gi durch eine quadratische Transformation berechnet werden, die durch die folgende Gleichung (15) definiert wird: gi = [AQM]q ~i. (15)
  • In Gleichung (15) ist gi ∊ R3 und q ~ = [qx, qy, qz, q2x , q2y , q2z , qxqy, qyqz, qzqx]T ∊ R9 . A ∊ R3×3 enthält die Koeffizienten für die linearen Terme qx, qy, qz; Q ∊ R3×3 enthält die Koeffizienten für die rein quadratischen Terme q 2 / x, q 2 / y, q 2 / z, und M ∊ R3×3 enthält die Koeffizienten für die gemischten Terme qxqy, qyqz, qzqx. Die quadratische Transformationsmatrix A ~ = [AQM] ∊ R3×9 minimiert vorzugsweise die Gleichung Σimi(A ~q ~i – pi)2 und wird durch die folgende Gleichung (16) berechnet: A ~ = (Σmipiq ~Ti )(Σmiq ~iq ~Ti ) = A ~pqA ~qq. (16)
  • Eine symmetrische Matrix A ~qq ∊ R9×9 und ein Vektor q ~i in Gleichung (16) können berechnet werden, bevor eine Simulation beginnt. Des Weiteren kann der Steuerparameter β mit der quadratischen Transformationsmatrix A ~ verwendet werden, um die Positionen der Soll-Punkte zusätzlich zu steuern. Zum Beispiel könnten die Soll-Punkte durch die Gleichung gi = [βA ~ + (1 – β)R ~]q ~i , wobei R ~ ∊ R3×9 = [R 0 0] ist, anstatt unter Verwendung der Gleichung (15) erzeugt werden.
  • Eine weitere Möglichkeit der Berechnung von Soll-Punkten gi besteht darin, Ist-Punkte xi in überlappende Cluster zu teilen und dann eine separate Transformationsmatrix für jedes Cluster zu berechnen. Zum Beispiel können Ist-Punkte xi, die durch ein volumetrisches Gitternetz dargestellt werden, in Clusters unterteilt werden, wobei jedes Cluster einem gemeinsamen Element des volumetrischen Gitternetzes (e. g. Tetraeder) benachbarte Punkte aufweist. Alternativ kann ein Gitternetz regelmäßig in überlappende kubische Regionen unterteilt werden, und dann kann ein Cluster mittels aller Punkte in jeder kubischen Region gebildet werden.
  • Bei jedem Zeitschritt werden ursprüngliche Punkte und Ist-Punkte, die jedem Cluster entsprechen, angepasst, um Soll-Punkte g c / i(t) zu erzeugen, wobei "i" den Index jedes Punktes bezeichnet und "c" ein bestimmtes Cluster bezeichnet. Unter Verwendung von Soll-Punkten g c / i(t) anstelle von Soll-Punkten gi(t) wird die Gleichung (11) zu folgender Gleichung (17):
  • Figure 00170001
  • Ein allgemeines Problem mit der Geschwindigkeitsaktualisierung in den Gleichungen (11) und (17) ist, dass das Verhalten des Systems in hohem Maße von dem Zeitschritt "h" abhängt. Eine Möglichkeit der Lösung dieses Problems ist das Einstellen von α = h/τ, wobei τ ≤ h eine Zeitkonstante ist.
  • Es brauchen nicht alle Punkte einer Ist-Form oder einer Ursprungsform berücksichtigt zu werden, wenn eine Transformationsmatrix berechnet wird, um die Positionen von Soll-Punkten gi zu definieren. Wenn zum Beispiel ein deformierbares Objekt eine große Anzahl von Punkten aufweist, so kann eine Teilmenge der Ist-Punkte und entsprechender ursprünglicher Punkte, die das deformierbare Objekt definieren, verwendet werden, um eine Transformationsmatrix zu erzeugen. Die Transformationsmatrix kann dann zum Transformieren aller Ursprungspunkte verwendet werden, um die Soll-Punkte zu erzeugen.
  • Das in Bezug auf 3 beschriebene Verfahren kann auch dafür verwendet werden, um plastisch deformierbare Objekte zu simulieren. In der Regel wird ein plastische deformierbares Objekt simuliert, indem ein Deformationszustand Sp für das Objekt dargestellt wird. Der Deformationszustand Sp wird mit der Einheitsmatrix "I" initialisiert und dann mit jedem Zeitschritt der Simulation aktualisiert.
  • Der Deformationszustand Sp wird auf der Grundlage der symmetrischen Matrix S aktualisiert, die durch die polare Zerlegung der zweiten Matrix Apq von Gleichung (9) abgeleitet wird. Die symmetrische Matrix S stellt eine Deformations der Ursprungsform in einem nicht-gedrehten Bezugsrahmen dar. Dementsprechend wird, wenn ein Deformationsbetrag (d. h. eine Distanz) ∥S – I∥2 einen Schwellenwert cyield übersteigt, die Zustandsmatrix Sp gemäß der folgenden Gleichung (18) aktualisiert: Sp ← [I + hccreep(S – I)]Sp. (18)
  • In Gleichung (18) werden der Zeitschritt "h" und der Parameter ccreep verwendet, um die Plastizität des deformierbaren Objekts zu steuern. Die Plastizität kann abgegrenzt werden, indem man testet, ob ∥Sp – I∥2 einen Schwellenwert cmax übersteigt. Wenn ∥SP – I∥2 > cmax, so wird die Zustandsmatrix durch die folgende Gleichung (19) gesetzt: Sp ← I + cmax(Sp – I)/∥Sp – I∥2. (19)
  • Die Zustandsmatrix Sp wird in die Simulation des deformierbaren Objekts integriert, indem die Definition von qi = x0i – x0cm in Gleichung (8) durch die folgende Gleichung (20) ersetzt wird: qi = Sp(x0i – x0cm ). (20)
  • Um zu gewährleisten, dass das Volumen des deformierbaren Objekts während der gesamten Simulation erhalten bleibt, wird die Zustandsmatrix Sp jedes Mal durch
    Figure 00180001
    geteilt, wenn sie aktualisiert wird. Es ist zu beachten, dass jedes Mal, wenn Sp aktualisiert wird, die erste und die zweite Matrix Aqq und Apq ebenfalls aktualisiert werden müssen.
  • Die vorangegangenen bevorzugten Ausführungsformen sind Lehrbeispiele. Dem Durchschnittsfachmann leuchtet ein, dass verschiedene Änderungen in Form und Details an den beispielhaften Ausführungsformen vorgenommen werden können, ohne vom Geltungsbereich der vorliegenden Erfindung, wie er in den folgenden Ansprüchen definiert ist, abzuweichen.
  • Zusammenfassung
  • Ein Verfahren zum Simulieren eines deformierbaren Objekts weist das Modellieren einer deformierbaren Elastizität für das Objekt durch Definieren einer Ist-Form und einer Soll-Form und Ziehen von Punkten in der Soll-Form in Richtung korrespondierender Punkte in der Soll-Form auf.

Claims (20)

  1. Verfahren zum Modellieren eines deformierbaren Objekts, wobei das Verfahren aufweist: Modellieren einer deformierbaren Elastizität für das Objekt durch Ziehen einer verformten Form in Richtung einer definierten Soll-Form.
  2. Verfahren gemäß Anspruch 1, welches ferner aufweist: Definieren der Soll-Form unter Verwendung einer erweiterten Formanpassungstechnik.
  3. Verfahren gemäß Anspruch 2, welches ferner aufweist: Definieren relativer Positionen für Punkte in der deformierten Form und einer Ursprungsform; und Definieren der Soll-Form mittels Berechnens einer Transformation zwischen den relativen Positionen von Punkten in der Ursprungsform und relativen Positionen von Punkten in der deformierten Form.
  4. Verfahren gemäß Anspruch 3, welches ferner aufweist: vor dem Berechnen der Transformation, Anwenden eines Deformationszustandes auf die relativen Positionen der Punkte in der Ursprungsform.
  5. Verfahren gemäß Anspruch 4, welches ferner aufweist: Initialisieren des Deformationszustandes mit der Einheitsmatrix; und Aktualisieren des Verformungszustandes auf der Grundlage einer Deformation der Ursprungsform in einem nicht-gedrehten Bezugsrahmen.
  6. Verfahren gemäß Anspruch 2, wobei das Definieren der Soll-Form unter Verwendung der erweiterten Formanpassungstechnik aufweist: Drehen und Verschieben einer Ursprungsform zum Definieren der Soll-Form.
  7. Verfahren gemäß Anspruch 6, welches ferner aufweist: Definieren einer Drehmatrix und eines Verschiebungsvektors zum Drehen und Verschieben der Ursprungsform zum Minimieren einer Differenz der gewichteten kleinsten Quadrate zwischen der Soll-Form und der deformierten Form.
  8. Verfahren gemäß Anspruch 7, welches ferner aufweist: Definieren der Drehmatrix durch Ausführen einer polaren Zerlegung an einer linearen Transformationsmatrix; und Definieren des Verschiebungsvektors durch Berechnen jeweiliger Masseschwerpunkte für die verformte Form und die Ursprungsform.
  9. Verfahren gemäß Anspruch 1, welches ferner aufweist: Verändern der deformierbaren Elastizität gemäß einem linearen oder quadratischen Modus.
  10. Verfahren gemäß Anspruch 9, wobei das Verändern der deformierbaren Elastizität gemäß dem linearen Modus aufweist: Anwenden einer linearen Transformation auf eine Ursprungsform zum Definieren der Soll-Form.
  11. Verfahren gemäß Anspruch 9, wobei das Verändern der deformierbaren Elastizität gemäß dem quadratischen Modus aufweist: Anwenden einer quadratischen Transformation auf eine Ursprungsform zum Definieren der Soll-Form.
  12. Verfahren gemäß Anspruch 1, welches ferner aufweist: Definieren der deformierten Form als eine Mehrzahl von Clustern.
  13. Verfahren gemäß Anspruch 12, wobei das Modellieren einer deformierbaren Elastizität für das Objekt mittels Ziehens der deformierten Form in Richtung der definierten Soll-Form aufweist: Ziehen von Datenpunkten in jedem der Cluster in Richtung von Datenpunkten in korrespondierenden Clustern innerhalb der Soll-Form.
  14. Verfahren zum Simulieren eines deformierbaren Objekts, wobei das Verfahren aufweist: Definieren von Positionen und Geschwindigkeiten für mehrere Punkte in einer deformierten Form; und Aktualisieren der Positionen und Geschwindigkeiten gemäß den Positionen von Punkten in einer Soll-Form.
  15. Verfahren gemäß Anspruch 14, wobei das Aktualisieren der Positionen und Geschwindigkeiten aufweist: Definieren einer Geschwindigkeit eines Punktes in der deformierten Form zu einem Zeitpunkt t + h auf der Grundlage einer Geschwindigkeit des Punktes zu einem Zeitpunkt t und einer Differenz zwischen einer Position eines Soll-Punktes und einer Position des Punktes zu einem Zeitpunkt t; und Definieren einer Position des Punktes zum Zeitpunkt t + h auf der Grundlage einer Position des Punktes zum Zeitpunkt t und der Geschwindigkeit des Punktes zum Zeitpunkt t + h.
  16. Verfahren zum Beschreiben einer Objektdeformation in einer Simulation, wobei das Verfahren aufweist: Definieren elastischer Kräfte, die mit der Objektdeformation assoziiert sind, im Verhältnis zu Abständen zwischen Punkten in einer deformierten Form und Punkten in einer Soll-Form; Auflösen der Objektdeformation in Richtung eines Gleichgewichts unter Verwendung eines expliziten Integrationsschemas; und Auflösen des expliziten Integrationsschemas durch punktweises Matchen einer Ursprungsform und der deformierten Form und anschließendes Ziehen von Punkten, die der deformierten Form entsprechen, in Richtung korrespondierender Punkte in der Soll-Form.
  17. Verfahren gemäß Anspruch 16, wobei das punktweise Matchen der Ursprungsform und der deformierten Form aufweist: Auswählen eines Satzes von Punkten x 0 / i in der Ursprungsform und eines korrespondierenden Satzes von Punkten xi in der deformierten Form; Finden einer Drehmatrix R und von Verschiebungsvektoren t und t0 zum Minimieren: der Summe für alle "i" von (wi(R(x0i – t0) + t – xi)2 , wobei wi Gewichte für jeden Punkt sind.
  18. Verfahren gemäß Anspruch 17, welches ferner aufweist: für jeden Punkt x 0 / i, Definieren einer Position für einen korrespondierenden Punkt gi in der Soll-Form als gi = R(x0i – x0cm ) + xcm , wobei x 0 / cm ein Masseschwerpunkt der Ursprungsform ist und xcm ein Masseschwerpunkt der deformierten Form ist.
  19. Verfahren gemäß Anspruch 17, welches ferner aufweist: für jeden Punkt x 0 / i, Definieren einer Position für einen korrespondierenden Punkt gi in der Soll-Form als
    Figure 00240001
    wobei x 0 / cm ein Masseschwerpunkt der Ursprungsform ist, xcm ein Masseschwerpunkt der deformierten Form ist, A eine lineare Transformationsmatrix ist und β ein Steuerparameter ist.
  20. Verfahren gemäß Anspruch 17, welches ferner aufweist: für jeden Punkt x 0 / i 0, Definieren einer Position für einen korrespondierenden Punkt gi in der Soll-Form als gi = Aq ~i , wobei A ~ eine quadratische Transformationsmatrix ist und q ~i ein Vektor ist, der lineare, quadratische und gemischte Terme enthält.
DE112006003728T 2006-02-03 2006-07-21 Verfahren zum Simulieren eines deformierbaren Objekts unter Verwenden eines geometrisch motivierten Models Ceased DE112006003728T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/346,299 US7650266B2 (en) 2005-05-09 2006-02-03 Method of simulating deformable object using geometrically motivated model
US11/346,299 2006-02-03
PCT/US2006/028162 WO2007092037A2 (en) 2006-02-03 2006-07-21 Method of simulating deformable object using geometrically motivated model

Publications (1)

Publication Number Publication Date
DE112006003728T5 true DE112006003728T5 (de) 2009-01-15

Family

ID=38345587

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112006003728T Ceased DE112006003728T5 (de) 2006-02-03 2006-07-21 Verfahren zum Simulieren eines deformierbaren Objekts unter Verwenden eines geometrisch motivierten Models

Country Status (6)

Country Link
US (4) US7650266B2 (de)
JP (1) JP2009529161A (de)
CN (1) CN101496028A (de)
DE (1) DE112006003728T5 (de)
GB (1) GB2449377B (de)
WO (1) WO2007092037A2 (de)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10352080A1 (de) * 2003-11-08 2005-06-02 Robert Bosch Gmbh Verfahren zur Bestimmung einer Rohform eines elastischen Bauteils
US9138649B2 (en) * 2008-10-08 2015-09-22 Sony Corporation Game control program, game device, and game control method adapted to control game where objects are moved in game field
US8538737B2 (en) * 2010-09-17 2013-09-17 Adobe Systems Incorporated Curve editing with physical simulation of mass points and spring forces
JP2012123014A (ja) * 2012-02-20 2012-06-28 Chromba Inc 試料調製のためのマルチキャピラリー装置
US20140168204A1 (en) * 2012-12-13 2014-06-19 Microsoft Corporation Model based video projection
EP2808811B1 (de) * 2013-05-30 2019-09-18 Dassault Systèmes Simulation einer Anordnung von Stoffstücken
US9411796B2 (en) * 2013-09-04 2016-08-09 Adobe Systems Incorporated Smoothing paths in a graphical interface generated by drawing inputs
US9934339B2 (en) 2014-08-15 2018-04-03 Wichita State University Apparatus and method for simulating machining and other forming operations
US10621535B1 (en) 2015-04-24 2020-04-14 Mark Lawrence Method and apparatus to onboard resources
US10558770B1 (en) * 2015-06-12 2020-02-11 Msc.Software Corporation Finite element based direct modeling
US9870646B2 (en) 2015-06-26 2018-01-16 Virtual Outfits, Llc Three-dimensional model generation based on two-dimensional images
CN106408508B (zh) 2015-07-30 2019-07-09 腾讯科技(深圳)有限公司 一种图像变形处理方法及装置
WO2017031718A1 (zh) * 2015-08-26 2017-03-02 中国科学院深圳先进技术研究院 弹性物体变形运动的建模方法
CN105513130B (zh) * 2016-02-01 2018-02-16 福建师范大学福清分校 一种基于网格与无网格混合的软组织形变方法
US10215858B1 (en) * 2016-06-30 2019-02-26 Google Llc Detection of rigid shaped objects
US10713400B2 (en) 2017-04-23 2020-07-14 Cmlabs Simulations Inc. System and method for executing a simulation of a constrained multi-body system
EP3502930A1 (de) * 2017-12-22 2019-06-26 Dassault Systèmes Verfahren zur berechnung eines entfalteten teils eines modellierten gebogenen teils eines 3d-objekts
US11645756B2 (en) * 2019-11-14 2023-05-09 Samsung Electronics Co., Ltd. Image processing apparatus and method
CN111062136B (zh) * 2019-12-20 2024-02-09 南京大学 一种实时的衣物形态确定方法及系统
US11886174B2 (en) * 2020-07-31 2024-01-30 Dassault Systemes Americas Corp. Virtualized cable modeling for manufacturing resource simulation

Family Cites Families (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US631782A (en) * 1899-05-15 1899-08-29 Isaac H Fisher Apparatus for mixing concrete, mortar, & c.
US5010477A (en) * 1986-10-17 1991-04-23 Hitachi, Ltd. Method and apparatus for transferring vector data between parallel processing system with registers & logic for inter-processor data communication independents of processing operations
US5123095A (en) * 1989-01-17 1992-06-16 Ergo Computing, Inc. Integrated scalar and vector processors with vector addressing by the scalar processor
US5966528A (en) * 1990-11-13 1999-10-12 International Business Machines Corporation SIMD/MIMD array processor with vector processing
US5317681A (en) * 1991-12-30 1994-05-31 Xerox Corporation Sequencing and scheduling moves for converting concave polyhedra to their convex hulls
JPH07504054A (ja) * 1992-02-18 1995-04-27 アプル・コンピュータ・インコーポレーテッド コンピュータシステムにおけるコプロセッサのプログラミングモデル
US5664162A (en) * 1994-05-23 1997-09-02 Cirrus Logic, Inc. Graphics accelerator with dual memory controllers
US5666497A (en) * 1995-03-08 1997-09-09 Texas Instruments Incorporated Bus quieting circuits, systems and methods
US5818452A (en) * 1995-08-07 1998-10-06 Silicon Graphics Incorporated System and method for deforming objects using delta free-form deformation
US5796400A (en) * 1995-08-07 1998-08-18 Silicon Graphics, Incorporated Volume-based free form deformation weighting
US5765022A (en) * 1995-09-29 1998-06-09 International Business Machines Corporation System for transferring data from a source device to a target device in which the address of data movement engine is determined
US6331856B1 (en) * 1995-11-22 2001-12-18 Nintendo Co., Ltd. Video game system with coprocessor providing high speed efficient 3D graphics and digital audio signal processing
JPH09161095A (ja) * 1995-12-07 1997-06-20 Sega Enterp Ltd 画像処理装置
US6317819B1 (en) * 1996-01-11 2001-11-13 Steven G. Morton Digital signal processor containing scalar processor and a plurality of vector processors operating from a single instruction
KR100269106B1 (ko) * 1996-03-21 2000-11-01 윤종용 멀티프로세서 그래픽스 시스템
US6058465A (en) * 1996-08-19 2000-05-02 Nguyen; Le Trong Single-instruction-multiple-data processing in a multimedia signal processor
US5812147A (en) * 1996-09-20 1998-09-22 Silicon Graphics, Inc. Instruction methods for performing data formatting while moving data between memory and a vector register file
US5892691A (en) * 1996-10-28 1999-04-06 Reel/Frame 8218/0138 Pacific Data Images, Inc. Method, apparatus, and software product for generating weighted deformations for geometric models
JP3681026B2 (ja) * 1997-03-27 2005-08-10 株式会社ソニー・コンピュータエンタテインメント 情報処理装置および方法
US6324623B1 (en) * 1997-05-30 2001-11-27 Oracle Corporation Computing system for implementing a shared cache
US6147692A (en) * 1997-06-25 2000-11-14 Haptek, Inc. Method and apparatus for controlling transformation of two and three-dimensional images
JPH1165989A (ja) * 1997-08-22 1999-03-09 Sony Computer Entertainment:Kk 情報処理装置
US6223198B1 (en) * 1998-08-14 2001-04-24 Advanced Micro Devices, Inc. Method and apparatus for multi-function arithmetic
JP3597360B2 (ja) * 1997-11-17 2004-12-08 株式会社リコー モデリング方法および記録媒体
US6317820B1 (en) 1998-06-05 2001-11-13 Texas Instruments Incorporated Dual-mode VLIW architecture providing a software-controlled varying mix of instruction-level and task-level parallelism
US6366998B1 (en) * 1998-10-14 2002-04-02 Conexant Systems, Inc. Reconfigurable functional units for implementing a hybrid VLIW-SIMD programming model
US6504541B1 (en) * 1998-10-21 2003-01-07 Tele Atlas North America, Inc. Warping geometric objects
US7050655B2 (en) * 1998-11-06 2006-05-23 Nevengineering, Inc. Method for generating an animated three-dimensional video head
JP3017986B1 (ja) * 1998-11-26 2000-03-13 コナミ株式会社 ゲームシステムおよびコンピュータ読み取り可能な記憶媒体
JP2000222590A (ja) * 1999-01-27 2000-08-11 Nec Corp 画像処理方法及び装置
DE69934478T2 (de) * 1999-03-19 2007-09-27 MAX-PLANCK-Gesellschaft zur Förderung der Wissenschaften e.V. Verfahren und Gerät zur Bildverarbeitung auf Basis von Metamorphosemodellen
US6341318B1 (en) * 1999-08-10 2002-01-22 Chameleon Systems, Inc. DMA data streaming
GB0005750D0 (en) * 2000-03-10 2000-05-03 Mathengine Plc Image display apparatus and method
US6525735B1 (en) * 2000-04-20 2003-02-25 Silicon Graphics, Inc. System for attaching rigid objects to deformed shapes in computer generated images via real time local approximation of deformation using rotation
US6608631B1 (en) * 2000-05-02 2003-08-19 Pixar Amination Studios Method, apparatus, and computer program product for geometric warps and deformations
US6967658B2 (en) * 2000-06-22 2005-11-22 Auckland Uniservices Limited Non-linear morphing of faces and their dynamics
US6867770B2 (en) * 2000-12-14 2005-03-15 Sensable Technologies, Inc. Systems and methods for voxel warping
US6779049B2 (en) * 2000-12-14 2004-08-17 International Business Machines Corporation Symmetric multi-processing system with attached processing units being able to access a shared memory without being structurally configured with an address translation mechanism
DE10106023A1 (de) * 2001-02-09 2002-08-29 Fraunhofer Ges Forschung Verfahren und Vorrichtung zur Kollisionserkennung von Objekten
US7093104B2 (en) * 2001-03-22 2006-08-15 Sony Computer Entertainment Inc. Processing modules for computer architecture for broadband networks
US6526491B2 (en) * 2001-03-22 2003-02-25 Sony Corporation Entertainment Inc. Memory protection system and method for computer architecture for broadband networks
US7231500B2 (en) * 2001-03-22 2007-06-12 Sony Computer Entertainment Inc. External data interface in a computer architecture for broadband networks
US7286972B2 (en) * 2001-04-17 2007-10-23 Livermore Software Technology Corporation Implicit-explicit switching for finite element analysis
US7363199B2 (en) * 2001-04-25 2008-04-22 Telekinesys Research Limited Method and apparatus for simulating soft object movement
US6631647B2 (en) * 2001-04-26 2003-10-14 Joseph B. Seale System and method for quantifying material properties
US6966837B1 (en) * 2001-05-10 2005-11-22 Best Robert M Linked portable and video game systems
US6876364B2 (en) * 2001-08-13 2005-04-05 Vidiator Enterprises Inc. Method for mapping facial animation values to head mesh positions
JP3625201B2 (ja) * 2001-10-24 2005-03-02 株式会社コナミコンピュータエンタテインメントスタジオ 3次元モデル変形プログラム、3次元モデル変形方法及びビデオゲーム装置
US7363198B2 (en) * 2001-10-29 2008-04-22 The Board Of Trustees Of The Leland Stanford Junior University Long elements method for simulation of deformable objects
JP2003162549A (ja) * 2001-11-28 2003-06-06 National Institute Of Advanced Industrial & Technology 統合された形状モデル生成方法及びコンピュータプログラム
US7120653B2 (en) * 2002-05-13 2006-10-10 Nvidia Corporation Method and apparatus for providing an integrated file system
US6747643B2 (en) * 2002-06-03 2004-06-08 Omnigon Technologies Ltd. Method of detecting, interpreting, recognizing, identifying and comparing n-dimensional shapes, partial shapes, embedded shapes and shape collages using multidimensional attractor tokens
US7077647B2 (en) * 2002-08-22 2006-07-18 Align Technology, Inc. Systems and methods for treatment analysis by teeth matching
US7156661B2 (en) * 2002-08-22 2007-01-02 Align Technology, Inc. Systems and methods for treatment analysis by teeth matching
US20040075623A1 (en) * 2002-10-17 2004-04-22 Microsoft Corporation Method and system for displaying images on multiple monitors
US7200840B2 (en) * 2002-10-24 2007-04-03 International Business Machines Corporation Method and apparatus for enabling access to global data by a plurality of codes in an integrated executable for a heterogeneous architecture
US20040193754A1 (en) * 2003-03-27 2004-09-30 International Business Machines Corporation DMA prefetch
GB2399900B (en) * 2003-03-27 2005-10-05 Micron Technology Inc Data reording processor and method for use in an active memory device
US20040236457A1 (en) * 2003-05-22 2004-11-25 Kimberly-Clark Worldwide, Inc. Method of evaluating articles used on a body in a virtual environment
US7075541B2 (en) * 2003-08-18 2006-07-11 Nvidia Corporation Adaptive load balancing in a multi-processor graphics processing system
US20050086040A1 (en) * 2003-10-02 2005-04-21 Curtis Davis System incorporating physics processing unit
US7421303B2 (en) * 2004-01-22 2008-09-02 Nvidia Corporation Parallel LCP solver and system incorporating same
US7236170B2 (en) * 2004-01-29 2007-06-26 Dreamworks Llc Wrap deformation using subdivision surfaces
US7392163B1 (en) * 2004-03-25 2008-06-24 Livermore Software Technology Corporation Method and system for controlling hourglass deformations of solid elements in finite element analysis
US20050251644A1 (en) * 2004-05-06 2005-11-10 Monier Maher Physics processing unit instruction set architecture
US7386636B2 (en) 2005-08-19 2008-06-10 International Business Machines Corporation System and method for communicating command parameters between a processor and a memory flow controller
JP2007293533A (ja) * 2006-04-24 2007-11-08 Toshiba Corp プロセッサシステム及びデータ転送方法
US8284202B2 (en) * 2006-06-30 2012-10-09 Two Pic Mc Llc Methods and apparatus for capturing and rendering dynamic surface deformations in human motion

Also Published As

Publication number Publication date
US8886501B2 (en) 2014-11-11
WO2007092037A2 (en) 2007-08-16
GB0813908D0 (en) 2008-09-03
JP2009529161A (ja) 2009-08-13
WO2007092037A3 (en) 2009-04-02
US20120232854A1 (en) 2012-09-13
US8666713B2 (en) 2014-03-04
CN101496028A (zh) 2009-07-29
GB2449377B (en) 2011-06-15
US20120218271A1 (en) 2012-08-30
US20100161297A1 (en) 2010-06-24
GB2449377A (en) 2008-11-19
US20060265202A1 (en) 2006-11-23
US7650266B2 (en) 2010-01-19
US8190412B2 (en) 2012-05-29

Similar Documents

Publication Publication Date Title
DE112006003728T5 (de) Verfahren zum Simulieren eines deformierbaren Objekts unter Verwenden eines geometrisch motivierten Models
US7363199B2 (en) Method and apparatus for simulating soft object movement
DE112006000938T5 (de) Dynamischer Lösungsfinder mit fester Zeitschrittgrösse für interagierende Teilchensysteme
DE102008031526A1 (de) Verfahren zum Aufbau einer Datenstruktur die bei einer nächste-Teilchen-Suche verwendet wird, Programm für dieselbe, und Speichermedium zum Speichern des Programms
DE102008034518B4 (de) Verfahren zur Konstruktion einer Fläche einer auf einer Partikelmethode basierenden Fluidkörpersimulation und Speichermedium mit Programm dafür
DE102008048481A1 (de) Systeme und Verfahren zur Begrenzung der Kontakteindringung in einer numerischen Simulation einer nicht linearen Antwort einer Struktur
DE102008048479A1 (de) Verfahren und Systeme der technischen Analyse unter Verwendung eines hybriden Ansatzes mit FEM und adaptiver SPH
EP2011086A2 (de) Zielorientierte stoffsimulation
Michels et al. A physically based approach to the accurate simulation of stiff fibers and stiff fiber meshes
Kot et al. Mass spring models with adjustable Poisson’s ratio
US20100070246A1 (en) System and method for real-time cloth simulation
DE102015013988B4 (de) Robotersimulationsvorrichtung
Cooper Preventing collapse within mass-spring-damper models of deformable objects
Güdükbay et al. A spring force formulation for elastically deformable models
Cetinaslan Localized constraint based deformation framework for triangle meshes
EP3561701B1 (de) Verfahren und vorrichtung zum bestimmen einer körperlichen form, verfahren zur herstellung einer berechnungseinrichtung, berechnungseinrichtung und verwendung der berechnungseinrichtung
EP1354248B1 (de) Verfahren zur simulation mechatronischer systeme
LeBlanc et al. Modelling and animation of impact and damage with smoothed particle hydrodynamics
Wood et al. A dynamically adaptive lattice Boltzmann method for flapping wing aerodynamics
Zehn et al. Real-time simulation of deformable structures by means of conventional hardware tools: Formalisms and applications
Dochev et al. Efficient super-elasticity handling in mass-spring systems.
Jarrousse et al. A modified Mass-Spring system for myocardial mechanics modeling
Fischer et al. Haptic feedback to guide interactive product design
Mero et al. Deformable 3D Objects for a VR medical application
CN112883609A (zh) 实时模拟物体运动或形变的方法

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final

Effective date: 20120411

R082 Change of representative

Representative=s name: KRAUS & WEISERT PATENTANWAELTE PARTGMBB, DE