DE4303071A1 - Verfahren und Vorrichtung zur Randbewertung in einer Nicht-Mannigfaltigkeits-Umgebung - Google Patents
Verfahren und Vorrichtung zur Randbewertung in einer Nicht-Mannigfaltigkeits-UmgebungInfo
- Publication number
- DE4303071A1 DE4303071A1 DE4303071A DE4303071A DE4303071A1 DE 4303071 A1 DE4303071 A1 DE 4303071A1 DE 4303071 A DE4303071 A DE 4303071A DE 4303071 A DE4303071 A DE 4303071A DE 4303071 A1 DE4303071 A1 DE 4303071A1
- Authority
- DE
- Germany
- Prior art keywords
- topological
- edge
- sizes
- edges
- merged
- 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
Links
- 230000010365 information processing Effects 0.000 title claims description 16
- 238000000034 method Methods 0.000 claims abstract description 28
- 238000012545 processing Methods 0.000 claims description 11
- 238000011156 evaluation Methods 0.000 claims description 10
- 238000003860 storage Methods 0.000 claims description 5
- 238000013500 data storage Methods 0.000 claims description 3
- 239000003550 marker Substances 0.000 claims description 2
- FGUUSXIOTUKUDN-IBGZPJMESA-N C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 Chemical compound C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 FGUUSXIOTUKUDN-IBGZPJMESA-N 0.000 claims 1
- 239000007787 solid Substances 0.000 abstract description 31
- 230000008569 process Effects 0.000 abstract description 5
- 238000013461 design Methods 0.000 description 9
- 238000010276 construction Methods 0.000 description 7
- 238000005520 cutting process Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000011867 re-evaluation Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- CNQCVBJFEGMYDW-UHFFFAOYSA-N lawrencium atom Chemical compound [Lr] CNQCVBJFEGMYDW-UHFFFAOYSA-N 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000001356 surgical procedure Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/10—Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
Landscapes
- Physics & Mathematics (AREA)
- Geometry (AREA)
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Description
Die vorliegende Erfindung betrifft allgemein
Informationsbearbeitungssysteme zur Darstellung von
Objekten in drei Dimensionen. Insbesondere betrifft die
vorliegende Erfindung Systeme, welche Randdarstellungen
(BREPs) zur Darstellung von Objekten in einer
Nicht-Mannigfaltigkeits-Umgebung verwenden.
Im Stand der Technik hat das Modellieren von Objekten in
drei Dimensionen unter Verwendung von
Informationsbearbeitungssystemen zahlreiche
Anwendungszwecke. Beispielsweise werden Softwaremodelle
während des Entwurfs mechanischer Teile eingesetzt. Die
Untersuchung eines Modells eines Teils bezüglich
Parametern wie beispielsweise einer ordnungsgemäßen
Paßform ist normalerweise erheblich weniger
kostenaufwendig, als wenn ein tatsächliches Teil
untersucht wurde. Ein weiterer wesentlicher Zweck des
Modellierens besteht darin, ein visuelles Bild eines
Teils zu erhalten, welches gerade entworfen wird. Daher
wurden verschiedene Modelliertechniken entwickelt und
optimiert, um verschiedene Parameter eines modellierten
Teils zu bestimmen und visuelle Bilder eines modellierten
Teils zur Verfügung zu stellen.
Es gibt zwei Arten der Darstellung komplexer Information,
wie sie in einem massiven Modell enthalten ist, nämlich
explizit und implizit. Bei einer expliziten Darstellung
sind Operationen vollständig aufgelöst, die durch die
Eingangsdaten aufgerufen werden. Daher enthält die
Darstellung nur das Endergebnis dieser Operationen, die
durch die Eingangsdaten aufgerufen wurden. Im Gegensatz
hierzu sind bei einer impliziten Darstellung die
Beziehungen zwischen den Eingangsdaten nicht vollständig
aufgelöst; sie können tatsächlich überhaupt nicht
aufgelöst sein. Daher enthält eine implizite Darstellung
Darstellungen sowohl von Daten als auch von Operationen,
die mit diesen ausgeführt werden sollen.
Ein Weg der Modellierung massiver Körper, der als
konstruktive Massivkörpergeometrie (CSG) bekannt ist,
schafft eine implizite Darstellung eines komplexen
Massivkörpers, als eine Sammlung elementarer Massivkörper
und Operationen zu deren Kombination. Diese Darstellung
eines komplexen Massivkörpers bei CSG ist implizit, da
die Operationen nicht aufgelöst sind, durch welche die
elementaren Massivkörper kombiniert werden, um einen
komplexen Massivkörper zu bilden. Wenn beispielsweise ein
Loch, welches durch einen Kubus "gebohrt" werden soll,
gewünscht ist, so enthält das sich ergebende CSG-Modell
(sh. Fig. 1a) Information sowohl über das gesamte Volumen
des Kubus 101 als auch über den Zylinder 103, der zum
"Bohren" des Loches verwendet wird (es wird also das
Volumen subtrahiert, in welchem der Zylinder 103 mit dem
Kubus 101 zusammenfällt), und erhält ebenso die
durchgeführte Operation (in diesem Falle:
Volumen-Subtraktion). Information von außen,
beispielsweise eine Festlegung der Abschnitte des
Zylinders 103, die sich über die Ränder des Kubus 101
hinaus erstrecken können, werden ebenfalls in einer
Datenbank festgehalten, die das Modell enthält.
Komplexe Objekte werden dadurch gebildet, daß auf einem
oder mehreren elementaren Massivkörpern Bool′sche
Operationen durchgeführt werden. Diese Operationen
umfassen Volumen-Vereinigung, Volumen-Schnitt und
Volumen-Subtraktion, sind jedoch hierauf nicht
beschränkt. Durch Anwendung Bool′scher Operationen auf
eine Aggregation elementarer Massivkörper kann eine
Vielfalt komplexer, massiver Objekte dargestellt werden.
Beispielsweise führt das Subtrahieren eines Zylinders von
einem Kubus zu einem Kubus, in welchen ein Loch gebohrt
ist, wie dem von Fig. 1a. Die Bool′schen Operationen, die
auf elementare Massivkörper angewendet werden können,
repräsentieren den Bereich der Operationen, die während
des Entwurfs eines Teils verwendet werden.
Bei CSG wird ein komplexer Massivkörper üblicherweise als
eine Baumdatenstruktur repräsentiert. Die Daten, die in
der Baumdatenstruktur gespeichert sind, umfassen einen
Satz an Grundelementen und einen Satz Bool′scher
Operationen, die auf die Grundelemente angewendet werden.
Ein einfaches Beispiel für eine derartige
Baumdatenstruktur ist in Fig. 1b für den in Fig. 1a
gezeigten Massivkörper dargestellt. Die
CSG-Baumdatenstruktur für dieses Massivkörpermodell
umfaßt Datenspeicherknoten zweier Arten, innere Knoten
105 und Blattknoten 107a und 107b. Die Blattknoten 107a
und 107b repräsentieren Grundelementen-Massivkörper 101
und 103. Der innere Knoten 105 legt eine durchzuführende
Bool′sche Operation 109 fest, in diesem Falle eine
Bool′sche Subtraktion, und umfaßt Daten, die auf
Blattknoten 107a und 107b zeigen (111a und 111b), auf
welche die Bool′sche Operation 109 angewendet wird.
Da ein CSG-Modell keine explizite Darstellung des
modellierten komplexen Massivkörpers umfaßt, wird die
Datenstruktur für eine Anzeige ausgewertet, wenn ein
visuelles Bild gefordert wird. Dies ist schwierig und
zeitaufwendig. Es wird dadurch noch schlimmer, daß die
Auswertung jedesmal dann durchgeführt wird, wenn eine
Änderung der Datenstruktur erfolgt.
Eine zweite Vorgehensweise bei der Modellierung fester
oder massiver Körper, die Randdarstellung (BREP), erzeugt
eine explizite Darstellung eines komplexen Körpers in
Form von Information bezüglich der geometrischen Form und
topologischer Information. Die geometrische
Forminformation umfaßt Information wie beispielsweise
Volumen, Oberflächen, Kurven und Punkte. Die topologische
Information entspricht der jeweiligen geometrischen
Information. Daher ist in der topologischen Information
solche Information enthalten wie beispielsweise eine
Festlegung von Bereichen, Vorderseiten, Kanten und
Scheitelpunkten. Zwei zusätzliche topologische Größen,
Schleifen und Schalen, werden zur Darstellung von Löchern
in Vorderseiten bzw. von Leerstellen in Bereichen
verwendet.
Bei einer Randdarstellung ist die zum Halten eines
komplexen massiven Modells verwendete Datenstruktur ein
verbundener Graph der topologischen Größen des komplexen
Massivkörpermodells. Daher können geeignete
Nachbarschaftsbeziehungen von dem Graphen der
Topologiedatenstruktur abgeleitet werden, oder es können
diese Beziehungen innerhalb der Datenstruktur explizit
gespeichert werden.
Ein Nachteil der Randdarstellungsvorgehensweise nach dem
Stand der Technik besteht darin, daß die Abänderung eines
Modells schwierig ist, welches als explizite Darstellung
eines gewünschten Massivkörpers gespeichert ist. Selbst
wenn nur geringfügige Änderungen bei einem Modell
vorgenommen werden, so ist hierfür häufig eine
Randauswertung einer vollständigen CSG-Darstellung des
Modells erforderlich. Die Randbewertung ist ein Vorgang
der Erzeugung oder Aufrechterhaltung einer
Randdarstellung entsprechend einer CSG-Darstellung eines
Objekts. Eine weitere Schwierigkeit beim Stand der
Technik kommt daher, daß man sich im Stand der Technik
auf Mannigfaltigkeitsstrukturen verläßt, wie nachstehend
erläutert ist.
Im Zusammenhang mit der Modellierung von Festkörpern wird
der Begriff "Mannigfaltigkeit" üblicherweise als
Abkürzung für den Begriff "Zweifach-Mannigfaltigkeit"
verwendet, was "lokal zweidimensional" bedeutet. Dies
bedeutet, daß auf dem Rand eines
Mannigfaltigkeits-Festkörpers, beispielsweise wie in Fig.
2a gezeigt, der kleine Bereich um jeden Punkt 201 herum
"lokal zweidimensional" oder homomorph zu einer Scheibe
ist (also daß eine 1:1-Abbildung der Punkte eines kleinen
Bereichs eines Mannigfaltigkeits-Festkörpers zu den
Punkten der Scheibe existiert). Daher weist der kleine
Bereich um jeden Punkt herum, beispielsweise der Bereich
im Abschnitt IIb, eine direkte Korrespondenz zur Scheibe
auf und kann flach gedrückt werden, wie in Fig. 2b
gezeigt ist, ohne daß irgendwelche vorstehenden Merkmale
verbleiben, und ohne daß es erforderlich ist, ein Merkmal
dem anderen zu überlagern. Dies steht im Gegensatz zu
demselben Versuch, wenn dieser auf Abschnitt IIIb von
Fig. 3a angewendet wird, welche eine
Nicht-Mannigfaltigkeits-Topologie zeigt (also keine
Zweifach-Mannigfaltigkeit). Der von dem Punkt 303 aus
vorstehende Draht 301 kann nicht flach gedrückt werden,
ohne daß er einen Teil der ihn umgebenden Oberfläche 305
überlagert, wie in Fig. 3b gezeigt ist. Daher weist der
Draht 301 keine direkte Korrespondenz zu irgendeinem Teil
der Scheibe auf, der nicht bereits von der umgebenden
Oberfläche 305 eingenommen wird. Im Stand der Technik
speichern Modellierer von Festkörpern Nachbarschaftsdaten
von Randdarstellungen als topologische
Mannigfaltigkeitsdarstellungen, oder lassen nur eine
Speicherung einer begrenzten Untermenge von
Nicht-Mannigfaltigkeits-Zuständen als spezielle Fälle zu.
Allerdings ist das Modellieren von Festkörpern in einer
Mannigfaltigkeits-Umgebung inadäquat, da einfache
Operationen bei Mannigfaltigkeits-Objekten
Nicht-Mannigfaltigkeits-Objekte erzeugen können.
Mathematisch gesprochen ist die Menge Bool′scher
Operationen über dem Satz der
Mannigfaltigkeits-Festkörper nicht abgeschlossen. Führt
man beispielsweise die Vereinigung zweier Kästen durch,
die im Raum so ausgerichtet sind, daß sie eine gemeinsame
Kante teilen, so wird ein Objekt produziert, das an
keinem Punkt entlang der gemeinsamen Kante
nicht-mannigfaltig ist. Daher besteht ein weiteres Problem
im Stand der Technik darin, daß Modellierer von
Festkörpern auf Mannigfaltigkeits-Basis entweder einige
Nachbarschaftsdaten aufgeben, und zwar immer dann, wenn
ein Nicht-Mannigfaltigkeits-Zustand auftritt, oder den
Nicht-Mannigfaltigkeits-Zustand als Spezialfall
behandeln, oder einfach die gewünschte Operation nicht
ausführen. Da viele wichtige Konstruktionen
nicht-mannigfaltig sind, stellt die Unfähigkeit zur
Behandlung von Nicht-Mannigfaltigkeits-Zuständen einen
wesentlichen Fehler bei Mannigfaltigkeits-Modellierungen
nach dem Stand der Technik dar.
Daher besteht eine der vorliegenden Erfindung
zugrundeliegende Aufgabe in der Bereitstellung eines
Verfahrens und einer Einrichtung zur Durchführung einer
Randbewertung von Randdarstellungsmodellen, die
Nicht-Mannigfaltigkeits-Topologien aufweisen.
Eine weitere, der vorliegenden Erfindung zugrundeliegende
Aufgabe besteht in der Bereitstellung eines Verfahrens
und einer Einrichtung, welche eine Randbewertung von
Nicht-Mannigfaltigkeits-Randdarstellungsmodellen
durchführen, ohne sich auf spezielle Fälle
zurückzuziehen, um die in
Nicht-Mannigfaltigkeits-Topologien vorhandene Information
darzustellen.
Eine weitere, der vorliegenden Erfindung zugrundeliegende
Aufgabe besteht in der Bereitstellung eines allgemeinen
Verfahrens und einer allgemeinen Vorrichtung, welche eine
lokale Modifizierung einer expliziten Randdarstellung
durchführen, welche Modifizierungen einer entsprechenden
impliziten CSG-Darstellung reflektiert, ohne daß eine
vollständige Neuableitung der Randdarstellung von der
CSG-Darstellung erforderlich ist.
Zur Lösung der voranstehenden und anderer Aufgaben wird
ein Informationsverarbeitungssystem zur Darstellung eines
Objekts zur Verfügung gestellt, welches aus einem oder
mehreren Grundelementenobjekten in einem
dreidimensionalen Koordinatensystem besteht. Das Objekt
wird als eine Randdarstellung dargestellt.
Randdarstellungen umfassen Ränder, welche den Raum, in
welchem das Koordinatensystem definiert ist, in Bereiche
auf jeder Seite einer Oberfläche unterteilen, Ränder,
welche Kanten von Oberflächen festlegen, und Ränder,
welche die Enden von Kanten festlegen. Jeder Bereich
eines Festkörpers weist eine ihm zugeordnete
Vorgeschichte auf, wobei die Vorgeschichten angeben,
innerhalb welchen Grundelements jeder Bereich enthalten
ist. Auch den unabhängigen topologischen Größen abgesehen
von Bereichen, die nicht den Rand einer Größe bilden,
sind Vorgeschichten zugeordnet.
Das Informationsbearbeitungssystem umfaßt eine
Einrichtung zum Konstruieren einer vereinigten
Randdarstellung aus den Randdarstellungen der
Grundelemente, die das Objekt bilden. Die vereinigte
Randdarstellung umfaßt vereinigte Ränder, welche
vereinigte Bereiche und unabhängige Größen definieren,
denen jeweils Vorgeschichten zugeordnet sind. Weiterhin
ist eine Einrichtung zur Auswahl vereinigter Bereiche und
unabhängiger Größen auf der Grundlage der
Vorgeschichtsinformation für die vereinigten Bereiche und
unabhängigen Größen vorgesehen.
Die Auswahl kann auf der Grundlage festgelegter
Bool′scher Operationen durchgeführt werden, die von dem
System empfangen werden. Vereinigte Bereiche und
unabhängige Größen, die auf diese Weise ausgewählt
wurden, können dann angezeigt oder weiter bearbeitet
werden.
Ein Verfahren zur Durchführung einer Randbewertung,
welches die voranstehenden und weitere Zielsetzungen
erfüllt, kann einfach als vier Schritte ausgedrückt
werden, die bei Randdarstellungen von Unterobjekten
durchgeführt werden, die zur Bearbeitung bereitgestellt
sind.
- 1. Schneiden: Auffinden von Schnitten zwischen Größen jedes Unterobjekts;
- 2. Konstruieren: Konstruieren einer vereinigten Randdarstellung einschließlich sämtlicher Größen der bereitgestellten Unterobjekte, und ebenso der Schnitte, die durch den Schritt des Schneidens "erzeugt" wurden;
- 3. Klassifizieren: Ermittlung der Umschließung, oder ob Raumbereiche "innerhalb" oder "außerhalb" geometrischer Größen der bereitgestellten Unterobjekte und geometrischer Größen liegen, die sich aus dem Schritt des Schneidens ergeben, in Bezug auf jedes Grundelement; und
- 4. Auswahl: Verwendung der Ergebnisse des Klassifizierungsschrittes zur Lösung einer gewünschten Bool′schen Operation, und Markierung der Abschnitte, welche die Lösung bilden.
Diese in dem Auswahlschritt markierten Abschnitte können
dann angezeigt oder bei der weiteren Verarbeitung
verwendet werden. Da keine der Ursprungsdaten weggefallen
sind, lassen sich einfach Modifikationen existierender
Abschnitte der Randdarstellung durchführen, wie im
Zusammenhang mit einer bevorzugten Ausführungsform
deutlich wird.
Die Erfindung wird nachstehend anhand zeichnerisch
dargestellter Ausführungsbeispiele näher erläutert, aus
welchen sich weitere Vorteile und Merkmale ergeben.
Hierbei bezeichnen gleiche Bezugszeichen gleiche
Elemente. Es zeigt:
Fig. 1a eine Perspektivansicht einer
Darstellung der, Subtraktion eines
Zylinder-Grundelements von einem
Kubus-Grundelement nach dem Stand der
Technik;
Fig. 1b eine graphische Darstellung einer
Baumstruktur, wie sie bei einer
CSG-Darstellung im Stand der Technik
bei dem Massivmodell von Fig. 1a
verwendet wird;
Fig. 2a eine Perspektivansicht zur Erläuterung
einer mannigfaltigen geometrischen
Konstruktion;
Fig. 2b eine vergrößerte Ansicht des
Abschnitts IIb von Fig. 2a, nachdem
der Abschnitt flach gedrückt wurde,
entsprechend einem Test bezüglich
Mannigfaltigkeits-Geometrie
angewendet auf die Geometrie
von Fig. 2a;
Fig. 3a eine Perspektivansicht mit einer
Darstellung einer
Nicht-Mannigfaltigkeits-geometrischen
Konstruktion;
Fig. 3b eine vergrößerte Darstellung des
Abschnitts IIIb von Fig. 3a, nachdem
der Abschnitt flach gedrückt wurde,
entsprechend einem Test bezüglich
Mannigfaltigkeits-Geometrie,
angewendet auf die Geometrie
von Fig. 3a;
Fig. 4 ein Blockdiagramm eines
Informationsbearbeitungssystems,
welches bei der vorliegenden Erfindung
verwendbar ist;
Fig. 5 ein detaillierteres Blockdiagramm des
Informationsbearbeitungssystems von
Fig. 4;
Fig. 6a und 6b schematische Ansichten der
Datenstruktur einer Ausführungsform
der vorliegenden Erfindung;
Fig. 7 ein Blockdiagramm einer
Randbewertungsvorrichtung gemäß der
vorliegenden Erfindung;
Fig. 8 ein detaillierteres Blockdiagramm
eines in Fig. 7 gezeigten
Auswahlelements;
Fig. 9 ein vereinfachtes Flußdiagramm eines
Verfahrens zur Randbewertung gemäß der
vorliegenden Erfindung;
Fig. 10 eine Perspektivansicht mit einer
Darstellung des Schnittes eines Kubus
mit einem Zylinder in der
Zylinderranddarstellung;
Fig. 11 eine Perspektivansicht mit einer
Darstellung des Schnittes eines Kubus
mit einem Zylinder in der
Kubus -Randdarstellung;
Fig. 12 eine Perspektivansicht mit einer
Darstellung einer vereinigten
Randdarstellung, welche die Bereiche
zeigt, die durch die geschnittenen
Kubus- und Zylinder-Grundelemente
festgelegt werden;
Fig. 13A bis 13C Perspektivansichten mit einer Dar
stellung des Editierens einer ver
einigten Randdarstellung
einschließlich geschnittener Kubus-,
Zylinder- und Kegel-Grundelemente;
und
Fig. 14A bis 14H Perspektivansichten mit einer
Darstellung eines Verfahrens der
Trennung eines Grundelements von
einer vereinigten Menge.
Im Anhang zur Beschreibung ist ein vereinfachtes Flußdiagramm
eines Verfahrens zur Trennung vorher vereinigter
Grundelemente gemäß der vorliegenden Erfindung angegeben.
Allgemein gesagt verwendet die bevorzugte Ausführungsform der
vorliegenden Erfindung ein Softwareprogramm, welches in einem
Allzweck-Informationsbearbeitungssystem ausgeführt wird, wie
in Fig. 4 und 5 dargestellt. Das
Informationsbearbeitungssystem gemäß der bevorzugten
Ausführungsform weist ein Endgerät 401 auf, welches an
eine zentrale Bearbeitungseinheit (CPU) 407 angeschlossen
ist, obwohl andere geeignete Einrichtungen zum Empfang
von Eingangsgrößen von einer Bedienungsperson und zur
Anzeige von Ausgangsgrößen an eine Bedienungsperson
verwendet werden können. Das Endgerät 401 bei der
bevorzugten Ausführungsform ist mit einer
Kathodenstrahlröhrenanzeige 402 (CRT) versehen, um der
Bedienungsperson sowohl Text- als auch Bilddaten zur
Verfügung zu stellen. Im Stand der Technik sind
zahlreiche geeignete CRT-Anzeige-Endgeräte und andere
geeignete Videoanzeige-Endgeräte bekannt. Das
Informationsbearbeitungssystem kann wahlweise mit anderen
Peripheriegeräten versehen sein, beispielsweise
Hartkopieausgabegeräten 403, Speichergeräten 405 und
Kommunikationsgeräten (nicht gezeigt), wie es für
bestimmte Zwecke erforderlich sein kann. Beispielsweise
können in einer CAD/CAM-Umgebung Kommunikationsgeräte
dazu vorgesehen sein, fertige Modellinformation an
rechnergesteuerte Herstellungseinrichtungen zu
übertragen.
Wie in Fig. 5 gezeigt weist das
Informationsbearbeitungssystem einen Speicher 501 auf, um
Softwareprogramminformation und Daten zu speichern. Zwar
ist der Speicher zum Speichern von Daten bei dieser
bevorzugten Ausführungsform ein Festkörperspeicher (RAM)
503 mit wahlfreiem Zugriff, jedoch können auch andere
Speicher- und Aufbewahrungsverfahren geeignet sein, die
im Stand der Technik bekannt sind. In dem RAM 503
gespeicherte Daten werden durch ein Softwareprogramm oder
ein andere Größe strukturiert, welche Daten in einem
geeigneten Format für die mit den Daten durchzuführenden
Operationen speichert. Nachstehend wird eine bevorzugte
Datenstruktur zur Verwendung bei der vorliegenden
Erfindung im einzelnen beschrieben. Jedoch wird die
Erfindung zuerst anhand allgemeinerer Begriffe erläutert.
Ein System, welches die vorliegende Erfindung verwendet,
ist gut für den Einsatz bei einem Designer mechanischer
Teile geeignet. Ein Design kann interaktiv erzeugt und
geändert werden, beispielsweise unter Verwendung des
Endgerätes 401. Während der interaktiven Schöpfung eines
Designs können Daten, die ein Festkörpermodell des
Designs repräsentieren, in dem RAM 503, in einem
Speicheruntersystem 405 oder jeweils teilweise in einem
der beiden Systeme gespeichert werden, wie es gerade für
einen wirkungsvollen Betriebsablauf des Systems nützlich
ist.
Bei einer bevorzugten Ausführungsform der vorliegenden
Erfindung wird die Art und Weise, auf welche der Designer
sich entschlossen hat, Grundelemente zu kombinieren, als
ein Bool′scher Logikbaum gespeichert. Parameter, welche
die tatsächlichen Eigenschaften jedes Grundelements
definieren, werden ursprünglich als individuelle
Randdarstellungen gespeichert. Während interaktiver
Designaktivitäten wird eine Randbewertung durchgeführt,
um eine einzige, vereinigte Randdarstellung zur Verfügung
zu stellen, welche korrekt den momentanen Zustand des
Bool′schen Logikbaums wiedergibt. Wie nachstehend
erläutert ist, stellt die vereinigte Randdarstellung eine
korrekte Darstellung eines Bool′schen Logikbaums zur
Verfügung, ohne eine erneute Bewertung der gesamten
Randdarstellung für jede Änderung der Darstellung in
Bool′scher Logik.
Unter Bezug auf die Fig. 6a und 6b wird nunmehr die
Datenstruktur gemäß der vorliegenden Erfindung
beschrieben. Diese Datenstruktur weist zwei Teile auf,
einen Bool′schen Logikbaum 1201, gezeigt in Fig. 6a, und
eine BREP 1203, gezeigt in Fig. 6b. Eine BREP 1203 kann
ein einfaches Grundelement darstellen, oder eine
vereinigte Randdarstellung einer komplexen Kombination
von Grundelementen sein. Der Bool′sche Logikbaum 1201
legt fest, welche Operationen mit den Randdarstellungen
durchgeführt werden sollen, welche eine vereinigte
Randdarstellung bilden. Der Bool′sche Logikbaum 1201 kann
als eine vernetzte Liste von Zeigern und Bool′schen
Operatoren gespeichert werden, während die BREP 1203 als
eine vernetzte Liste von Dateien gespeichert werden kann.
Der Bool′sche Logikbaumabschnitt 1201 dieser
Datenstruktur umfaßt innere Knoten 1205 (a-c), und
Blattknoten 1207 (a-d). Die Blattknoten 1207 enthalten
jeweils eine Auszeichnung, die einen
Grundelementen-Festkörper identifiziert, der ein Teil des
vorliegenden Modells ist. Jeder innere Knoten 1205 legt
eine Bool′sche Operation fest, die mit den Grundelementen
durchgeführt werden soll, die in einem oder mehreren
Blattknoten 1205 festgelegt sind, und umfaßt Datenzeiger
1209 auf Operanden, mit welchen die Bool′sche Operation
durchgeführt wird. Wenn ein Operand eines ersten inneren
Knotens 1205a ein zweiter innerer Knoten 1205b ist, dann
soll die Bool′sche Operation des ersten inneren Knotens
1205a mit dem Ergebnis der Bewertung des zweiten inneren
Knotens 1205b durchgeführt werden. Da jedoch der
Bool′sche Logikbaumabschnitt der Struktur nur
Auszeichnungen enthält, welche die Grundelemente angeben,
mit denen Operationen durchgeführt werden sollen, wird
eine Randbewertung der angegebenen Grundelemente
durchgeführt, um ein gewünschtes Modell zu erzeugen.
Der BREP-Abschnitt 1203 der Datenstruktur umfaßt
Randbeschreibungen 1211 und eine Liste 1213 von Bereichen
und anderen unabhängigen Größen, welche durch die
Randbeschreibungen 1211 festgelegt werden. Zur
Vereinfachung werden hier nur Bereiche erwähnt, jedoch
werden andere unabhängige topologische Größen
entsprechend behandelt. Für jeden Bereich R0, R1, R2,
. . ., umfaßt die Liste der Bereiche weiterhin eine
Umschließungsvorgeschichte 1215 (a-b), welche eine
Liste von Grundelementen darstellt, die diesen Bereich
umschließen, sowie einen Ort zum Speichern einer
Markierung 1217 (a-b), welcher angibt, daß dieser
Bereich als ein Ergebnis der Operationen ausgewählt
wurde, die in dem Bool′schen Logikbaumabschnitt 1201
angegeben sind. Eine vereinigte Randdarstellung ergibt
sich aus der Randbewertung eines Bool′schen Logikbaums,
der mehrere Grundelemente und zumindest eine Bool′sche
Operation enthält.
Unter Bezug auf Fig. 7 wird nunmehr ein vereinfachtes
Blockdiagramm der Randbewertung gemäß einer bevorzugten
Ausführungsform der vorliegenden Erfindung beschrieben.
Die Randbewertung arbeitet auf zwei oder mehreren
Randdarstellungen, beispielsweise den Darstellungen 601a
und 601b, um eine komplexere Randdarstellung zu erzeugen,
beispielsweise 603. Die Randdarstellungen, die bei 601a
und 601b bearbeitet werden, werden "Grundelemente"
genannt, unabhängig davon, ob sie einfache geometrische
Größen repräsentieren, beispielsweise den Kubus A und den
Zylinder B in Fig. 7, oder komplexere Randdarstellungen,
die bereits aus einfachen geometrischen Größen aufgebaut
wurden. Die durchzuführenden Operationen sind die, die in
einem Bool′schen Logikbaum gespeichert sind, wie
voranstehend unter Bezug auf Fig. 6 erläutert. Bei der
vorliegenden Erläuterung werden Bereiche oder Volumina im
Raum, die durch die Ränder begrenzt sind, die in einer
Randdarstellung definiert sind, als innerhalb oder
außerhalb des Grundelements klassifiziert.
Randdarstellungen werden durch eine Einrichtung 605 zum
Schneiden kombiniert, welche getrennte
Randdarstellungsdatenstrukturen im RAM 503 kombiniert, zu
einer vereinigten Randdarstellung. Daher wird eine
vereinigte Randdarstellung 607 erzeugt, welche in einer
Datenstruktur sämtliche Information enthält, die in den
zwei getrennten Randdarstellungen vorher enthalten war.
Die vereinigte Darstellung kann durch Schaffung von
Zeigern in dem RAM 503 erzeugt werden, welche auf die
gewünschten Datenstrukturen zeigen, oder durch Bewegung
von Daten innerhalb des RAM 503 zur Ausbildung einer
einzigen, vereinigten Datenstruktur. Zusätzlich enthält
die vereinigte Randdarstellung 607 Information, welche
alle neuen Ränder identifiziert, die durch Schnitte
zwischen Grundelementen erzeugt wurden.
Die neuen Ränder in der vereinigten Randdarstellung 607
definieren neue Bereiche, die entsprechend der
Umschließungsvorgeschichteninformation klassifiziert
werden, in Bezug auf die Grundelemente, in deren Inneren
sie liegen. Auch können neue unabhängige Größen, die ihre
eigene Umschließungsvorgeschichteninformation aufweisen,
in der vereinigten Randdarstellung definiert werden.
Da es in dem Beispiel keine unabhängigen Größen in der
vereinigten Randdarstellung 607 gibt, werden in der
vereinigten Randdarstellung definierte Bereiche
beispielsweise für eine weitere Bearbeitung oder eine
Anzeige ausgewählt (609). Wie voranstehend im
Zusammenhang mit Fig. 6 erwähnt, werden ausgewählte
Bereiche in einem Teil der Datenstruktur markiert, um
Markierungsinformation 1217 (a-b) durch ein
Softwareprogramm zu halten, welches in dem
Datenbearbeitungssystem arbeitet. Bei dem in Fig. 7
dargestellten Beispiel wurde der Abschnitt des Kubus A
ausgewählt, der nicht innerhalb des Zylinders B enthalten
ist; dies bedeutet, daß eine Bool′sche Volumensubtraktion
des Zylinders von dem Kubus durchgeführt wurde.
Die Auswahlvorrichtung wird nachstehend mit weiteren
Einzelheiten unter Bezug auf Fig. 8 beschrieben. Eine
gewünschte Bool′sche Operation 701 mit den
Grundelementen, die zur Ausbildung der vereinigten
Randdarstellung kombiniert wurden, wird von einem
Eingabegerät 703 empfangen, beispielsweise einem
Computerendgerät 401. Dieser Eingang wird in geeigneten
Orten des Bool′schen Logikbaums gespeichert,
beispielsweise in den Knoten 1250 (a-c), wie
voranstehend unter Bezug auf Fig. 6 beschrieben. Eine
Auswahleinrichtung 705 ordnet eine Markierung in der
vereinigten Randdarstellung 607 an, wie ebenfalls
voranstehend unter Bezug auf Fig. 6 und 7 beschrieben
wurde, und zeigt so für jeden Bereich an, ob dieser
Bereich ausgewählt wurde oder nicht. Die Bereiche werden
auf der Grundlage des Vergleichs ihrer
Umschließungsvorgeschichte mit der gewünschten Bool′schen
Operation ausgewählt. Daher werden in dem dargestellten
Beispiel, in welchem die gewünschte Bool′sche Operation
A-B ist, sämtliche Bereiche in dem Grundelement A
markiert, jedoch nicht im Grundelement B. Die sich
ergebende Randdarstellung 603 ist in Fig. 8 gezeigt, wie
sie beispielsweise erscheinen würde, wenn sie zur Anzeige
ausgegeben wird.
Zusammengefaßt weist die bislang beschriebene
Ausführungsform der vorliegenden Erfindung eine
Datenstruktur auf, welche vollständige Information
bezüglich der Grundelemente und Operationen speichert,
welche ein Modell bilden, eine Vorrichtung zum
Kombinieren der Information, welche zwei oder mehr
Grundelemente in der Datenstruktur umfaßt, und eine
Vorrichtung zum Auswählen von Abschnitten der
gespeicherten Information auf der Grundlage der
Operationen. Die ausgewählten Abschnitte können dann
angezeigt oder auf andere Weise bearbeitet werden. Die
Datenstruktur, die Vorrichtung zum Kombinieren und die
Vorrichtung zum Auswählen können als Kombination einer
Datenverarbeitungshardware und -software für allgemeine
Zwecke verwirklicht werden, zum Beispiel.
Die Schritte eines Verfahrens gemäß einer Ausführungsform
der vorliegenden Erfindung, die auf der voranstehend
beschriebenen Vorrichtung durchgeführt werden, sind in
dem Flußdiagramm von Fig. 9 gezeigt. Fachleute auf diesem
Gebiet werden erkennen, daß die Schritte dieses
Verfahrens durch Software ausgeführt werden können, die
in einem allgemein verwendbaren Datenverarbeitungssystem
abläuft, durch speziell ausgebildete Hardware, oder durch
eine Kombination von Hardware und Software, wie dies für
verschiedene bestimmte Zwecke vorgezogen werden kann.
Jeder Schritt des beschriebenen Verfahrens wird nunmehr
mit weiteren Einzelheiten beschrieben, unter Verwendung
des selben Beispiels, welches unter Bezug auf die Fig. 6
bis 8 beschrieben wurde. Das Verfahren läßt sich besser
verstehen, wenn man sich zusätzlich auf die
Datenstrukturen von Fig. 6 bezieht. Zur Vereinfachung
erfolgt die nachstehende Beschreibung unter Bezugnahme
auf Bereiche, in welchen eine Größe manipuliert wird, die
ihre eigene Umschließungsvorgeschichte aufweist. Wenn
andere Größen speziell behandelt werden sollen, wird dies
im einzelnen angegeben.
Die bereitgestellten Grundelemente sind Randdarstellungen
eines Kubus 601a und eines Zylinders 601b. Diese sind im
Raum so angeordnet, daß sie sich schneiden, wie
beispielsweise in Fig. 1a gezeigt ist. Der Bereich
innerhalb des Kubus weist eine Umschließungsvorgeschichte
A auf, wogegen der Bereich außerhalb des Kubus eine
Umschließungsgeschichte von Null aufweist. Entsprechend
weist der Bereich innerhalb des Zylinders eine
Umschließungsvorgeschichte B auf, wogegen der Bereich
außerhalb des Zylinders eine Umschließungsvorgeschichte
Null hat. Diese Umschließungsvorgeschichten 1215 werden
an Orten innerhalb der Randdarstellung 1203 der
Grundelemente gehalten, wie in Fig. 6 gezeigt ist.
Die bereitgestellten Grundelemente werden im Schritt 801
geschnitten, so daß sämtliche Schnitte des einen
Grundelements in dem anderen identifiziert und erzeugt
werden. Dies modifiziert die Randbeschreibung 1211 in den
Grundelementen. Im allgemeinen erzeugen
Oberflächen-Oberflächen-Schnitte Kurven und Punkte. Bei
dem vorliegenden Beispiel erzeugt der Schnitt zwischen
dem Zylinder 103 und dem Kubus 101 kreisförmige Kurven
1001 und 1003 (Fig. 10), wenn die obere und untere
Oberfläche des Kubus 101 durch eine Wand des Zylinders
103 geschnitten werden, wie in Fig. 10 und 11 gezeigt
ist. Der Schnitt, nämlich die Kurven 1001 und 1003, der
in einem der Grundelemente erzeugt wird, beispielsweise
in dem Zylinder 103, wie in Fig. 10 gezeigt, wird zur
Grundlage des nächsten Schrittes. Weiterhin wird darauf
hingewiesen, daß die Kurven 1001 und 1003 die obere und
untere Vorderseite des Kubus 101 jeweils in zwei
Vorderseiten unterteilen. Dies bedeutet, daß die obere
Vorderseite in eine Außenkurve 1001 der oberen
Vorderseite und eine Innenkurve der oberen Vorderseite
unterteilt wird. Die Kurven 1001 und 1003 werden den
Randbeschreibungen 1211 der Randdarstellung 1203 jedes
Grundelements hinzugefügt.
Zuerst hilft die Tabelle dabei, den Umfang der
Bearbeitung zu verringern, der zur Bewertung eines
Modells erforderlich ist. Die Schnitte unterteilen das
Objekt in Netzwerke topologischer Größen, von denen jede
gemeinsame Einschließungsvorgeschichten aufweist. Durch
einen vollständigen Durchlauf durch jedes der Netzwerke,
bevor man zu dem nächsten Netzwerk übergeht, wie in dem
Schritt der Konstruktion nachstehend beschrieben ist,
wird die Bearbeitung verringert, da die Umschließung
sämtlicher Elemente eines gegebenen Netzwerks einmal
ermittelt werden kann, statt daß eine erneute Bewertung
jedesmal dann erforderlich ist, wenn man während des
Durchgangs in das gegebene Netzwerk eintritt oder dieses
verläßt. Unter Bezugnahme auf die Beziehungstabelle kann
ein Netzwerk mit Elementen in beiden Grundelementen
vollständig durchlaufen werden, wie voranstehend
beschrieben, anstatt sämtliche Netzwerke in einem
Grundelement durchlaufen zu müssen, bevor die in dem
anderen durchlaufen werden.
Zweitens werden die Beziehungen in der Beziehungstabelle
später verwendet, während der Vorderseitenerzeugung und
der Klassifizierung. Unter Bezugnahme auf die
Beziehungstabelle legt der Konstruktionsschritt fest, wo
neue Vorderseiten erforderlich sind, beispielsweise dann,
wenn Kurven 1001 und 1003 die obere und untere
Vorderseite des Kubus 101 jeweils in zwei Vorderseiten
unterteilen.
Ein Beispiel für die in der Beziehungstabelle
gespeicherten Beziehungen wird nunmehr unter Bezugnahme
auf Fig. 10 und 11 beschrieben. In Fig. 10 wird eine
Vorderseite des Zylinders 103 als Vorderseite f1
identifiziert. Eine Kante des Zylinders e1 und eine Kante
e2, die durch den Schnitt des Zylinders 103 und des Kubus
101 erzeugt wurden, und Kurve 1001 entsprechen, sind
ebenfalls gezeigt. In Fig. 11 gibt es eine Vorderseite
f1′ sowie Kanten e1′ und e′′. Die Beziehungstabelle
vernetzt jede Kante und Vorderseite, die in einer
Randdarstellung konstruiert wurden, mit der
korrespondierenden Kante und Vorderseite, die in der
anderen Randdarstellung konstruiert wurden. Daher
vernetzt die Beziehungstabelle die Vorderseite f1 mit der
Vorderseite f1′, die Kante e1 mit der Kante e1′, und die
Kante e2 mit der Kante e2′. Entsprechend werden die
Vorderseite f2 und die Kante e3 des Kubus 101 in Fig. 11
mit der Vorderseite f2′ und der Kante e3′ in Fig. 10
vernetzt. Diese Vernetzungen oder Beziehungen werden für
sämtliche topologischen Größen erzeugt und gespeichert,
welche die Grundelemente bilden.
Nunmehr wird eine vereinigte Randdarstellung im Schritt
803 dadurch konstruiert, daß ein Grundelement in dem
anderen konstruiert wird. In diesem Beispiel wird der
Kubus 101 in den Zylinder 103 konstruiert. Zuerst werden
Drahtkanten des Kubus-Grundelements in der Datenbank des
Zylinder-Grundelements konstruiert. Dann werden
Vorderseiten des Kubus-Grundelements in der
Zylinder-Grundelement-Randdarstellung konstruiert. Diese
Konstruktionen bilden weitere Modifikationen der
Randbeschreibungen 1211 der
Zylinder-Grundelement-Randdarstellung. Wie aus Fig. 12
hervorgeht, hat das Zufügen von Schnitten und Rändern von
dem Kubus-Grundelement zu der
Zylinder-Grundelement-Randdarstellung den Raum in
zusätzliche Bereiche unterteilt. Zwar umfaßte die
ursprüngliche Zylinder-Grundelement-Randdarstellung nur
einen Bereich innerhalb des Zylinders und einen Bereich
außerhalb des Zylinders, jedoch umfaßt die vereinigte
Randdarstellung fünf Bereiche, die als R0, R1, R2, R3 und
R4 bezeichnet sind. Die
Zylinder-Grundelement-Randdarstellung wurde in eine
vereinigte Randdarstellung transformiert, welche
vereinigte Daten von dem Zylinder-Grundelement, dem
Kubus-Grundelement und dem Schnitt der Grundelemente
enthält.
Bereiche der vereinigten Randdarstellung werden nunmehr
im Schritt 805 entsprechend den Grundelementen
klassifiziert, welche sie enthalten. Diese
Klassifizierung (Schritt 805) eines Bereiches
aktualisiert die Umschließungsvorgeschichte 1215 des
Bereiches innerhalb der Datenstruktur.
Vor der Klassifizierung (Schritt 805) weisen die Bereiche
Umschließungsvorgeschichten 1215 auf, die sich nur auf
den Zylinder 103 beziehen, da die Randdarstellung, welche
dieses Grundelement definiert, die Grundlage für die
vereinigte Randdarstellung bildete. Daher gibt es vor der
Klassifizierung (Schritt 805) folgende
Umschließungsvorgeschichten 1215 der Bereiche, wie aus
der nachstehenden Tabelle hervorgeht.
Alle Vorderseiten des Kubus 101 wurden nunmehr
durchlaufen, einschließlich der zusätzlichen
Vorderseiten, die durch den Schritt des Schneidens 801
und den Schritt der Konstruktion 803 erzeugt wurden. Dies
bedeutet, daß eine Liste sämtlicher Vorderseiten des
Kubus 101 und der zusätzlichen Vorderseiten gebildet
wird, die durch den Schnittschritt 801 erzeugt wurden, so
daß benachbarte Vorderseiten in der Liste in der
Topologie des Modells benachbart sind. Die Konstruktion
dieser Liste wird, wie voranstehend erwähnt, durch die
Beziehungstabelle erleichtert, welche dabei geholfen hat,
die Nachbarschaft neuer Vorderseiten aufrecht zu
erhalten, die durch Schnitte erzeugt wurden.
Umschließungsvorgeschichten 1215 von dem
Kubus-Grundelement, wie sie für die Bereiche auf beiden
Seiten jeder Vorderseite von der Liste erhalten wurden,
werden wiederum in die vereinigte Randdarstellung
übertragen. Wenn irgendwelche inneren Bereiche, nicht
begrenzt durch irgendeine Vorderseite des durchlaufenden
Grundelements, bei der vereinigten Randdarstellung
erzeugt wurden, so würde sich die
Umschließungsvorgeschichteninformation in diese Bereiche
ausbreiten, nachdem der Durchlauf fertig ist. Daher
ergeben sich bei dem vorliegenden Beispiel die
Umschließungsvorgeschichten 1215 in den Bereichen der
vereinigten Randdarstellung wie bei der nachstehenden
aktualisierten Tabelle nach der Klassifizierung.
Sobald die Bereiche im Schritt 805 anhand ihrer
Umschließungsvorgeschichten 1215 klassifiziert wurden,
kann eine gewünschte Bool′sche Operation angewendet
werden.
Die Auswahl von Bereichen im Schritt 807 für eine Anzeige
oder als Gegenstand einer weiteren Bearbeitung im Schritt
809 gibt als ein Ergebnis eine markierte Datenbasis,
welche eine Randdarstellung der gewünschten Konstruktion
enthält. Im vorliegenden Beispiel ist die gewünschte
Bool′sche Operation 701 A-B. Dies entspricht der
Anforderung, sämtliche Raumbereiche zu markieren, die von
dem Kubus-Grundelement 101 eingenommen werden, abgesehen
von den Bereichen, die ebenfalls von dem
Zylinder-Grundelement 103 eingenommen werden.
Vorderseiten, Kanten und Scheitelpunkte können ebenfalls
durch diesen Vorgang markiert werden, wie nachstehend
erläutert wird.
Die Umschließungsvorgeschichte 1215 jedes Bereiches legt
fest, ob der Bereich ausgewählt werden soll. Diese
Festlegung erfolgt durch einen Vergleich der
Umschließungsvorgeschichte 1215 jedes Bereiches mit der
gewünschten Bool′schen Operation 701. Die gewünschte
Bool′sche Operation 701, die zwischen irgendwelchen zwei
Grundelementen durchgeführt werden soll, wird dadurch
aufgefunden, daß eine Umstellungs-Speicherdarstellung des
CSG-Baums untersucht wird. Die
Umstellungs-Zeichenkettendarstellung wird dadurch
erzeugt, daß ein Umstellungs-Durchlauf des CSG-Baums
durchgeführt wird, um logische Darstellungen der
Grundelemente und der Bool′schen Operationen zu sammeln.
Ausgewählte Bereiche, nämlich solche, die einen Teil des
Ergebnisses der gewünschten Bool′schen Operation 701
bilden, werden dann in dem bereitgestellten Ort 1217 in
der vereinigten Randdarstellung markiert. Im vorliegenden
Beispiel werden Bereiche ausgewählt, die A in ihrer
Umschließungsvorgeschichte 1215 enthalten, die jedoch
nicht B in ihrer Umschließungsvorgeschichte 1215
enthalten. Sobald die Auswahl für sämtliche Bereiche
festgelegt wurde, werden Vorderseiten ausgesucht.
Die Vorderseitenauswahl hängt zuerst von den Bereichen
ab, die durch diese Vorderseite begrenzt werden. Wenn
eine Vorderseite exakt einen ausgewählten Bereich
begrenzt, dann wird auch sie ausgewählt. Anderenfalls
wird die Vorderseite ausgewählt, wenn sie ihre eigene
Umschließungsvorgeschichte aufweist, welche zu der
gewünschten Bool′schen Operation paßt. Nachdem
ausgewählte Vorderseiten markiert wurden, werden Kanten
ausgewählt und markiert.
Die Kantenauswahl und dann die Scheitelwertauswahl geht
ähnlich vor wie die Vorderseitenauswahl, wobei jedoch
Kanten Vorderseiten begrenzen und Scheitelwerte Kanten
begrenzen. Eine Kante, die keine eigene
Umschließungsvorgeschichte aufweist, wird ausgewählt,
wenn sie irgendeine ausgewählte Vorderseite begrenzt, und
ein Scheitelwert, der keine eigene Vorgeschichte
aufweist, wird ausgewählt, wenn er irgendeine ausgewählte
Kante begrenzt. Kanten und Scheitelwerte mit eigenen
Vorgeschichten werden auf ähnliche Weise wie Bereiche
ausgewählt.
Die auf diese Weise markierte, vereinigte Randdarstellung
kann dann weiterbearbeitet oder angezeigt werden (Schritt
809). Wenn die vereinigte Randdarstellung angezeigt
werden soll (Schritt 809), dann werden alle markierten
Größen zur Anzeige auf einem Endgerätegerät 401 oder auf
einer Hardkopieausgabevorrichtung 403 sichtbar gemacht,
im Schritt 809.
Änderungen einer existierenden vereinigten
Randdarstellung lassen sich bei einem System gemäß der
vorliegenden Erfindung einfach durchführen.
Beispielsweise umfaßt die Änderung einer Bool′schen
Operation irgendwo in dem Modell nur eine Ummarkierung
von Bereichen in der Datenstruktur der vereinigten
Randdarstellung entsprechend dem neuen Kriterium. Ein
Verfahren zum Ummarkieren beginnt mit dem Entfernen der
Markierungen an den bereitgestellten Orten 1217 in den
vereinigten Randdarstellungen bei all solchen Größen,
welche die ursprüngliche Bool′sche Operation erfüllen.
Dann werden, wie voranstehend beschrieben, Größen
markiert, welche die neue Bool′sche Operation erfüllen,
die ausgeführt werden soll. Zwar werden die
Umschließungsvorgeschichten sämtlicher Größen untersucht,
jedoch beeinflussen beide Abschnitte dieses Verfahrens
nur die Größen, deren Umschließungsvorgeschichten
entweder die ursprüngliche Bool′sche Operation oder aber
die neue Bool′sche Operation erfüllen. Eine vollständige
Neubewertung des Modells, wie dies beim Stand der Technik
erforderlich wäre, ist nicht erforderlich, und daher wird
die Zeit gespart, die bei Systemen nach dem Stand der
Technik zur erneuten Bewertung von Größen erforderlich
ist, die nicht durch die Änderung beeinflußt werden.
Bei dem Kubus/Zylinderbeispiel, welches voranstehend
verwendet wurde, kann die ursprüngliche Bool′sche
Operation A-B beispielsweise auf A + B geändert werden.
In diesem Beispiel werden nur die Bereiche behandelt,
obwohl das Verfahren sämtliche Größen betrifft, die eine
eigene Umschließungsvorgeschichte aufweisen. Es wird die
Umschließungsvorgeschichte jedes Bereiches (oder im
allgemeinen jeder Größe) untersucht. Unter Bezugnahme auf
die Bereiche von Tabelle 2 erfüllte R4 die ursprüngliche
Bool′sche Operation. Daher wurde es markiert. Nunmehr ist
es unmarkiert, da es die ursprüngliche Bool′sche
Operation erfüllt. Als nächstes würde R3 markiert werden,
da es die neue Bool′sche Operation erfüllt. Wie aus
diesem Beispiel hervorgeht, werden die nicht betroffenen
Bereiche R0, R1 und R2 nicht erneut bewertet, sondern es
wurden nur ihre Umschließungsvorgeschichten mit der
ursprüngliche Bool′schen Operation und der neuen
Bool′schen Operation verglichen. Es ist nicht
erforderlich, erneut die Schnitt-, Konstruktions- und
Klassifizierungsschritte durchzuführen, da die Ergebnisse
dieser Operationen das sind, was momentan in der
Datenstruktur enthalten ist.
Durch Einsatz der vorliegenden Erfindung ist es weiterhin
einfach, Änderungen vorzunehmen, oder eine existierende,
vereinigte Randdarstellung dadurch zu editieren, daß
eines oder mehrere der ursprünglichen Grundelemente
geändert oder entfernt werden. Es gibt keine
Beeinträchtigung der Leistung bei der Vornahme von
Abänderungen bei Elementen, die zu irgendeinem Zeitraum
bei der Entwicklung eines bestimmten Modells eingeführt
werden. Beispielsweise kann, wie in Fig. 13A bis C
gezeigt ist, eine Bedienungsperson den Radius des
Zylinders 1501 ändern, ohne den Kubus 1503 oder den Kegel
1505 zu stören, einfach durch Abtrennen des Zylinders
1501 wie nachstehend beschrieben und erneute Einführung
eines neuen Zylinders 1507, der einen unterschiedlichen
Radius aufweist. Wenn die Vereinigungsmenge viele
einzelne Grundelement-Festkörper umfaßt, so zeigt die
vorliegende Erfindung eine wesentliche
Leistungsverbesserung gegenüber dem Stand der Technik, da
es nicht erforderlich ist, den gesamten CSG-Raum zu
überarbeiten. Statt dessen müssen nur die betroffenen
Elemente überarbeitet werden. Die hier erreichten
Einsparungen sind ähnlich wie die voranstehend
beschriebenen, im Zusammenhang mit der Änderung einer
Bool′schen Operation, da Größen nicht vollständig neu
bewertet werden; statt dessen werden nur
Umschließungsvorgeschichten untersucht, um festzulegen,
ob eine Größe durch eine Änderung beeinflußt wird.
Wiederum ist es nicht erforderlich, erneut die Schritte
des Schneidens, Konstruierens und Klassifizierens der
Elemente der nicht betroffenen Grundelemente
durchzuführen, da die Datenstruktur bereits die
Ergebnisse dieser Schritte enthält.
Nunmehr werden in Verbindung mit dem Anhang und Fig. 14A-14H
die Schritte eines Verfahrens gemäß einer Ausführungsform
der vorliegenden Erfindung beschrieben, bei denen es um
das Abtrennen eines Grundelements von einer vereinigten
Menge geht, und welches geeignet zum Editieren einer
vereinigten Randdarstellung wie voranstehend beschrieben
ist. Wie aus den voranstehenden Ausführungen deutlich
wird, beginnen zahlreiche Änderungen einer vereinigten
Menge damit, daß ein oder mehrere Grundelemente von der
vereinigten Menge abgetrennt werden.
Das beschriebene Verfahren zum Abtrennen beginnt mit dem
Schritt der Entfernung der Vorderseiten des
abzutrennenden Grundelements, und geht dann mit den
Schritten der Entfernung von Kanten und Entfernung von
Scheitelpunkten des abzutrennenden Grundelements weiter.
Schließlich wird ein Schritt durchgeführt, bei welchem
Bereiche entfernt werden, die dem abzutrennenden
Grundelement zugeordnet sind.
Für jede Vorderseite, beispielsweise f3 und f4, in der
vereinigten Menge wird eine Absolutdifferenz der
Vorderseitenumschließungsvorgeschichte untersucht (13 01).
Wenn daher die Umschließungsvorgeschichte eines Bereiches
auf einer Seite der Vorderseite sich von der
Umschließungsvorgeschichte eines Bereiches auf der
anderen Seite der Vorderseite nur durch die
Umschließungsvorgeschichte des zu entfernenden
Grundelements unterscheidet, dann wird diese Vorderseite
dem zu entfernenden Grundelement zugeordnet,
beispielsweise f4. Daher würde diese Vorderseite (f4)
dann gelöscht (13 03). Eine Entfernung sämtlicher
Vorderseiten, die dem zu entfernenden Grundelement
zugeordnet sind, läßt die Kanten, Scheitelpunkte und
Bereiche des zu entfernenden Grundelements übrig.
Als nächstes wird mit jeder Kante in der vereinigten
Menge eine Reihe von Versuchen unternommen, um zu
ermitteln, ob diese Kante entfernt werden sollte. Jede
Kante, beispielsweise e4, die keine benachbarten
Vorderseiten 1305 aufweist, wird gelöscht (13 07). Jede
verbleibende Kante, beispielsweise e5, die eine oder
mehrere benachbarte Vorderseiten aufweist, wird
untersucht, um zu ermitteln, ob sie zwei benachbarte
Vorderseiten hat, die beide auf derselben Oberfläche 1309
liegen. Ist dies der Fall, dann wird diese Kante e5
gelöscht (13 11). Schließlich wird jede übrigbleibende
Kante, beispielsweise e6, daraufhin untersucht, ob sie
nur eine benachbarte Vorderseite 1313 aufweist. Ist dies
der Fall, dann wird sie (e6) gelöscht. Zu diesem
Zeitpunkt wurden sämtliche Kanten gelöscht, die nicht dem
nicht entfernten Abschnitt der vereinigten Menge
zugeordnet sind.
Scheitelpunkte werden nach ähnlichen Regeln bearbeitet.
Liegt ein Scheitelpunkt, beispielsweise v1, neben keinen
Kanten und keinen Vorderseiten 1317, dann wird er (v1)
gelöscht (13 19). Ist ein Scheitelpunkt, beispielsweise
v2, der noch nicht gelöscht wurde, neben keinen Kanten
angeordnet, sondern neben einer Vorderseite 1321
angeordnet, dann wird er (v2) gelöscht (13 23).
Schließlich werden die übrigbleibenden Scheitelpunkte
gelöscht, beispielsweise v3, die neben sowohl zwei Kanten
auf derselben Oberfläche als auch neben zwei Vorderseiten
liegen (13 25). Nunmehr ist alles, was von dem entfernten
Grundelement übrigbleibt, eine Bezugnahme auf es in den
Umschließungsvorgeschichten von Bereichen, die es früher
eingenommen hat (in den Fig. 14A-H nicht sichtbar).
Der Abschlußschritt beim Abtrennen eines Grundelements
aus einer vereinigten Menge besteht darin, aus der
Umschließungsvorgeschichte jedes Bereiches jede
Bezugnahme auf dieses Grundelement zu entfernen.
Zur Erläuterung des voranstehenden Verfahrens werden
nunmehr die Fig. 14A bis 14H kurz beschrieben.
In Fig. 14A ist eine vereinigte Menge dargestellt, die
aus einem Zylinder C und einem Kubus D besteht. Der
Zylinder C wird von dem Kubus D getrennt. Wie in Fig. 14B
gezeigt ist, sind sämtliche Vorderseiten, beispielsweise
f4, die nur dem Zylinder C zugeordnet sind, entfernt
worden. Als nächstes zeigt Fig. 14C das Ergebnis des
Entfernens sämtlicher Kanten, die neben keinen
Vorderseiten liegen (beispielsweise e5). Daraufhin werden
Kanten neben zwei Vorderseiten entfernt, die auf
derselben Oberfläche liegen (beispielsweise e5), was zu
dem in Fig. 14D gezeigten Zustand führt. Das Entfernen
der Kanten ist in Fig. 14E beendet, mit der Entfernung
von Kanten, die nur eine benachbarte Vorderseite
aufweisen (beispielsweise e6). In Fig. 14F wurden
Scheitelpunkte entfernt, die keine benachbarten Kanten
und keine benachbarten Vorderseiten aufweisen
(beispielsweise v1). Daraufhin werden Scheitelpunkte
entfernt, die keine benachbarten Kanten und eine
benachbarte Vorderseite aufweisen (beispielsweise v2),
was zu dem in Fig. 14G gezeigten Zustand führt.
Schließlich zeigt Fig. 14H das Ergebnis der Entfernung
von Scheitelpunkten, die zwei benachbarte Kanten haben,
die auf derselben Kurve liegen, und darüber hinaus zwei
benachbarte Vorderseiten (beispielsweise v3). In dieser
Darstellung führt die Aktualisierung der
Umschließungsvorgeschichten der Bereiche zu keiner
sichtbaren Änderung, und daher stellt Fig. 14H das
Endresultat dar.
Die vorliegende Erfindung wurde im Zusammenhang mit einer
bevorzugten Ausführungsform beschrieben. Allerdings ist diese
Ausführungsform nur beispielhaft zu verstehen.
Unterschiedliche Abänderungen und Ausweitungen, die nunmehr
Fachleuten auf diesem Gebiet einfallen werden, sollen in den
Umfang der vorliegenden Erfindung eingeschlossen sein, der
sich aus der Gesamtheit der vorliegenden Anmeldeunterlagen
ergibt.
Für jede Vorderseite in der vereinigten Menge:
(Unterscheidet sich die Umschließungsvorgeschichte des Bereichs auf einer Seite der Vorderseite von der Umschließungsvorgeschichte des Bereichs auf einer Seite der Vorderseite von der Umschließungsvorgeschichte auf der anderen Seite der Vorderseite nur durch das zu entflammende Unter-Objekt, dann lösche die Vorderseite).
(Unterscheidet sich die Umschließungsvorgeschichte des Bereichs auf einer Seite der Vorderseite von der Umschließungsvorgeschichte des Bereichs auf einer Seite der Vorderseite von der Umschließungsvorgeschichte auf der anderen Seite der Vorderseite nur durch das zu entflammende Unter-Objekt, dann lösche die Vorderseite).
Für jede Kante der vereinigten Menge:
(Hat die Kante keine angrenzenden Vorderseiten, dann lösche die Kante;
Hat die Kante benachbarte Vorderseiten auf einer einzigen Oberfläche, dann lösche die Kante;
Hat die Kante eine benachbarte Vorderseite, dann lösche die Kanten).
(Hat die Kante keine angrenzenden Vorderseiten, dann lösche die Kante;
Hat die Kante benachbarte Vorderseiten auf einer einzigen Oberfläche, dann lösche die Kante;
Hat die Kante eine benachbarte Vorderseite, dann lösche die Kanten).
Für jeden Scheitelpunkt der vereinigten Menge:
(Hat der Scheitelpunkt keine benachbarten Kanten und keine benachbarten Vorderseiten, dann lösche den Scheitelpunkt;
Hat der Scheitelpunkt keine benachbarten Kanten und eine benachbarte Vorderseite, dann lösche den Scheitelpunkt;
Hat der Scheitelpunkt zwei benachbarte Kanten und zwei benachbarte Vorderseiten, dann lösche den Scheitelpunkt).
(Hat der Scheitelpunkt keine benachbarten Kanten und keine benachbarten Vorderseiten, dann lösche den Scheitelpunkt;
Hat der Scheitelpunkt keine benachbarten Kanten und eine benachbarte Vorderseite, dann lösche den Scheitelpunkt;
Hat der Scheitelpunkt zwei benachbarte Kanten und zwei benachbarte Vorderseiten, dann lösche den Scheitelpunkt).
Für jeden Bereich der vereinigten Menge:
(Entferne das Unter-Objekt aus der Umschließungs-Vor geschichte des Bereiches).
(Entferne das Unter-Objekt aus der Umschließungs-Vor geschichte des Bereiches).
Claims (12)
1. Informationsbearbeitungssystem zur Darstellung eines
Objekts in einem dreidimensionalen Koordinatenraum
als mehrere Randdarstellungen (BREPs), wobei die
BREPs Ränder aufweisen, welche den Koordinatenraum in
mehrere topologische Größen unterteilen, die
Umschließungsvorgeschichten aufweisen, mit:
- a) einer Einrichtung zur Vereinigung der mehreren BREPs zur Ausbildung einer vereinigten BREP, welche vereinigte Ränder einschließlich der Ränder der mehreren BREPs aufweist, wobei die vereinigten Ränder vereinigte topologische Größen festlegen, die Vorgeschichten aufweisen, die von den Umschließungsvorgeschichten der mehreren topologischen Größen der mehreren BREPs abgeleitet sind; und
- b) einer Einrichtung zur Auswahl, unter den vereinigten topologischen Größen, eines Satzes topologischer Größen entsprechend dem repräsentierten Objekt, in Reaktion auf die Einrichtung zur Vereinigung.
2. Informationsbearbeitungssystem nach Anspruch 1,
dadurch gekennzeichnet, daß weiterhin
eine Einrichtung zum Abtrennen der vereinigten BREP
durch Entfernen einer in dieser enthaltenen BREP
daraus vorgesehen ist.
3. Informationsbearbeitungssystem nach Anspruch 1,
dadurch gekennzeichnet, daß die
Auswahleinrichtung weiterhin aufweist:
- a) eine Einrichtung zum Empfangen einer Darstellung einer Bool′schen Operation, die unter Verwendung der mehreren BREPs als Operanden ausgeführt werden soll; und
- b) eine Einrichtung zum Markieren, in der vereinigten BREP, der vereinigten Bereiche, welche ein Ergebnis der empfangenen Bool′schen Operation repräsentieren.
4. Informationsbearbeitungssystem nach Anspruch 1,
dadurch gekennzeichnet, daß weiterhin
eine Einrichtung vorgesehen ist, die auf die
Auswahleinrichtung reagiert, um Bilder der
ausgewählten, vereinigten Bereiche anzuzeigen.
5. Randbewertungssystem zur Bearbeitung mehrerer
Grundelemente, von denen jedes zumindest eine durch
Ränder definierte topologische Größe enthält, wobei
eine Datenspeichervorrichtung zum Speichern von
Information, welche jede der topologischen Größen
repräsentiert, aufweist:
eine Einrichtung zum Speichern der mehreren Grundelemente ohne Weglassen der Information, welche jede der topologischen Größen jedes der mehreren Grundelemente repräsentiert; und
eine Einrichtung zum Halten einer Markierung, die jeder topologischen Größe zugeordnet ist und zur Anzeige der Auswahl der topologischen Größe dient.
eine Einrichtung zum Speichern der mehreren Grundelemente ohne Weglassen der Information, welche jede der topologischen Größen jedes der mehreren Grundelemente repräsentiert; und
eine Einrichtung zum Halten einer Markierung, die jeder topologischen Größe zugeordnet ist und zur Anzeige der Auswahl der topologischen Größe dient.
6. Datenspeichervorrichtung nach Anspruch 5,
dadurch gekennzeichnet, daß die
Information einer Randbeschreibung jeder der
topologischen Größen jedes der mehreren Grundelemente
umfaßt, wobei die Speichereinrichtung weiterhin
aufweist:
eine Einrichtung zum Halten der Randbeschreibungen in drei Dimensionen der topologischen Größen; und
eine Einrichtung zum Halten einer Umschließungsvorgeschichte, welche Information umfaßt, die repräsentiert, welches der mehreren Grundelemente durch jede der topologischen Größen gebildet wird, wobei jede Vorgeschichte mit den Darstellungen der Ränder der topologischen Größen vernetzt ist.
eine Einrichtung zum Halten der Randbeschreibungen in drei Dimensionen der topologischen Größen; und
eine Einrichtung zum Halten einer Umschließungsvorgeschichte, welche Information umfaßt, die repräsentiert, welches der mehreren Grundelemente durch jede der topologischen Größen gebildet wird, wobei jede Vorgeschichte mit den Darstellungen der Ränder der topologischen Größen vernetzt ist.
7. Verfahren zur Anzeige eines graphischen Bildes eines
Objektes in einem Datenverarbeitungssystem,
einschließlich der Anzeige mehrerer Unterobjekte, die
durch Randdarstellungen repräsentiert werden, mit
folgenden Schritten:
- a) Identifizieren von Schnitten zwischen den Unterobjekten in jeder der Randdarstellungen;
- b) Konstruieren einer vereinigten Randdarstellung aus den Randdarstellungen und den Schnitten, die in dem Identifizierungsschritt identifiziert wurden, um hierdurch mehrere topologische Größen zu bilden, welche Umschließungsvorgeschichten aufweisen, die repräsentieren, aus welchem der mehreren Grundelemente jede topologische Größe gebildet wurde;
- c) Klassifizieren der topologischen Größen der vereinigten Randdarstellung entsprechend den Umschließungsvorgeschichten;
- d) Auswahl topologischer Größen entsprechend dem Objekt, unter der klassifizierten, vereinigten Randdarstellung für eine Anzeige, wobei die Auswahl in Reaktion auf die Klassifizierung vorgenommen wird; und
- e) Anzeigen der ausgewählten topologischen Größen entsprechend dem Objekt, aus der klassifizierten, vereinigten Randdarstellung.
8. Verfahren nach Anspruch 7,
dadurch gekennzeichnet, daß weiterhin
folgender Schritt vorgesehen ist:
- f) Editieren der vereinigten Randdarstellung.
9. Verfahren nach Anspruch 8 zur Anzeige und zum
Editieren von Objekten einschließlich Oberflächen,
Vorderseiten, Kanten, Scheitelpunkten und Bereichen,
die zu den mehreren Unterobjekten gehören, wobei der
Schritt f) weiterhin folgende Schritte umfaßt:
Identifizieren eines zu entfernenden Unterobjekts;
Entfernen von Vorderseiten, für welche sich die klassifizierten Umschließungen auf jeder Seite jeder der Vorderseiten nur durch das zu entfernende Unterobjekt unterscheiden;
Entfernen jeder der Kanten, welche nicht benachbart einer Vorderseite ist;
Entfernen jeder der Kanten, welche neben zwei Vorderseiten liegt, die eine einzige Oberfläche festlegen;
Entfernen jeder der Kanten, welche neben genau einer Vorderseite liegt;
Entfernen jedes der Scheitelpunkte, die nicht neben einer Kante und nicht neben einer Vorderseite liegen;
Entfernen jedes der Scheitelpunkte, welche nicht neben einer Kante liegen, aber neben einer Vorderseite liegen;
Entfernen jedes der Scheitelpunkte, welche neben zwei Kanten auf einer Oberfläche und neben zwei Vorderseiten liegen; und
Entfernen des Unterobjekts von den verbleibenden klassifizierten Umschließungen.
Identifizieren eines zu entfernenden Unterobjekts;
Entfernen von Vorderseiten, für welche sich die klassifizierten Umschließungen auf jeder Seite jeder der Vorderseiten nur durch das zu entfernende Unterobjekt unterscheiden;
Entfernen jeder der Kanten, welche nicht benachbart einer Vorderseite ist;
Entfernen jeder der Kanten, welche neben zwei Vorderseiten liegt, die eine einzige Oberfläche festlegen;
Entfernen jeder der Kanten, welche neben genau einer Vorderseite liegt;
Entfernen jedes der Scheitelpunkte, die nicht neben einer Kante und nicht neben einer Vorderseite liegen;
Entfernen jedes der Scheitelpunkte, welche nicht neben einer Kante liegen, aber neben einer Vorderseite liegen;
Entfernen jedes der Scheitelpunkte, welche neben zwei Kanten auf einer Oberfläche und neben zwei Vorderseiten liegen; und
Entfernen des Unterobjekts von den verbleibenden klassifizierten Umschließungen.
10. Verfahren nach Anspruch 7, bei welchem der Schritt d)
weiterhin folgende Schritte umfaßt:
Empfang eines Auswahlkriteriums; und
Identifizieren topologischer Größen, deren klassifizierte Umschließungen zu dem Auswahlkriterium passen.
Empfang eines Auswahlkriteriums; und
Identifizieren topologischer Größen, deren klassifizierte Umschließungen zu dem Auswahlkriterium passen.
11. Verfahren nach Anspruch 10,
dadurch gekennzeichnet, daß weiterhin
folgende Schritte vorgesehen sind:
Empfang eines neuen Auswahlkriteriums;
Rückgängigmachung der Auswahl von Abschnitten der klassifizierten, vereinigten Randdarstellung, deren topologische Größen klassifizierte Umschließungen aufweisen, die zu dem Auswahlkriterium passen; und
Auswahl von Abschnitten der klassifizierten, vereinigten Randdarstellung, deren topologische Größen klassifizierte Umschließungen aufweisen, die zu dem neuen Auswahlkriterium passen.
Empfang eines neuen Auswahlkriteriums;
Rückgängigmachung der Auswahl von Abschnitten der klassifizierten, vereinigten Randdarstellung, deren topologische Größen klassifizierte Umschließungen aufweisen, die zu dem Auswahlkriterium passen; und
Auswahl von Abschnitten der klassifizierten, vereinigten Randdarstellung, deren topologische Größen klassifizierte Umschließungen aufweisen, die zu dem neuen Auswahlkriterium passen.
12. Informationsbearbeitungssystem zur Bearbeitung von
Daten, welche mehrere Randdarstellungen (BREPs) in
einem dreidimensionalen Koordinatenraum
repräsentieren, wobei die Randdarstellungen Ränder
umfassen, welche den Koordinatenraum in mehrere
topologische Größen unterteilen, jede topologische
Größe eine Umschließungsvorgeschichte aufweist,
welche identifiziert, welche der mehreren BREPs die
topologische Größe enthält, wobei die bearbeiteten
Daten eine Menge topologischer Größen umfassen, die
einem darzustellenden Objekt entsprechen, wobei das
System umfaßt:
- a) eine Einrichtung zum Vereinigen der mehreren BREPs zur Ausbildung einer vereinigten BREP einschließlich vereinigter Ränder, die durch die Ränder der mehreren BREPs und irgendwelche Schnitte dazwischen festgelegt werden, wobei die vereinigten Ränder vereinigte topologische Größen festlegen, und jede vereinigte topologische Größe eine Umschließungsvorgeschichte aufweist, die von der Umschließungsvorgeschichte jeder topologischen Größe abgeleitet ist; und
- b) eine Einrichtung zur Auswahl, unter den vereinigten topologischen Größen, der Menge topologischer Größen entsprechend dem repräsentierten Objekt, in Reaktion auf die Einrichtung zum Vereinigen und auf die Umschließungsvorgeschichten der vereinigten topologischen Größen.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US82993492A | 1992-02-03 | 1992-02-03 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE4303071A1 true DE4303071A1 (de) | 1993-10-28 |
Family
ID=25255952
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4303071A Ceased DE4303071A1 (de) | 1992-02-03 | 1993-02-03 | Verfahren und Vorrichtung zur Randbewertung in einer Nicht-Mannigfaltigkeits-Umgebung |
Country Status (2)
Country | Link |
---|---|
US (1) | US5561747A (de) |
DE (1) | DE4303071A1 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109359380A (zh) * | 2018-10-16 | 2019-02-19 | 上海莉莉丝科技股份有限公司 | 缩放方法、装置、设备及介质 |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6243102B1 (en) | 1994-05-16 | 2001-06-05 | Apple Computer, Inc. | Data-driven layout engine |
US6404433B1 (en) * | 1994-05-16 | 2002-06-11 | Apple Computer, Inc. | Data-driven layout engine |
JP2981516B2 (ja) * | 1995-03-10 | 1999-11-22 | 富士通株式会社 | 三次元形状編集装置 |
US6016153A (en) * | 1996-07-30 | 2000-01-18 | International Business Machines Corporation | Method to convert non-manifold polyhedral surfaces into manifold surfaces |
US6084587A (en) * | 1996-08-02 | 2000-07-04 | Sensable Technologies, Inc. | Method and apparatus for generating and interfacing with a haptic virtual reality environment |
AUPO206596A0 (en) * | 1996-08-30 | 1996-09-26 | Anca Pty Ltd | Tool grinding simulation system |
US5950160A (en) | 1996-10-31 | 1999-09-07 | Microsoft Corporation | Method and system for displaying a variable number of alternative words during speech recognition |
US5949429A (en) * | 1996-11-14 | 1999-09-07 | Microsoft Corporation | Method for performing pixel addressing operations for a tiled image |
US6154215A (en) * | 1997-08-01 | 2000-11-28 | Silicon Graphics, Inc. | Method and apparatus for maintaining multiple representations of a same scene in computer generated graphics |
KR19990054793A (ko) * | 1997-12-26 | 1999-07-15 | 정선종 | 3차원 형상 데이터로부터 특징형상을 추출하는 방법 |
US6333749B1 (en) * | 1998-04-17 | 2001-12-25 | Adobe Systems, Inc. | Method and apparatus for image assisted modeling of three-dimensional scenes |
US6847384B1 (en) * | 1998-05-14 | 2005-01-25 | Autodesk, Inc. | Translating objects between software applications which employ different data formats |
US6552722B1 (en) * | 1998-07-17 | 2003-04-22 | Sensable Technologies, Inc. | Systems and methods for sculpting virtual objects in a haptic virtual reality environment |
US6421048B1 (en) * | 1998-07-17 | 2002-07-16 | Sensable Technologies, Inc. | Systems and methods for interacting with virtual objects in a haptic virtual reality environment |
US6119069A (en) * | 1999-03-01 | 2000-09-12 | Case Corporation | System and method for deriving field boundaries using alpha shapes |
US20060284834A1 (en) * | 2004-06-29 | 2006-12-21 | Sensable Technologies, Inc. | Apparatus and methods for haptic rendering using a haptic camera view |
US7441230B2 (en) * | 2005-10-07 | 2008-10-21 | Lucasfilm Entertainment Company Ltd. | Method of utilizing product proxies with a dependency graph |
US7755621B2 (en) * | 2006-06-16 | 2010-07-13 | Autodesk, Inc. | Fast interactive object manipulation |
CN102495933A (zh) * | 2011-12-14 | 2012-06-13 | 黄桂青 | 布尔运算构造几何二叉树结构系统化自动平衡等值转换方法 |
US20140136151A1 (en) * | 2012-11-09 | 2014-05-15 | Gary Arnold Crocker | Methods and Systems for Generating Continuous Surfaces from Polygonal Data |
FI20135001L (fi) | 2013-01-02 | 2014-07-03 | Tekla Corp | Tietokoneavusteinen mallintaminen |
US20150286801A1 (en) * | 2014-04-02 | 2015-10-08 | International Business Machines Corporation | Representing Inclusion and Exclusion Criteria for Identifying Clinical Cohorts |
US20170119471A1 (en) * | 2015-11-04 | 2017-05-04 | Illusio, Inc. | Augmented Reality Imaging System for Cosmetic Surgical Procedures |
GB2595443A (en) * | 2020-05-01 | 2021-12-01 | Hackrod | Virtual engineering |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4208719A (en) * | 1978-08-10 | 1980-06-17 | The Singer Company | Edge smoothing for real-time simulation of a polygon face object system as viewed by a moving observer |
DE3401060A1 (de) * | 1984-01-13 | 1986-01-23 | Dr. Johannes Heidenhain Gmbh, 8225 Traunreut | Verfahren zum grafischen darstellen eines gebildes |
US4809201A (en) * | 1985-12-02 | 1989-02-28 | Schlumberger Systems, Inc. | Graphic display region defining technique |
US4785399A (en) * | 1987-03-03 | 1988-11-15 | International Business Machines Corporation | Shaping geometric objects by cumulative translational sweeps |
JPH0752366B2 (ja) * | 1987-09-21 | 1995-06-05 | 株式会社日立製作所 | 防去加工シミュレータ装置 |
US5179644A (en) * | 1988-03-11 | 1993-01-12 | Ricoh Company, Ltd. | Solid modeling method |
US5278983A (en) * | 1988-09-30 | 1994-01-11 | International Business Machines Corporation | Boundary representation solid modeling system |
US5027292A (en) * | 1989-04-19 | 1991-06-25 | International Business Machines Corporation | Multiple depth buffers for graphics and solid modelling |
-
1993
- 1993-02-03 DE DE4303071A patent/DE4303071A1/de not_active Ceased
-
1994
- 1994-12-08 US US08/351,871 patent/US5561747A/en not_active Expired - Fee Related
Non-Patent Citations (1)
Title |
---|
Cary A. Crocker, William F. Reinke: An Editable NONmanifold Boundary Representation, in: IEEE CG&A, March 1991, S. 39-51 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109359380A (zh) * | 2018-10-16 | 2019-02-19 | 上海莉莉丝科技股份有限公司 | 缩放方法、装置、设备及介质 |
CN109359380B (zh) * | 2018-10-16 | 2020-06-09 | 上海莉莉丝科技股份有限公司 | 缩放方法、装置、设备及介质 |
US11636574B2 (en) | 2018-10-16 | 2023-04-25 | Shanghai Lilith Technology Corporation | Scaling method and apparatus, device and medium |
Also Published As
Publication number | Publication date |
---|---|
US5561747A (en) | 1996-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE4303071A1 (de) | Verfahren und Vorrichtung zur Randbewertung in einer Nicht-Mannigfaltigkeits-Umgebung | |
DE3789650T2 (de) | Verfahren und System zur Festkörpermodellierung. | |
DE69020780T2 (de) | Vielfache Tiefenpuffer für Graphik und Festkörpermodellierung. | |
DE69229530T2 (de) | Automatisiertes neues Layout-Verfahren mit dimensionaler Verknüpfung | |
DE3889882T2 (de) | Modellierungssystem für Festkörper. | |
DE19612016A1 (de) | Verfahren zur rechnergestützten Geometriemodellierung | |
DE69830767T2 (de) | Verfahren und Vorrichtung zum Zusammensetzen geschichteter synthetischer graphischer Filter | |
DE3852596T2 (de) | Verfahren zur Erzeugung eines diskreten Netzes zur Simulation mittels finiter Differenzen. | |
DE3608438A1 (de) | Verfahren zum berechnen von freien gekruemmten flaechen mittels computergestuetztem design cad und computergestuetzter herstellung cam und numerischer steuerung nc | |
DE69726479T2 (de) | Selektive Verfeinerung von Gitternetzen | |
DE3688916T2 (de) | Erzeugungsverfahren für begrenzte Elemente unter Verwendung von symmetrischer Axistransformation. | |
DE69512262T2 (de) | Verfahren zum erzeugen von räumlich ausgewogenen abgrenzvolumenhierarchien zur anwendung in einer computererzeugten darstellung einer komplexen struktur | |
DE10025583A1 (de) | Verfahren zur Optimierung integrierter Schaltungen, Vorrichtung zum Entwurf von Halbleitern und Programmobjekt zum Entwerfen integrierter Schaltungen | |
DE69625484T2 (de) | Verbesserte Objektmodellerzeugung | |
DE69327129T2 (de) | Vorrichtung zum Bearbeiten von dreidimensionalen Bildinformationen mit Hervorhebung von herausstechenden Linien | |
DE19806985A1 (de) | Organisationsverfahren für volumetrische Daten, das effiziente Cache-Aufbereitungsbeschleunigungen und einen effizienten Graphik-Hardwareentwurf ermöglicht | |
DE69817107T2 (de) | System und Verfahren zur polyhedral Kollisiondetektion | |
DE69830766T2 (de) | Verfahren und Vorrichtung zum Bestimmen des Anwendungsumfangs geschichteter synthetischer graphischer Filter | |
DE19817583A1 (de) | Verfahren und System zur Datenverarbeitung für dreidimensionale Objekte | |
DE3789645T2 (de) | Verfahren und System zur Erzeugung von Objekttransformationsbildern. | |
DE10023377C2 (de) | Verfahren zur Erhöhung der Leistungsfähigkeit einer Computereinrichtung bei Finite-Elemente-Simulationen und eine solche Computereinrichtung | |
DE102018217114A1 (de) | Verfahren und Anordnung zur Speicherbedarfsermittlung, um mittels einer Grafikprozessoreinheit auf FEM-Knotennetzen basierte Simulationen durchzuführen | |
EP1820160A1 (de) | Verfahren zur ableitung von technischen zeichnungen aus 3d modellen mit mindestens zwei kollidierenden 3d körpern | |
EP1316051B1 (de) | Verfahren zur veränderung der konstruktion eines bauteils | |
DE68909094T2 (de) | Modellierung eines Festkörpers. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8131 | Rejection |