DE3789650T2 - Verfahren und System zur Festkörpermodellierung. - Google Patents

Verfahren und System zur Festkörpermodellierung.

Info

Publication number
DE3789650T2
DE3789650T2 DE3789650T DE3789650T DE3789650T2 DE 3789650 T2 DE3789650 T2 DE 3789650T2 DE 3789650 T DE3789650 T DE 3789650T DE 3789650 T DE3789650 T DE 3789650T DE 3789650 T2 DE3789650 T2 DE 3789650T2
Authority
DE
Germany
Prior art keywords
box
sub
primitive
primitives
displacement
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
DE3789650T
Other languages
English (en)
Other versions
DE3789650D1 (de
Inventor
Peter Quarendon
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE3789650D1 publication Critical patent/DE3789650D1/de
Application granted granted Critical
Publication of DE3789650T2 publication Critical patent/DE3789650T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/005Tree description, e.g. octree, quadtree
    • 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/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes

Landscapes

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

Description

  • Die vorliegende Erfindung bezieht sich auf ein Verfahren zur Erzeugung einer räumlichen Darstellung eines dreidimensionalen festen Körpers und auf ein festes Modellierungssystem zur Durchführung dieses Verfahrens.
  • Gegenstände lassen sich in einem festen Modellierungssystem wie beispielsweise einem graphischen Verarbeitungssystem unter Einsatz unterschiedlicher Verfahren darstellen. Ein solches Verfahren, das zur Darstellung von festen Gegenständen besonders geeignet ist, ist die sogenannte "konstruktive feste Geometrie" oder CSG (Constructive Solid Geometry). Gemäß diesem Verfahren wird ein dreidimensionaler (3-D) fester Körper durch eine funktionale Definition dargestellt, die die innerhalb des Körpers liegenden Punkte identifiziert. Normalerweise wird der Körper durch eine Bool'sche Funktion definiert, die "richtig" angibt, wenn sie auf einen Punkt innerhalb des Körpers angewandt wird und die ansonsten "falsch" angibt. Dieses Verfahren steht beispielsweise im Gegensatz zu Linienverfahren, bei denen vielmehr Kanten und Flächen eines Körpers und weniger dessen Volumen definiert werden.
  • Die funktionale Definition eines Körpers legt auf wirksame Weise die Punkte fest, die den Körper bilden. Die funktionale Definition einer Kugel beispielsweise definiert die Punkte, die innerhalb eines gegebenen Radius eines Mittelpunktes liegen. Zusammengesetzte Körper werden durch Kombination der funktionalen Definitionen der enthaltenen Basiskörper oder "Primitive" definiert, beispielsweise Kugeln, unbegrenzte Ebenen und unbegrenzte Zylinder. Die funktionale Definition einer Hantel, beispielsweise, würde die funktionale Definition jeder der beiden Kugeln an unterschiedlichen Positionen, die funktionale Definition eines unbegrenzten Zylinders, dessen Achse die Mittelpunkte der Kugeln durchläuft, und die funktionalen Definitionen zweier planarer Halbebenen, die den Zylinder an den Kugeln beenden, umfassen, wobei die funktionalen Definitionen der Kugeln, des Zylinders und der planaren Halbebenen unter Verwendung eingestellter Verbindungs- und Kreuzungsoperatoren (beispielsweise unter Verwendung eingestellter Theoriegrundsätze) kombiniert würden. Die Primitiven können auch unter Verwendung anderer Kombinationsoperatoren kombiniert werden, beispielsweise durch eingestellte Subtraktionsoperatoren zur Definition beispielsweise eines zusammengesetzten Körpers mit einem Ausschnitt oder einer Öffnung. Auf diese Weise lassen sich hohle zusammengesetzte Körper durch Subtraktion eines kleineren Körpers von einem größeren Körper definieren. Diese zusammengesetzten Körper lassen sich auch innerhalb des Rahmens dieser Anwendung als "fest" bezeichnen, weil die einzelnen Definitionen der Körper, die den zusammengesetzten Körper bilden, fest sind.
  • Ein Körper, der aus Primitiven zusammengesetzt ist, läßt sich auf zahlreiche unterschiedliche Arten strukturieren. Normalerweise wird jedoch eine Baumstruktur verwendet, wobei der zusammengesetzte Körper an der Wurzel des Baums, die Primitiven an den Blättern und die Operatoren an den Verzweigungspunkten im Baum definiert werden, um die zum Zweck der Konstruktion des Körpers aus den Primitiven und/oder Unterkörpern, die an Verzweigungsstellen niedrigerer Ordnung im Baum definiert sind, auszuführenden Kombinationsoperationen zu identifizieren.
  • Die Anzahl der Formen, die sich auf diese Weise definieren lassen, ist in der Praxis abhängig von den gewählten Primitiven. In zahlreichen bisherigen Systemen werden Körper nur aus planaren Halbebenen konstruiert. Eine planare Halbebene ist eine funktionale Definition eines unbegrenzten Körpers, der auf einer Seite einer Ebene existiert. Die funktionale Definition eines Würfels beispielsweise wird durch Kombination der funktionalen Definitionen von sechs Halbebenen unter Verwendung des eingestellten Kreuzungsoperators definiert. Andere Systeme wurden ebenfalls unter Verwendung von Zylindern, Kugeln, Ringen, Ellipsoiden und selbst Spiralen implementiert.
  • Manche Formen lassen sich jedoch auch unter Verwendung dieser Verfahren nicht exakt definieren. Beispiele für solche Formen sind eiförmige Körper (bei denen es sich im wesentlichen um kegelförmige Kugeln handelt), eine Spirale mit einem kastenförmigen Querschnitt oder eine doppelt gewickelte Spirale. Diese wurden bislang, zuweilen unter großen Schwierigkeiten, aufgrund von einfacheren Formen, normalerweise planaren Halbebenen, annähernd berechnet.
  • Es wurde vorgeschlagen, eine bedeutende Klasse solcher Formen zu erzeugen, indem Verschiebungen existierender Primitiven durchgeführt werden. Beispielsweise könnte ein eiförmiger Körper erzeugt werden, indem eine Kugel einer kegelförmigen Verschiebung (bei der der Skalierungsfaktor entlang einer der Achsen variiert) ausgesetzt wird. Ein Zylinder könnte in einen schraubenförmigen Körper umgewandelt werden, bei dem eine Verschiebung dazu verwendet wird, um ihn um eine Achse zu drehen. Beispiele für solche Verschiebungen findet man in Alan Barr, "Computer Graphics", Band 18, Nr. 3, Seiten 21-30. Auch bei Anwendung der in diesem Artikel beschriebenen Verfahren sind präzise Darstellungen jedoch nur bei einer relativ einfachen Kategorie an Körpern möglich.
  • Mit präzisen Darstellungen sind solche Darstellungen gemeint, die in der Praxis einer Verarbeitung ausgesetzt werden können, um ein verwertbares Ergebnis zu erzielen. Das Ergebnis der Verarbeitung kann zahlreiche Formen annehmen. Häufig wird die Erzeugung eines zweidimensionalen (2-D) Bilds eines Körpers gewünscht. Es kann erforderlich sein, kritische Daten bezüglich eines Körpers, beispielsweise das Volumen, den Masseschwerpunkt, das Trägheitsmoment und die Oberfläche zu berechnen. Auch muß bekannt sein, ob zwei Körper zu irgendeinem Zeitpunkt gemeinsam einen Bereich im Raum einnehmen, was beispielsweise in der Robotersteuerung wichtig ist.
  • Um die funktionale Definition eines Körpers zu verarbeiten, wird häufig ein Verfahren angewandt, das als räumliche Unterteilung bezeichnet wird. Dieses Verfahren, das auf eine Methode zur Erzeugung einer 2-D-Perspektivansicht eines 3-D- Festkörpers angewandt wird, ist in einem Papier von Woodwark und Quinlan mit dem Titel "Reducing The Effect Of Complexity On Volume Model Evaluation" beschrieben, das im März 1982 in "Computer Aided Design", Band 14, Nr. 2, veröffentlicht wurde. Dieses Verfahren läßt sich folgendermaßen zusammenfassen:
  • Der darzustellende Körper wird vom großen Raum in den Perspektivansichtraum übertragen. Diese Perspektivdarstellung des Körpers wird anschließend in einen Kasten integriert. Ein Test wird durchgeführt, um herauszufinden, ob der Kasten diesen Körper schneidet. Ist dies der Fall, wird der Kasten in acht gleiche Unterkästen geteilt, indem jede quadratische Fläche in vier kleinere Rechtecke aufgeteilt wird. Diese kleineren rechteckigen Kästen werden dann nacheinander getestet, wobei die leeren Kästen ausgesondert werden. Diejenigen Kästen, die einen Teil des Körpers enthalten, bleiben erhalten und werden erneut unterteilt; dieser Ablauf wird so oft wiederholt, bis die rechteckigen Kästen klein genug sind, um mit einzelnen Bildschirmpixeln übereinzustimmen. Diese Pixel werden dann auf dem Bildschirm in geeigneter Weise mit Farbe versehen.
  • Dieses bisherige Verfahren funktioniert im Prinzip gut, solange der betreffende Körper sowohl im großen Raum als auch im Perspektivdarstellungsraum leicht definierbar ist - wenn der Körper beispielsweise ebene Flächen aufweist. Im Fall von Körpern mit sehr komplexen Flächen jedoch werden die funktionalen Definitionen der Körper so kompliziert, daß dieses Verfahren nicht länger anwendbar ist.
  • Zwar wird im Artikel von Woodwark und Quinlan ein Verfahren zur Erzeugung eines zweidimensionalen Abbilds eines dreidimensionalen festen Körpers unter Verwendung eines räumlichen Aufteilungsverfahrens beschrieben, jedoch fehlt jeder Hinweis darauf, wie ein komplexer Körper unter Verwendung von Verschiebungen und Primitiven definiert werden kann, sei es zur Erzeugung von Bildern oder zu anderen Zwecken.
  • Die Erfordernis zur Modellierung sehr komplexer Körper wächst in den verschiedensten Bereichen, beispielsweise in der Medizin und in der Robotik. Im medizinischen Bereich wäre es beispielsweise nützlich, wenn man ohne großen Aufwand genaue 3-D-Darstellungen von Organen wie beispielsweise dem Herz und vielen anderen Körperteilen wie beispielsweise Blutgefäßen aufgrund von Röntgenaufnahmen und anderen Daten erzeugen könnte, um so chirurgische Eingriffe zu planen. In der Robotik ist es beispielsweise erforderlich, bearbeitete Teile so genau wie möglich zu modellieren, um die Bereiche Bearbeitung und Zusammenbau weiter zu optimieren.
  • Daher besitzen die Körper, die unter diesen neuen Gesichtspunkten modelliert werden sollen, einen Komplexitätsgrad, der unter Einsatz bisheriger Verfahren nicht ausreichend berücksichtigt werden kann. Man betrachte beispielsweise die Schwierigkeit, ein Blutgefäßnetz unter Verwendung von Primitiven in Form unbegrenzter Zylinder zu modellieren. Dazu kann es erforderlich sein, eine Kombination aus Abtrennung, Drehung (um die Achse), Biegung, Scherung, Skalierung, Verschiebung und Verbindung durchzuführen. Die bisherige Technologie lehrt nicht, wie Darstellungen solcher komplexer Modelle erzeugt werden können, die sich auf wirksame Weise verarbeiten lassen.
  • Das Ziel der vorliegenden Erfindung besteht deshalb darin, ein verbessertes Modellierungsverfahren auf der Grundlage der konstruktiven Festkörpergeometrie bereitzustellen, das es ermöglicht, räumliche Darstellungen auf einfache und wirksame Weise zu erzeugen.
  • Gemäß einem ersten Aspekt der vorliegenden Erfindung wird ein Verfahren zur Erzeugung einer räumlichen Darstellung eines dreidimensionalen festen Körpers in einem System, das ein Speichermittel und ein Verarbeitungsmittel umfaßt, bereitgestellt, wobei das Verfahren folgendes umfaßt:
  • (a) den ersten Schritt zur Aufstellung im Speicher
  • - einer Struktur zur Definition des Körpers, wobei die Struktur die funktionalen Definitionen mindestens einer Primitiven und mindestens eines Verschiebungsoperators umfaßt; und
  • - einer funktionalen Definition eines dreidimensionalen Kastens, der den großen Raum definiert;
  • (b) gefolgt durch den Schritt
  • - der Unterteilung des im großen Raum befindlichen Kastens in zunehmend kleiner werdende Unterkästen, bis Unterkästen erstellt werden, deren Größe mindestens einer gewünschten Auflösung entspricht, und
  • - für mindestens eine Primitive in der Struktur der Durchquerung der Struktur zur Feststellung, ob auf die Primitive gemäß Festlegung durch die Struktur irgendwelche Verschiebungsoperatoren angewandt werden müssen, und, wenn ja, der Erzeugung von Testzellen im Primitivraum durch Verschiebung der Unterkästen unter Verwendung der Umkehr des oder jedes Verschiebungsoperators, der auf diese Weise identifiziert wurde, und der Feststellung, ob die Unterkästen mit der gewünschten Auflösung entsprechende Testzellen besitzen, die die Primitive schneiden,
  • wodurch eine räumliche Darstellung des Körpers erzeugt werden kann, ohne daß hierfür am Körper oder an Teilkomponenten des Körpers Verschiebungsoperationen durchgeführt werden müssen.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird ein Festkörpermodellierungssystem bereitgestellt, das ein Mittel zur Erzeugung einer räumlichen Darstellung eines dreidimensionalen festen Körpers umfaßt, wobei das Mittel zur Erzeugung einer funktionalen Darstellung der Verschiebung des Körpers folgendes umfaßt:
  • - ein Mittel zur Definition des Körpers für die Speicherung einer Struktur, die den Körper definiert, wobei die Struktur mindestens eine Primitive und mindestens einen Verschiebungsoperator enthält;
  • - ein Mittel zur Definition des großen Raums für die Speicherung einer funktionalen Definition eines dreidimensionalen Kastens, der den großen Raum definiert; und
  • - Verarbeitungsmittel
  • - zur Unterteilung des Kastens im großen Raum in zunehmend kleiner werdende Unterkästen, bis Unterkästen gebildet werden, deren Größe mindestens mit einer gewünschten Auflösung übereinstimmen, und
  • - für mindestens eine Primitive in der Struktur, zur Durchquerung der Struktur zur Feststellung, ob einer der Verschiebungsoperatoren gemäß der Definition durch die Struktur auf die Primitive angewandt werden soll, und, wenn ja, zur Erzeugung von Testzellen im Primitivraum durch Verschiebung von Unterkästen unter Verwendung der Umkehr des oder jedes Verschiebungsoperators, der auf diese Weise identifiziert wurde, und zur Feststellung, ob Unterkästen mit der gewünschten Auflösung entsprechende Testzellen besitzen, die die Primitive schneiden.
  • In dem oben angeführten Artikel von Alan BARR wird bereits darauf hingewiesen, daß es bei der Strahlenverfolgung möglich ist, die Primitiven unverformt zu lassen und mit den Strahlen eine Verschiebungsumkehr durchzuführen. Es gibt jedoch keinen Hinweis auf eine Verschiebungsumkehr des Kastens und der Unterkästen im großen Raum.
  • Die gleichzeitig anhängige Patentanmeldung EP 0259549 des Antragstellers bezieht sich auf die Erzeugung zweidimensionaler Abbilder lediglich einer Verschiebung eines dreidimensionalen festen Körpers. Die vorliegende Erfindung beschäftigt sich andererseits mit der Erzeugung einer räumlichen Darstellung (bei der es sich um ein 2-D-Bild handeln könnte, wobei es sich im allgemeinsten aller Fälle nur um eine Darstellung im räumlichen Sinn eines Körpers handelt, der dazu verwendet werden kann, um beispielsweise Massenberechnungen durchzuführen) von Körpern, die nicht direkt in Form von Primitiven definiert werden können.
  • Die vorliegende Erfindung wird unter Bezugnahme auf die folgenden bei liegenden Zeichnungen näher beschrieben.
  • Fig. 1A, 1B und 1C stellen die Grundsätze der konstruktiven Festkörpergeometrie dar, wie sie aus der bisherigen Technologie bekannt sind;
  • Fig. 2A, 2B und 2C stellen die Grundsätze bei der Erzeugung einer räumlichen Darstellung eines 3-D-Körpers gemäß der vorliegenden Erfindung dar; und
  • Fig. 3 ist ein schematisches Blockdiagramm, das das Verhältnis zwischen logischen Einheiten und Speichereinheiten eines Teils eines Festkörper-Modellierungssystems darstellt.
  • Vor einer ausführlichen Beschreibung der vorliegenden Erfindung ist es möglicherweise nützlich, auf die Grundsätze bei der Bewertung einer funktionalen Definition eines Körpers unter Verwendung von CSG und unter Bezugnahme auf die Fig. 1A, 1B und 1C einzugehen.
  • Allgemein ausgedrückt handelt es sich bei der Bewertung eines Festkörpermodells um den Prozeß der Bestimmung der Innen- und Außenseite und somit der Begrenzungen des Festkörpers. Die häufigste Verwendung des Bewertungsprozesses ist das Zeichnen eines 2-D-Abbilds des Körpers; der Prozeß kann auch dazu verwendet werden, um die Masseneigenschaften wie beispielsweise Volumen oder Schwerpunkt zu berechnen, um auf diese Weise die Oberfläche des Körpers usw. zu berechnen.
  • Herkömmlicherweise wird ein Körper in Übereinstimmung mit den Grundsätzen der konstruktiven Festkörpergeometrie in Form einer Baumstruktur wie der in Fig. 1B abgebildeten definiert.
  • Fig. 1A ist eine Darstellung gemäß der an vorheriger Stelle angeführten Hantel. Fig. 1B zeigt eine Baumstruktur, die die Hantel darstellt. Eine praktische Implementierung hierfür könnte eine Listenverknüpfungs-Speicherstruktur sein. Mathematisch könnte die Definition der Hantel folgendermaßen ausgedrückt werden:
  • Hantel 10 = A+B+C*D*E
  • wobei "*" der mathematische Vereinigungsoperator ist, der durch "UND" in Fig. 1B dargestellt ist und wobei "+" der mathematische Kreuzungsoperator ist, der durch "ODER" in Figur IB dargestellt ist, und A, B, C, D und E sind die mathematischen Ausdrücke für die Kugel A, die an einem Punkt a zentriert ist, die Kugel B, die an einem Punkt b zentriert ist, der unbegrenzte Zylinder C, die Halbebene D rechts von Linie 10 und die Halbebene E links von Linie 14. Die funktionalen Definitionen der Primitiven A, B, C, D und E findet man an 22a, 22b, 22c, 22d bzw. 22e in der Baumstruktur. Die mathematischen Operatoren sind an den Knoten 24 definiert.
  • Um Berechnungen durchzuführen, die auf einer solchen Definition beruhen, ist es üblich, ein räumliches Unterteilungsverfahren anzuwenden, wie es in Fig. 1C dargestellt ist.
  • Das grundlegende Verfahren einer räumlichen Unterteilung ist wie folgt:
  • Es wird angenommen, daß ein rechtwinkliger Bereich des Raums (30) den zu bewertenden Körper enthält. Der Ausdruck der konstruktiven Festkörpergeometrie, oder die funktionale Definition, die den Körper definiert, wird untersucht und innerhalb dieses Raumbereichs vereinfacht. Die Vereinfachung ist nicht überall gültig, entspricht jedoch dem ursprünglichen Körper innerhalb des in Betracht gezogenen Bereichs. Die Vereinfachungsprozedur ist folgende:
  • 1. Bei einfachen Körpern ist zu bestimmen, ob sich der Körper vollständig außerhalb des Raumwürfels befindet. Ist dies der Fall, wird der Körper durch einen leeren Körper ersetzt, der keine Innenseite besitzt. Außerdem ist zu bestimmen, ob der Körper den Raumbereich vollständig umgibt. Ist dies der Fall, wird der Körper durch einen vollen Körper ersetzt - einen Körper, der keine Außenseite aufweist.
  • 2. Bei zusammengesetzten Körpern, die durch Anwendung von Einstellungsoperatoren erstellt werden, ist wiederholt eine Bool'sche Logik auf die vereinfachten Operanden anzuwenden (im wesentlichen dreiwertig). Zum Beispiel:
  • LEER VEREINIGUNG Ausdruck2 → Ausdruck2
  • Ausdruck1 VEREINIGUNG LEER → Ausdruck1
  • VOLL VEREINIGUNG Ausdruck2 → VOLL
  • Ausdruck1 VEREINIGUNG VOLL → VOLL
  • und
  • LEER SCHNITT Ausdruck2 → LEER
  • Ausdruck1 SCHNITT leer → LEER
  • VOLL SCHNITT Ausdruck2 → Ausdruck2
  • Ausdruck1 SCHNITT VOLL → Ausdruck1
  • Ist das Ergebnis dieser Vereinfachung gleich LEER, besitzt der Körper keine Innenseite innerhalb des in Betracht gezogenen Bereichs. Wird ein Bild gezeichnet, leistet dieser Bereich keinen Beitrag zum Bild auf dem Bildschirm. Werden Masseneigenschaften berechnet, leistet der Bereich keinen Beitrag zum Volumen oder Moment.
  • Ist das Ergebnis der Vereinfachung gleich VOLL, wird der Bereich vollständig durch den Körper besetzt. Normalerweise, wenn ein Bild von einer Perspektive gezeichnet wird, trägt dieser Bereich nicht zum Bild bei, da er keine Fläche enthält, die für den Betrachter sichtbar ist, und die Innenseite eines Körpers ist durch dessen Oberfläche verdeckt. Im Fall von Masseneigenschaften jedoch trägt der gesamte Bereich zum berechneten Volumen oder Moment bei.
  • Normalerweise enthält der Ausdruck mindestens einen Term. Unter manchen Bedingungen ist der Ausdruck ausreichend einfach, um direkt behandelt zu werden. Es kann sich beispielsweise um eine einzelne, planare Halbebene handeln. Der Beitrag zum Bild oder zur Masseneigenschaft des gesamten Körpers läßt sich direkt berechnen. Um in anderen Fällen fortzufahren, wird der Raumbereich in kleinere Bereiche unterteilt. Am einfachsten ist es, wenn man den Bereich im rechten Winkel zu seiner längsten Ausdehnung halbiert. Fig. 1C zeigt die Unterteilung des rechteckigen kastenförmigen Raumbereichs in die acht Unterkästen 31, 32, 33, 34, 35, 36, 37, 38. Der Vereinfachungsprozeß wird anschließend auf diesen beiden neuen Bereichen wiederholt, bis man Ausdrücke wie VOLL, LEER oder andere einfache Fälle erhält.
  • Im Lauf der Zeit wird eine geringere Begrenzung der Bereichsgröße erreicht; einige Bereiche enthalten auch weiterhin Ausdrücke, die nicht einfach sind. Beim Zeichnen eines Bilds ist es ein bequemer Stoppunkt, wenn Bereiche eine Frontfläche aufweisen, die kleiner oder gleich groß wie die eines Pixels ist. In diesem Stadium enthalten Bereiche, die einen einzelnen Körper enthalten, eine Oberfläche eines Körpers von der Größe eines Pixels. Bereiche, die zwei Körper umfassen, enthalten eine Kante, an der die beiden Flächen aufeinandertreffen, und Bereiche, die drei Körper umfassen, enthalten normalerweise einen Scheitelpunkt.
  • Die Maßnahme ist von der durchgeführten Berechnung abhängig. Beim Zeichnen eines Bilds wird die Fläche oder Kante gezeichnet. Bei einer Fläche wird die normale Fläche im Mittelpunkt des Bereichsraums berechnet, und diese wird in Verbindung mit den bekannten Positionen von Lichtquellen dazu verwendet, um die Lichtmenge zu berechnen, die von diesem Punkt zum Betrachter reflektiert wird. Bei einem komplexeren Kanten- oder Scheitelpunktbereich kann ein Strahlenverfolgungsbereich angewandt werden, um eine sichtbare Fläche, die auf diese Weise behandelt werden soll, zu isolieren. Bei der Berechnung von Masseneigenschaften kann für die Zelle einfach halbvoll angenommen werden.
  • Wie jedoch bereits angeführt wurde, ist diese Vorgehensweise zwar theoretisch möglich, jedoch aus praktischer Sicht für eine größere Menge an Körpern und/oder Verschiebungen, bei denen die Komplexität der verschobenen funktionalen Definitionen zu hoch ist, ungeeignet. Daher ist diese Vorgehensweise dann nicht anwendbar, wenn die Bestandteile der Körper nicht durch einfache graphische Primitive definiert werden können.
  • Die vorliegende Erfindung ermöglicht die Definition von komplexen Körpern, was sich durch die Durchführung von Verschiebungen auf einfachen Primitiven und durch Verbinden der Verschiebungen und Primitiven beschreiben läßt. In der Praxis wären die resultierenden Definitionen zu komplex, um sie direkt zu behandeln, daher wird anstelle einer Verschiebung der Komponentenprimitiven des Körpers der Raum verschoben. Es wird eine funktionale Darstellung eines Kastens, beispielsweise eines rechteckigen Kastens, erzeugt, die den Raum (den großen Raum) definiert, in dem der Körper definiert werden soll. Anstatt jedoch die einfachen Primitiven von ihrem ursprünglichen Koordinatensystem in den großen Raum zu verschieben (dies ist das Prinzips der Methode von Barr), wird der rechtwinklige Kasten durch die Umkehr der Verschiebung verschoben, was herkömmlicherweise an den Primitiven des Körpers durchgeführt worden wäre. Auf diese Weise wird der rechtwinklige Kasten dem oben angeführten Algorithmus der Unterteilung unterzogen, wobei jedoch die Umkehrverschiebungen der erzeugten Unterkästen daraufhin überprüft werden, ob sie sich mit den Primitiven in ihren ursprünglichen Koordinatensystemen schneiden; somit entfällt die Notwendigkeit, die Primitiven selbst zu verschieben.
  • Um eine Primitive um Faktoren von beispielsweise sx, sy und sz entlang der Koordinatenachsen zu skalieren, wird der in Betracht gezogene Bereiche im großen Raum (d. h. ein Bereich des Raums, in dem der Körper, der die skalierte oben/unten- Primitive enthält, existiert) durch diese Faktoren nach unten verschoben, und dieser nach unten skalierte Bereich wird im Raum des Körpers, in dem die Primitive ursprünglich definiert wurde, mit der unskalierten Primitiven verglichen. Die Resultate sind dieselben wie beim Vergleich der nach oben skalierten Primitiven im großen Raum mit dem unskalierten Bereich dieses großen Raums.
  • Bei Verschiebungen wie beispielsweise Skalierungen und Übertragungen bleibt der skalierte Bereich für die Achsen nach der Verschiebung ein rechtwinkliger Kasten. Bei der Rotation bleibt der Raum rechtwinklig, ist jedoch nicht mehr parallel zu den Achsen. Bei Verschiebungen wie beispielsweise Biegen oder Drehen wird der Raum in Umkehrrichtung gebogen oder gedreht und ist nicht mehr nur rechtwinklig. Es ist erforderlich, den Körper mit diesem neuen, verschobenen Raum zu vergleichen. Die Fig. 2A bis 2D geben ein Beispiel hierfür für die an vorheriger Stelle beschriebene Hantel, wobei jedoch der Griff der Hantel gebogen ist.
  • Der Algorithmus der Unterteilung wird, was das Material anbelangt, nicht beeinträchtigt, wenn der in Betracht befindliche Raumbereich um einen bestimmten Faktor größer ist, als er sein sollte.
  • Alles was passiert, ist, daß der Ausdruck, der aus der Vereinfachung resultiert, manchmal Terme enthält, die strenggenommen eliminiert werden könnten. Angenommen, der Fehler wird reduziert, während die in Betracht befindlichen Bereiche kleiner werden, so werden diese redundanten Terme später in der Auswertung eliminiert. Die Effizienz nimmt ab und es kann erforderlich werden, die Bewertung auf einem Bereich kleinerer Größe als Minimum fortzuführen; der Algorithmus der Unterteilung arbeitet jedoch auch weiterhin korrekt.
  • Die Prinzipien der vorliegenden Erfindung werden nun ausführlicher unter Bezugnahme auf die Fig. 2A und 2B und Fig. 3 beschrieben.
  • Fig. 3 stellt die funktionale Organisation eines Festkörpermodellierungssystems wie beispielsweise eines graphischen Verarbeitungssystems dar. Diese funktionalen Elemente könnten durch geeignete Programmierung eines auf herkömmliche Weise programmierbaren graphischen Verarbeitungssystems implementiert werden. Alternativ hierzu könnten die in der Abbildung dargestellten funktionalen Einheiten als separate, festverdrahtete Schaltungen in einem graphischen Verarbeitungssystem bereitgestellt werden. Herkömmlicherweise umfaßt ein graphisches Verarbeitungssystem Mittel zur Speicherung, Verarbeitung und Dateneingabe (beispielsweise Tastatur), Datenausgabe (Anzeigeeinrichtung auf der Grundlage einer Kathodenstrahlröhre). Die dargestellten funktionalen Elemente könnten alternativ einen Bestandteil eines beliebigen anderen Festkörpermodellierungssystems bilden, beispielsweise einen Teil des Steuermechanismus eines Roboters.
  • Fig. 2A zeigt eine Hantel 10', die der in Fig. 1A abgebildeten ähnelt, jedoch einen gebogenen Griff aufweist.
  • Mathematisch läßt sich die Definition dieser Hantel darstellen als
  • Hantel 10' = (t&sub1;,A)*(t&sub2;B)*(t&sub3;(C+D+E))
  • wobei "*" der mathematische Vereinigungsoperator und "+" der mathematische Schnittoperator ist; A, B, C, D und E sind die mathematischen Ausdrücke für die Kugel A von Fig. 1A, die am Punkt 'a' zentriert ist, und die Kugel B von Fig. 1A, die am Punkt 'b' zentriert ist, den unbegrenzte Zylinder C, die Halbebene D rechts von der Linie 12 und die Halbebene E links von der Linie 14, und wobei t&sub1; und t&sub2; Übertragungsoperatoren sind und t&sub3; ein Biegeoperator ist.
  • Gemäß den Prinzipien der vorliegenden Erfindung sind die Definitionen der Primitiven und des Kombinationsoperators in einer Struktur enthalten, die den Körper definieren. Diese Struktur könnte die Form einer baumförmigen Struktur annehmen, wie sie in Figur dargestellt ist. Eine praktische Implementierung dieser Struktur könnte die Form einer Verbindungslistenstruktur annehmen, wobei unterschiedliche Speicherelementtypen in der Struktur festlegen, ob ein Element eine Primitive, einen Kombinationsoperator oder einen Verschiebungsoperator definiert. Der Definitionsspeicher 72 für Körper wird bereitgestellt für die Struktur, die die Körperdefinition bildet. Im folgenden wird von der Annahme ausgegangen, daß der Körper im Sinn einer Verbindungslisten-Baumstruktur definiert ist.
  • Der Definitionsspeicher 54 für den großen Raum wird ebenfalls bereitgestellt; er dient zur Speicherung einer funktionalen Definition des Kastens, der den großen Raum darstellt. Im allgemeinen besitzt der Kasten eine rechtwinklige Form. Dieser Kasten könnte jedoch auch eine beliebige andere geeignete Form annehmen, beispielsweise Zylinderform. Die funktionale Definition könnte ebenfalls eine beliebige Form annehmen. Eine Möglichkeit wäre eine Baumstruktur in Form einer verbundenen Liste. Die Definition eines rechtwinkligen Kastens könnte dann die Form einer Überschneidung sechs planarer Halbebenen annehmen. Eine weitere Möglichkeit für einen Würfel wäre es, den Mittelpunkt eines Würfels und den Vektor von diesem Mittelpunkt in eine Ecke des Würfels zu identifizieren. Im folgenden wird von der Annahme ausgegangen, daß der Testkasten rechtwinklig ist.
  • Die Steuerlogik 58 bewirkt, daß die Definitionslogik 60 des Kastens/Unterkastens den rechtwinkligen Kasten für einen Vergleich mit dem Körper auswählt. Die Logik 68 für die Verschiebungsfestlegung und die Vereinfachung des Körpers wird verwendet, um eine vereinfachte funktionale Definition für den Fall zu erzeugen, wo der zu verschiebende Körper sich aus einer Mehrzahl an Primitiven zusammensetzt. Nach einer oder mehreren Unterteilungen des rechtwinkligen Kastens kann die Ausgabe der Vergleichslogik zeigen, daß die Testzelle nicht eine oder mehrere der Primitiven im Körper schneidet. In diesem Fall müssen bei weiteren Unterteilungen dieses Bereichs des rechtwinkligen Kastens die funktionalen Definitionen dieser Primitiven nicht mit den Testzellen für diesen unterteilten Bereich verglichen werden. Die Logik zur Vereinfachung des Körpers wählt diejenigen Teile der funktionalen Definitionen des gesamten Objekts aus, die in jedem beliebigen Stadium, abhängig von den Ergebnissen vorheriger Vergleichsoperationen, relevant sind. Danach wird die Logik 68 zur Vereinfachung des Körpers dazu veranlaßt, die Primitiven für den Vergleich mit den Verschiebungen des Kastens oder Unterkastens, der momentan ausgewählt ist, auszuwählen. Für jede Primitive, die so ausgewählt wurde, identifiziert die Logik zur Verschiebungsbestimmung und Vereinfachung des Körpers auch die Verschiebungsoperation(en), die erforderlich wären, um diese Primitive in den großen Raum zu verschieben, um den Körper zu erzeugen. Die Umkehr jeder der Verschiebungen, die so angezeigt wird, kann dann im Verschiebungsoperatorspeicher 56 identifiziert werden.
  • Der momentan ausgewählte Kasten oder Unterkasten wird dann dem oder jedem umgekehrten Verschiebungsoperator in der Logik 62 zur Umkehrverschiebungsverarbeitung unterzogen, und ein Testkasten wird erzeugt. Der resultierende Testkasten kann dann entweder von der Testzellenerzeugungslogik 64 direkt zur Vergleichslogik 66 als Testzelle weitergegeben werden, oder, wie an späterer Stelle beschrieben wird, kann eine vereinfachte Testzelle aus der Umkehrverschiebung des rechtwinkligen Kastens (oder Unterkastens) durch diese Logik 64 erzeugt werden, die dann zur Vergleichslogik 66 weitergeleitet wird.
  • Der Körper und die funktionalen Definitionen der Testzelle werden auf Überschneidungen geprüft, indem sie in der Vergleichslogik 66 verglichen werden, worauf eine im wesentlichen dreistellige Bool'sche Vergleichsausgabe erzeugt wird, wie an früherer Stelle beschrieben wurde, das heißt, VOLL, LEER oder teilweise voll. Die Ausgabe der Vergleichslogik wird an die Steuerlogik 58 und an die Logik 68 zur Verschiebungsbestimmung und Vereinfachung des Körpers weitergeleitet.
  • Die Steuerlogik reagiert auf eine von mehreren möglichen Arten, je nach Ergebnis des Vergleichs für jede Testzelle und Primitive:
  • i) Für den Fall, daß eine Schnittstelle festgestellt wird und der in Betracht befindliche Kasten oder Unterkasten größer als eine gewünschte Auflösung ist, bewirkt die Steuerlogik, daß die Logik zur Unterteilung des Kastens/Unterkastens den in Betracht befindlichen Kasten oder Unterkasten in eine bestimmte Anzahl kleinerer Unterkästen unterteilt, um im nächsten Stadium ausgewertet zu werden. Fig. 2C zeigt die Unterteilung durch 8, wobei jedoch jeder andere Faktor, beispielsweise 2, ebenso ausgewählt werden kann.
  • ii) Für den Fall, daß eine Schnittstelle festgestellt wird und die Größe des in Betracht befindlichen Kastens oder Unterkastens mit der gewünschten Auflösung übereinstimmt, wird diese Tatsache im Ergebnisspeicher 70 gespeichert.
  • iii) Ist keine Schnittstelle vorhanden, wird die Überprüfung des in Betracht befindlichen Kastens oder Unterkastens abgeschlossen und diese Tatsache aufgezeichnet.
  • Die Fig. 2C und 2D veranschaulichen die Prinzipien der vorliegenden Erfindung. Anstatt einer Verschiebung der Komponentenprimitiven (d. h. des Zylinders C und der beiden Halbebenen D und E) in den großen Raum, wie dies durch die gepunkteten Linien in Fig. 2C dargestellt ist, werden die funktionalen Definitionen der Komponentenprimitiven in ihren ursprünglichen Koordinatensystemen beibehalten und anstelle dessen wird Raum verschoben. Auf diese Weise wird ein Bereich des Raums 39 im großen Raum unter Verwendung der Umkehr der Biegeverschiebung t&sub3;, die in der in Fig. 2B abgebildeten Baumstruktur identifiziert wurde, verwendet, um so eine Testzelle 38' im Koordinatensystem des Zylinders C zu erzeugen, die für einen Vergleich mit dem Zylinder dient. Für den Vergleich eines Bereichs des großen Raums mit der Kugel A oder B würde eine andere Verschiebung (t&sub1; oder t&sub2;) am Raum ausgeführt werden, da diese Kugeln für die Hantel 10' lediglich umpositioniert (von a nach a' bzw. von b nach b') und nicht gebogen wurden.
  • Die Testzellen können durch die funktionalen Definitionen der Umkehrverschiebungen der Unterkästen gebildet werden. Dies ist jedoch nicht wesentlich. Die Umkehrverschiebung eines Unterkastens könnte an statt dessen durch ein einfaches 3-D-Volumen ersetzt werden, das auf dieser Umkehrverschiebung zentriert wäre und diese umgäbe.
  • Mit einem einfachen 3-D-Volumen wird ein Volumen wie beispielsweise eine Kugel, rechtwinklige Kästen oder ein Ellipsoid, bezeichnet, weil diese Körper relativ einfach zu definieren und zu verarbeiten sind. Das liegt daran, daß jeder beliebige Teil des Körpers, der die Umkehrverschiebung des Unterkastens schneidet, auch die umgebende Kugel oder den umgebenden Kasten oder das umgebende Ellipsoid schneidet, das auf dieser Verschiebung zentriert ist. Wird eine vereinfachte Testzelle verwendet - diese würde durch die Testzellenerzeugungslogik 64 erzeugt - läge der Effekt für das Verfahren lediglich darin, daß es erforderlich sein könnte, eine weitere Phase der Unterteilung einzuschieben, um dieselbe Auflösung wie die Testzelle zu erreichen, die mit der Umkehrverschiebung selbst (beispielsweise der "Testkasten") erzielt würde. Um Anpassungsschwierigkeiten zwischen dem verwendeten Testkasten und der Testzelle möglichst gering zu halten, könnte eine Testzelle ausgewählt werden, die eine leicht zu verarbeitende funktionale Definition besitzt, sich jedoch trotzdem an Form und Größe des Testkastens annähern kann.
  • Die tatsächlich im Ergebnisspeicher 70 durch die Steuerlogik 58 eingespeicherte Information ist von der auszuführenden Aufgabe abhängig.
  • Wird eine Massenberechnung ausgeführt, könnte die Masse einfach als Summe der Anzahl festgestellter voller Zellen akkumuliert werden, wobei teilweise volle Zellen, die Unterkästen der gewünschten Auflösung entsprechen, als halbvoll aufgezeichnet werden.
  • Wird beispielsweise ein 2-D-Abbild des komplexen Körpers erzeugt, kann eine Pixelabbildung des Bilds im Ergebnisspeicher aufgebaut werden. Auf bequeme Weise kann ein rechtwinkliger Kasten so in Bezug auf die beabsichtigte Blickrichtung angeordnet werden, daß eine seiner Achsen parallel zur Blickrichtung verläuft; die Unterteilungsabläufe werden so angeordnet, daß Reihen von Unterkästen beim Aufbau des Bilds parallel zur Blickrichtung liegen. Die Frontfläche des Kastens, welche die vom Betrachter am wenigsten entfernte ist, oder der Projektionspunkt für das Bild kann dann die Betrachtungsebene für dieses Bild bilden. Jedes Pixel auf dem Bild kann dann so angeordnet werden, daß es einer Reihe an Unterkästen entspricht, die eine Frontfläche aufweisen, die der Größe eines Pixels, das parallel zur Blickrichtung liegt, entsprechen.
  • Diese Anordnung ist jedoch nicht einzig möglich; andere Formen und Ausrichtungen des Kastens sind ebenfalls möglich, besonders wenn gewünscht wird, ungewöhnliche Blickwinkel des Körpers zu erzeugen (Verzerrungen, Stereoansichten). Die Steuerlogik wird so ausgelegt, daß Unterkästen, die der Vorderseite des Körpers näher liegen, wie aus dem beabsichtigten Bild hervorgeht (beispielsweise der Betrachtungsebene am nächsten), vor den weiter entfernt liegenden verarbeitet werden, so daß die Frontflächen des Körpers bestimmt werden können. Daher muß ein Unterkasten nicht in Betracht gezogen werden, wenn die Einstellungen für die entsprechenden Pixel bereits festgelegt wurden. Das Steuerprogramm zeichnet den fortlaufenden Unterteilungsprozeß auf. Diese Aufzeichnung kann in Form einer Baumstrukturaufzeichnung, einer Bitmap oder in einer beliebigen anderen Form erfolgen.
  • Sobald die Frontfläche des Körpers festgestellt wurde, kann die erforderliche Farbe und/oder Intensität des Pixels bestimmt werden; hierzu wird beispielsweise ein Strahlenverfolgungsverfahren angewandt. Der Vektor, der die Normale zu einer Fläche einer Primitiven in einer beliebigen Testzelle darstellt, kann aus der funktionalen Definition dieser Primitiven berechnet werden. Durch Verschiebung dieses Normalenvektors in den großen Raum unter Verwendung der für diese Primitive in der Objektdefinitionsstruktur identifizierten Verschiebungen und durch Vergleich des verschobenen Vektors mit einem oder mehreren Vektoren, die Lichtquellen darstellen, kann die Farbe und/oder Intensität des Pixels festgestellt werden, das zu dieser Testzelle gehört.
  • Um ein Abbild einer Verschiebung des Körpers (beispielsweise einer zweidimensionalen Perspektivansicht) zu erzeugen, ist es lediglich nötig, eine zusätzliche Verschiebungsdefinition einzubauen, die für die erforderliche Verschiebung an der Wurzel der Struktur geeignet ist, die den Körper definiert, und den Verschiebungsbetrachtungsraum als "großen Raum" zum Zweck der Erzeugung des Bilds anzunehmen. Auf diese Weise können Verzerrungen des Bilds simuliert und/oder spezielle Betrachtungen des Körpers (beispielsweise wie durch ein Fischauge) erzeugt werden.
  • Im Sinne einer einfacheren Darstellung sind nur relativ einfache Verschiebungen und Körper abgebildet. Es ist jedoch zu berücksichtigen, daß die vorliegende Erfindung auch Körper und Verschiebungen sehr hoher Komplexität behandeln kann. Komplexe Körper, die gemäß der vorliegenden Erfindung aus einem einfachen Körper erzeugt wurden, können mit anderen Körpern kombiniert oder überlagert werden, wie dies auch bei einem einfachen Körper geschehen würde.
  • Im allgemeinen Fall werden die Unterkästen, die aus der Unterteilung des Kastens, die den großen Raum darstellen, erzeugt werden, auf eine Überschneidung mit den Primitiven des Körpers untersucht, in dem für jeden auf Überschneidung getesteten Unterkasten und für jede Primitive die Struktur bis hin zur funktionalen Definition dieser Primitiven durchlaufen wird, die den Körper definiert, um festzustellen, ob irgendwelche Verschiebungsoperatoren hier anzuwenden sind; wenn ja, wird im Primitivenraum aus dem Unterkasten eine Testzelle erzeugt, wobei die Umkehr der oder jeder Verschiebung, die auf diese Weise identifiziert wurde, verwendet wird, und die funktionalen Definitionen der Testzelle und der Primitiven verglichen, um festzustellen, ob der Unterkasten eine entsprechende Testzelle aufweist, die die Primitive überlagert.
  • Es ist ersichtlich, daß die Verarbeitung eines komplexen, zusammengesetzten Körpers eine große Zahl an einzelnen Operationen umfaßt. Da jedoch die einzelnen Operationen relativ einfach sind, ermöglicht die vorliegende Erfindung ein effizientes Verfahren zur Modellierung komplexer zusammengesetzter Körper.

Claims (9)

1. Ein Verfahren zur räumlichen Darstellung eines dreidimensionalen festen Körpers in einem System, das ein Speicher- und ein Verarbeitungsmittel enthält, wobei das Verfahren folgendes umfaßt:
(a) den ersten Schritt zur Aufstellung im Speicher
- einer Struktur (20, 72) zur Definition des Körpers, wobei die Struktur die funktionalen Definitionen mindestens einer Primitiven (22a, . . . 22e) und mindestens eines Verschiebungsoperators (t1 . . . t3) umfaßt; und
- einer funktionalen Definition (54) eines dreidimensionalen Kastens (30), der den großen Raum definiert;
(b) gefolgt durch den Schritt
- der Unterteilung (60) des im großen Raum befindlichen Kastens in zunehmend kleiner werdende Unterkästen (31-38), bis Unterkästen erstellt werden, deren Größe mindestens einer gewünschten Auflösung entspricht, und
- für mindestens eine Primitive (22a . . . 22e) in der Struktur der Durchquerung (68, 56) der Struktur zur Feststellung, ob auf die Primitive gemäß Festlegung durch die Struktur irgendwelche Verschiebungsoperatoren angewandt werden müssen, und, wenn ja, der Erzeugung von Testzellen im Primitivraum durch Verschiebung der Unterkästen unter Verwendung der Umkehr des oder jedes Verschiebungsoperators, der auf diese Weise identifiziert wurde, und der Feststellung (66), ob die Unterkästen mit der gewünschten Auflösung entsprechende Testzellen besitzen, die die Primitive schneiden,
wodurch eine räumliche Darstellung des Körpers erzeugt werden kann, ohne daß hierfür am Körper oder an Teilkomponenten des Körpers Verschiebungsoperationen durchgeführt werden müssen.
2. Ein Verfahren gemäß Anspruch 1, wobei es sich bei der Struktur um eine Baumstruktur handelt, in der der vollständige feste Körper am Wurzelknoten der Baumstruktur definiert ist, wobei die Primitiven an den Blätterknoten und die untergeordneten Körper an den mittleren Knoten in der Baumstruktur definiert sind, und wobei Verschiebungsoperatoren und Kombinationsfunktionen zur Feststellung, wie die untergeordneten Primitiven und/oder untergeordneten Körper zu kombinieren sind, so daß sie den Körper oder die untergeordneten Körper an den Knoten des Baums bilden, an entsprechenden Knoten definiert sind.
3. Ein Verfahren gemäß Anspruch 1 oder Anspruch 2, wobei die räumliche Darstellung des dreidimensionalen festen Körpers ein zweidimensionales Abbild dieses Körpers von einem Blickpunkt in Blickrichtung ist, wobei dieses Bild aus einem Feld an Bildpixeln besteht und wobei der Schritt zur Feststellung, ob Unterkästen mit mindestens der gewünschten Auflösung entsprechende Testzellen besitzen, die die Primitive schneiden, folgenden Schritt umfaßt:
- Feststellung für jede Reihe an Unterkästen mit einem Frontbereich, der mindestens der gewünschten Auflösung entspricht, wobei sich die genannten Reihen im Kasten parallel zur Blickrichtung erstrecken und mit entsprechenden Pixeln in dem Feld, das das Bild formt, zusammenhängt, welches, wenn überhaupt vorhanden, der Unterkasten ist, der sich in dieser Reihe am nächsten zum Blickpunkt, dessen entsprechende Testzelle den Körper schneidet, befindet;
und wobei das Verfahren darüber hinaus folgenden Schritt umfaßt:
- Speicherung der Einstellung der Farbe und/oder Intensität für das Pixel, das mit den entsprechenden Reihen zusammenhängt, und das dem Ergebnis der Feststellung des nächsten Unterkastens für jede Reihe entspricht,
- wobei ein zweidimensionales Bild eines festen Körpers erzeugt werden kann, ohne daß hierfür die Primitivkomponenten des Körpers verschoben werden müssen.
4. Ein Verfahren gemäß Anspruch 3, in dem die gewünschte Auflösung gleich der Pixelauflösung des Bilds ist.
5. Ein Verfahren gemäß jedem der zuvor aufgeführten Ansprüche, bei dem die Schritte (b) sich wiederholende Schritte sind, die eine Mehrzahl an Stadien bilden, so daß in jedem Stadium die Testzelle, die dem in Betracht gezogenen Unterkasten entspricht, auf Schnittstellen untersucht wird; dort, wo eine Schnittstelle festgestellt wird, folgt ein Abbruch des Unterteilungsprozesses für diesen Unterkasten, wenn seine Größe mindestens der gewünschten Auflösung entspricht; andernfalls wird der Unterkasten weiter in kleinere Unterkästen unterteilt, die wiederum im nächsten Stadium in Betracht gezogen werden, während in dem Fall, in dem keine Schnittstelle festgestellt wurde, der Unterteilungsprozeß für den in Betracht gezogenen Unterkasten unabhängig von dessen Größe abgebrochen wird.
6. Ein Verfahren gemäß Anspruch 5, wenn dieser direkt oder indirekt an Anspruch 3 angefügt wird, wobei Unterkästen, die sich näher an der ersten Fläche des Kastens befinden, vor den weiter entfernt liegenden in Betracht gezogen werden, wobei ein Unterkasten nicht verarbeitet werden muß, wenn die Einstellungen für die entsprechenden Pixel bereits festgestellt wurden.
7. Ein Verfahren gemäß jedem der zuvor angeführten Ansprüche, in dem der Schritt zur Erzeugung einer Testzelle den Schritt zur Feststellung eines vorbestimmten Punkts der Verschiebung des in Betracht gezogenen Kastens oder Unterkastens und zur Definition eines einfachen 3-D-Volumens im Primitivraum um den genannten Punkt, der die Verschiebung des Kastens oder Unterkastens vollständig enthält, umfaßt, wobei dieses Volumen dann die Testzelle für den in Betracht gezogenen Kasten oder Unterkasten bildet.
8. Ein Verfahren gemäß Anspruch 3 oder jedem einzelnen der Ansprüche 4 bis 7, wenn dieser an Anspruch 3 angehängt wird, in dem der Schritt zur Speicherung einer Angabe der Farbe und/oder Intensität des Pixels für jede Reihe die Schritte zur Verschiebung eines Vektors, der ein normal zur Oberfläche einer Primitiven innerhalb einer Testzelle darstellt, in den großen Raum und einen Vergleich des verschobenen oberflächennormalen Vektors mit mindestens einem Vektor, der eine Lichtquelle darstellt, umfaßt.
9. Ein Festkörpermodellierungssystem, das ein Mittel zur Erzeugung einer räumlichen Darstellung eines dreidimensionalen festen Körpers umfaßt, wobei dieses Mittel zur Erzeugung einer funktionalen Darstellung der Verschiebung des Körpers folgendes umfaßt:
- ein Mittel (72) zur Definition des Körpers für die Speicherung einer Struktur, die den Körper definiert, wobei die Struktur mindestens eine Primitive (22a . . . 22e) und mindestens einen Verschiebungsoperator (t1 . . . t3) enthält;
- ein Mittel (54) zur Definition des großen Raums für die Speicherung einer funktionalen Definition eines dreidimensionalen Kastens (30), der den großen Raum definiert; und
- Verarbeitungsmittel (58, 60, 62, 64, 66, 68)
- zur Unterteilung (60) des Kastens im großen Raum in zunehmend kleiner werdende Unterkästen, bis Unterkästen gebildet werden, deren Größe mindestens mit einer gewünschten Auflösung übereinstimmen, und
- für mindestens eine Primitive in der Struktur, zur Durchquerung (68, 56) der Struktur zur Feststellung, ob einer der Verschiebungsoperatoren gemäß der Definition durch die Struktur auf die Primitive angewandt werden soll, und, wenn ja, zur Erzeugung (62, 64) von Testzellen im Primitivraum durch Verschiebung von Unterkästen unter Verwendung der Umkehr des oder jedes Verschiebungsoperators, der auf diese Weise identifiziert wurde, und zur Feststellung (66), ob Unterkästen mit der gewünschten Auflösung entsprechende Testzellen besitzen, die die Primitive schneiden.
DE3789650T 1986-09-03 1987-06-16 Verfahren und System zur Festkörpermodellierung. Expired - Fee Related DE3789650T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB8621257A GB2194656B (en) 1986-09-03 1986-09-03 Method and system for solid modelling

Publications (2)

Publication Number Publication Date
DE3789650D1 DE3789650D1 (de) 1994-05-26
DE3789650T2 true DE3789650T2 (de) 1994-11-17

Family

ID=10603624

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3789650T Expired - Fee Related DE3789650T2 (de) 1986-09-03 1987-06-16 Verfahren und System zur Festkörpermodellierung.

Country Status (8)

Country Link
US (1) US4858149A (de)
EP (1) EP0262304B1 (de)
JP (1) JPS6365576A (de)
AU (1) AU600515B2 (de)
BR (1) BR8703887A (de)
CA (1) CA1285660C (de)
DE (1) DE3789650T2 (de)
GB (1) GB2194656B (de)

Families Citing this family (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5003498A (en) * 1986-01-13 1991-03-26 Hitachi, Ltd. Graphic display method
US5283859A (en) * 1986-09-03 1994-02-01 International Business Machines Corporation Method of and system for generating images of object transforms
GB2194715B (en) * 1986-09-03 1991-02-13 Ibm Method of and system for generating images of object transforms
GB2214037A (en) * 1987-12-18 1989-08-23 Ibm Solid modelling system
JPH01175671A (ja) * 1987-12-29 1989-07-12 Nippon Steel Corp 図面データの変換方法
US5278983A (en) * 1988-09-30 1994-01-11 International Business Machines Corporation Boundary representation solid modeling system
US5261032A (en) * 1988-10-03 1993-11-09 Robert Rocchetti Method for manipulation rectilinearly defined segmnts to form image shapes
FR2638875B1 (fr) * 1988-11-04 1990-12-14 Gen Electric Cgr Procede de selection d'un objet dans un referentiel a n dimensions et de visualisation de l'objet selectionne
US5079545A (en) * 1989-01-13 1992-01-07 Sun Microsystems, Inc. Apparatus and method for processing graphical information to minimize page crossings and eliminate processing of information outside a predetermined clip window
US5027292A (en) * 1989-04-19 1991-06-25 International Business Machines Corporation Multiple depth buffers for graphics and solid modelling
US5113357A (en) * 1989-05-18 1992-05-12 Sun Microsystems, Inc. Method and apparatus for rendering of geometric volumes
GB2231759B (en) * 1989-05-18 1993-12-08 Sun Microsystems Inc Method and apparatus for the rendering of geometric volumes
JP3245655B2 (ja) * 1990-03-05 2002-01-15 インキサイト ソフトウェア インコーポレイテッド 作業スペースの表示処理方法
EP0447629A3 (en) * 1990-03-19 1993-01-13 International Business Machines Corporation A compliant sectioning facility for interactive sectioning of solid geometric objects using a graphics processor
US5086401A (en) * 1990-05-11 1992-02-04 International Business Machines Corporation Image-directed robotic system for precise robotic surgery including redundant consistency checking
GB2253772B (en) * 1991-03-12 1995-01-25 Honda Motor Co Ltd Method of creating solid model
US6002430A (en) * 1994-01-31 1999-12-14 Interactive Pictures Corporation Method and apparatus for simultaneous capture of a spherical image
US6201574B1 (en) 1991-05-13 2001-03-13 Interactive Pictures Corporation Motionless camera orientation system distortion correcting sensing element
US7714936B1 (en) 1991-05-13 2010-05-11 Sony Corporation Omniview motionless camera orientation system
US7382399B1 (en) 1991-05-13 2008-06-03 Sony Coporation Omniview motionless camera orientation system
US6243131B1 (en) 1991-05-13 2001-06-05 Interactive Pictures Corporation Method for directly scanning a rectilinear imaging element using a non-linear scan
US5990941A (en) 1991-05-13 1999-11-23 Interactive Pictures Corporation Method and apparatus for the interactive display of any portion of a spherical image
US5903319A (en) * 1991-05-13 1999-05-11 Interactive Pictures Corporation Method for eliminating temporal and spacial distortion from interlaced video signals
US5384588A (en) * 1991-05-13 1995-01-24 Telerobotics International, Inc. System for omindirectional image viewing at a remote location without the transmission of control signals to select viewing parameters
GB2270243B (en) * 1992-08-26 1996-02-28 Namco Ltd Image synthesizing system
GB2271260A (en) * 1992-10-02 1994-04-06 Canon Res Ct Europe Ltd Processing image data
US6731284B1 (en) 1992-12-14 2004-05-04 Ford Oxaal Method of and apparatus for performing perspective transformation of visible stimuli
US5684937A (en) * 1992-12-14 1997-11-04 Oxaal; Ford Method and apparatus for performing perspective transformation on visible stimuli
GB9316214D0 (en) * 1993-08-05 1993-09-22 Philips Electronics Uk Ltd Image processing
JP3313221B2 (ja) * 1993-12-28 2002-08-12 松下電器産業株式会社 画像生成方法及び画像生成装置
US5734805A (en) * 1994-06-17 1998-03-31 International Business Machines Corporation Apparatus and method for controlling navigation in 3-D space
JPH0854998A (ja) * 1994-07-28 1996-02-27 Xerox Corp コンピュータ制御ディスプレイシステム
US5546529A (en) * 1994-07-28 1996-08-13 Xerox Corporation Method and apparatus for visualization of database search results
US6327381B1 (en) 1994-12-29 2001-12-04 Worldscape, Llc Image transformation and synthesis methods
US5703961A (en) * 1994-12-29 1997-12-30 Worldscape L.L.C. Image transformation and synthesis methods
US6493032B1 (en) 1996-06-24 2002-12-10 Be Here Corporation Imaging arrangement which allows for capturing an image of a view at different resolutions
US6459451B2 (en) 1996-06-24 2002-10-01 Be Here Corporation Method and apparatus for a panoramic camera to capture a 360 degree image
US6373642B1 (en) 1996-06-24 2002-04-16 Be Here Corporation Panoramic imaging arrangement
US6331869B1 (en) 1998-08-07 2001-12-18 Be Here Corporation Method and apparatus for electronically distributing motion panoramic images
US6341044B1 (en) 1996-06-24 2002-01-22 Be Here Corporation Panoramic imaging arrangement
US6128577A (en) * 1996-12-19 2000-10-03 Schlumberger Technology Corporation Modeling geological structures and properties
US5905657A (en) * 1996-12-19 1999-05-18 Schlumberger Technology Corporation Performing geoscience interpretation with simulated data
US6052650A (en) * 1997-02-27 2000-04-18 Schlumberger Technology Corporation Enforcing consistency in geoscience models
US6466254B1 (en) 1997-05-08 2002-10-15 Be Here Corporation Method and apparatus for electronically distributing motion panoramic images
US6356296B1 (en) 1997-05-08 2002-03-12 Behere Corporation Method and apparatus for implementing a panoptic camera system
US6333749B1 (en) * 1998-04-17 2001-12-25 Adobe Systems, Inc. Method and apparatus for image assisted modeling of three-dimensional scenes
JP3612422B2 (ja) * 1998-06-01 2005-01-19 株式会社アマダ 板金の図形作成プログラムを記録したコンピュータ読み取り可能な記録媒体
US6924832B1 (en) 1998-08-07 2005-08-02 Be Here Corporation Method, apparatus & computer program product for tracking objects in a warped video image
US6313837B1 (en) 1998-09-29 2001-11-06 Schlumberger Technology Corporation Modeling at more than one level of resolution
US6369818B1 (en) 1998-11-25 2002-04-09 Be Here Corporation Method, apparatus and computer program product for generating perspective corrected data from warped information
US6522906B1 (en) 1998-12-08 2003-02-18 Intuitive Surgical, Inc. Devices and methods for presenting and regulating auxiliary information on an image display of a telesurgical system to assist an operator in performing a surgical procedure
US6799065B1 (en) 1998-12-08 2004-09-28 Intuitive Surgical, Inc. Image shifting apparatus and method for a telerobotic system
US6175454B1 (en) 1999-01-13 2001-01-16 Behere Corporation Panoramic imaging arrangement
US8944070B2 (en) 1999-04-07 2015-02-03 Intuitive Surgical Operations, Inc. Non-force reflecting method for providing tool force information to a user of a telesurgical system
WO2002047028A2 (en) * 2000-12-07 2002-06-13 Just Iced Cubed Inventions Inc. Systems and methods for registration of hemispheric images for panomaric viewing
US7239345B1 (en) 2001-10-12 2007-07-03 Worldscape, Inc. Camera arrangements with backlighting detection and methods of using same
US7031790B2 (en) * 2002-09-23 2006-04-18 Autodesk, Inc. Operator for sculpting solids with sheet bodies
US7457444B2 (en) * 2003-05-14 2008-11-25 Siemens Medical Solutions Usa, Inc. Method and apparatus for fast automatic centerline extraction for virtual endoscopy
US7804500B2 (en) * 2004-07-26 2010-09-28 Che-Chih Tsao Methods of displaying volumetric 3D images
US7880737B2 (en) * 2005-03-22 2011-02-01 Vijayvardhan Elchuri Graphical method and system for making drawings directly in three-dimensions on a computer monitor or other display device
US9789608B2 (en) 2006-06-29 2017-10-17 Intuitive Surgical Operations, Inc. Synthetic representation of a surgical robot
CN104688349B (zh) 2006-06-13 2017-05-10 直观外科手术操作公司 微创手术***
US10008017B2 (en) 2006-06-29 2018-06-26 Intuitive Surgical Operations, Inc. Rendering tool information as graphic overlays on displayed images of tools
US9718190B2 (en) 2006-06-29 2017-08-01 Intuitive Surgical Operations, Inc. Tool position and identification indicator displayed in a boundary area of a computer display screen
US10258425B2 (en) 2008-06-27 2019-04-16 Intuitive Surgical Operations, Inc. Medical robotic system providing an auxiliary view of articulatable instruments extending out of a distal end of an entry guide
US20090192523A1 (en) 2006-06-29 2009-07-30 Intuitive Surgical, Inc. Synthetic representation of a surgical instrument
US9089256B2 (en) 2008-06-27 2015-07-28 Intuitive Surgical Operations, Inc. Medical robotic system providing an auxiliary view including range of motion limitations for articulatable instruments extending out of a distal end of an entry guide
US9469034B2 (en) 2007-06-13 2016-10-18 Intuitive Surgical Operations, Inc. Method and system for switching modes of a robotic system
US9138129B2 (en) 2007-06-13 2015-09-22 Intuitive Surgical Operations, Inc. Method and system for moving a plurality of articulated instruments in tandem back towards an entry guide
US9084623B2 (en) 2009-08-15 2015-07-21 Intuitive Surgical Operations, Inc. Controller assisted reconfiguration of an articulated instrument during movement into and out of an entry guide
US8620473B2 (en) 2007-06-13 2013-12-31 Intuitive Surgical Operations, Inc. Medical robotic system with coupled control modes
US8864652B2 (en) 2008-06-27 2014-10-21 Intuitive Surgical Operations, Inc. Medical robotic system providing computer generated auxiliary views of a camera instrument for controlling the positioning and orienting of its tip
US8918211B2 (en) 2010-02-12 2014-12-23 Intuitive Surgical Operations, Inc. Medical robotic system providing sensory feedback indicating a difference between a commanded state and a preferred pose of an articulated instrument
US9492927B2 (en) 2009-08-15 2016-11-15 Intuitive Surgical Operations, Inc. Application of force feedback on an input device to urge its operator to command an articulated instrument to a preferred pose
US10507066B2 (en) 2013-02-15 2019-12-17 Intuitive Surgical Operations, Inc. Providing information of tools by filtering image areas adjacent to or on displayed images of the tools

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3194948A (en) * 1958-08-07 1965-07-13 Itt Velocity and position computer
FR1494849A (fr) * 1966-07-21 1967-09-15 Renault Procédé de génération d'une courbe applicable à des machines à tracer ou à usiner
US4396988A (en) * 1980-12-31 1983-08-02 International Business Machines Corporation Method and apparatus for automatically determining the X-Y intersection of two curves in a raster type display system including a buffer refresh memory
ATE45258T1 (de) * 1981-04-10 1989-08-15 Ampex Geraet zur raeumlichen transformation von bildern.
US4463372A (en) * 1982-03-24 1984-07-31 Ampex Corporation Spatial transformation system including key signal generator
US4615013A (en) * 1983-08-02 1986-09-30 The Singer Company Method and apparatus for texture generation
US4694404A (en) * 1984-01-12 1987-09-15 Key Bank N.A. High-speed image generation of complex solid objects using octree encoding
US4608653A (en) * 1984-03-30 1986-08-26 Ryozo Setoguchi Form creating system
US4625289A (en) * 1985-01-09 1986-11-25 Evans & Sutherland Computer Corp. Computer graphics system of general surface rendering by exhaustive sampling
US4737921A (en) * 1985-06-03 1988-04-12 Dynamic Digital Displays, Inc. Three dimensional medical image display system
US4897806A (en) * 1985-06-19 1990-01-30 Pixar Pseudo-random point sampling techniques in computer graphics
GB2194715B (en) * 1986-09-03 1991-02-13 Ibm Method of and system for generating images of object transforms

Also Published As

Publication number Publication date
GB8621257D0 (en) 1986-10-08
JPH0564831B2 (de) 1993-09-16
US4858149A (en) 1989-08-15
AU7779687A (en) 1988-03-10
AU600515B2 (en) 1990-08-16
DE3789650D1 (de) 1994-05-26
EP0262304A2 (de) 1988-04-06
GB2194656A (en) 1988-03-09
JPS6365576A (ja) 1988-03-24
EP0262304B1 (de) 1994-04-20
BR8703887A (pt) 1988-03-29
CA1285660C (en) 1991-07-02
GB2194656B (en) 1991-10-09
EP0262304A3 (en) 1990-09-12

Similar Documents

Publication Publication Date Title
DE3789650T2 (de) Verfahren und System zur Festkörpermodellierung.
DE69020780T2 (de) Vielfache Tiefenpuffer für Graphik und Festkörpermodellierung.
DE3872031T2 (de) Verfahren zum berechnen und zur wiedergabe von sichtbildern eines objektes.
DE69100140T2 (de) Verfahren zur Anzeige eines Bildteiles einer physikalischen Struktur.
DE69812732T2 (de) Verfahren und Gerät zur schnellen Wiedergabe von durch Computer erzeugten Bildern von komplexen Strukturen
DE3854223T2 (de) Erzeugung und Anzeige von Rechnergraphiken.
DE68929214T2 (de) System und Verfahren zur Anzeige von windschiefen Schnittebenen im Innern eines massiven Körpers
DE3856127T2 (de) Anzeigeverfahren und -vorrichtung für dreidimensionale Computergrafiken
DE68927471T2 (de) Verfahren zur Schattierung eines graphischen Bildes
DE69427210T2 (de) Verfahren und Gerät zur Erzeugung von dreidimensionaler Animation
DE3831428C2 (de)
DE2804732C2 (de) Medizinisches Untersuchungsgerät
DE69924699T2 (de) Verfahren zur Schaffung von als Oberflächenelemente dargestellten grafischen Objekten
DE69512262T2 (de) Verfahren zum erzeugen von räumlich ausgewogenen abgrenzvolumenhierarchien zur anwendung in einer computererzeugten darstellung einer komplexen struktur
DE112012005657T5 (de) Computerprogrammprodukt und Verfahren zum Erzeugen und Simulieren eines Modells eines Objekts
DE3407983A1 (de) Mehrprozessorrechnersystem zum verarbeiten in einer hierarchischen datenstruktur definierter objektelemente zu einer farbigen abbildung
DE3608438A1 (de) Verfahren zum berechnen von freien gekruemmten flaechen mittels computergestuetztem design cad und computergestuetzter herstellung cam und numerischer steuerung nc
DE4303071A1 (de) Verfahren und Vorrichtung zur Randbewertung in einer Nicht-Mannigfaltigkeits-Umgebung
DE10144932A1 (de) Visualisierung von Werkstücken bei der Simulation von Fräsprozessen
DE69924230T2 (de) Verfahren zur Modellierung von durch Oberflächenelemente dargestellten grafischen Objekten
EP0829822B1 (de) Verfahren zur Anzeige von geometrischen Objektoberflächen
DE19806985B4 (de) Organisationsverfahren für volumetrische Daten, das effiziente Cache-Aufbereitungsbeschleunigungen und einen effizienten Graphik-Hardwareentwurf ermöglicht
DE102009042327A1 (de) Effiziente Visualisierung von Objekteigenschaften mittels Volume Rendering
DE69514820T2 (de) Verfahren zum steuern des levels von details in einer rechnergenerierten bildschirmanzeige einer komplexen struktur
DE69327129T2 (de) Vorrichtung zum Bearbeiten von dreidimensionalen Bildinformationen mit Hervorhebung von herausstechenden Linien

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee