Hintergrund der Erfindung
Bereich der Erfindung
-
Diese Erfindung betrifft dreidimensionale Grafiken und
insbesondere die Feststellung, ob sich Objekte, die in drei Dimensionen
ausgerichtet sind, aber in zwei Dimensionen angezeigt werden, in
der nicht angezeigten Dimension überschneiden oder überlagern.
Ob sich zweidimensional gezeichnete Objekte in den beiden
angezeigten Dimensionen überschneiden oder einander überlagern, kann
visuell überprüft werden. Wenn die Objekte in einem
dreidimensionalen Raum ausgerichtet sind, ist eine Interferenz aus der
zweidimensionalen Anzeige nicht erkennbar. Beispielsweise nehmen
die Rohre in Rohrleitungsplänen für Bauzeichnungen drei
Dimensionen ein. Wenn weitere Rohre hinzugefügt werden, ist es
notwendig zu wissen, daß ein Rohr ein bereits positioniertes Rohr
nicht überlagert.
Beschreibung der verwandten Technik
-
Das dem Stand der Technik entsprechende Verfahren zur
Feststellung, ob zwischen Objektpaaren in dreidimensionalen
Zeichnungen (zweidimensionalen Lageplänen) eine Interferenz besteht,
bedingt die Erstellung von zwei Zeichnungssätzen gleichzeitig,
wobei jeder eine andere paarweise Kombination des
dreidimensionalen Raumes darstellt, z.B Draufsichten und Seitenansichten.
Dies ist schwierig und zeitraubend, besonders, wenn viele
Änderungen gemacht werden müssen.
-
Ein anderes dem Stand der Technik entsprechendes Verfahren, das
mehr an automatisierte Systeme adaptierbar ist, d.h.
rechnergestütztes
Entwerfen, als CAD bekannt, muß für jedes hinzugefügte
Objekt mögliche Schnittpunkte mit allen vorher dagewesenen
Objekten berechnen.
-
Die Mathematik zur Feststellung von Schnittpunkten von Vektoren
sind bekannt. Wenn beispielsweise die Gleichungen von zwei
dreidimensionalen Vektoren eine gleichzeitige Lösung haben, kreuzen
sich die Vektoren an den Koordinaten, die von der gleichzeitigen
Lösung dargestellt werden. Dreidimensionale Objekte im Raum
können durch Kombinationen von Vektorgleichungen dargestellt
werden, und der Schnittpunkt eines beliebigen Paares von Vektoren,
bei dem einer des Paares von einem Objekt und der andere von dem
anderen Objekt ist, zeigt, daß die Objekte einander überlagern.
-
Für Objekte, die durch Kombinationen von Polygonen dargestellt
werden können, können die Interferenz-Berechnungen durch
paarweise Erfassung der Polygone eines jeden Objektpaares
vorgenommen werden. Ein effizienter Aigorithmus zur Feststellung von
Polygon-Schnittpunkten ist in Algorithms for Graphics and Image
Processing von Theo Pavlidis (Computer Science Press 1982) auf
den Seiten 352 bis 355 beschrieben.
-
Mit steigender Zahl und Komplexität der Objekte nimmt die Zahl
der erforderlichen Berechnungen rapide zu. Wenn beispielsweise
die Anzahl der Polygone für das i-te Objekt n(i) ist und es m
Objekte gibt, ist die Zahl der Berechnungen (von denen jede
viele arithmetische Operationen erfordert) die Summe aus m
Produkten, wobei jedes Produkt die Anzahl n(k) eines jeden k-ten
Objektes mal der Summe aller n(j) Objekte ist, wobei j eins
kleiner k ist.
-
Beispiele für die Zunahme lassen sich aufzeigen, indem man sich
vor Augen führt, daß für drei Würfel (von denen jeder sechs
Polygone umfaßt) 108 Berechnungen notwendig wären, und das
Hinzufügen eines vierten Würfels erhöht die Zahl auf 216, doppelt so
viele Berechnungen. Für zwei Würfel und zwei Kugeln (dargestellt
durch Zwölfecke, d.h. zwölf Funfecke) beträgt die Zahl der
Berechnungen 468, und das Hinzufügen einer weiteren Kugel erhöht
die Zahl auf 900, fast doppelt so viele Berechnungen. Da die
Zahl der Berechnungen mit steigender Anzahl von Polygonen, die
zur Bildung eines Objekts verwendet werden, zunimmt, ist der zur
Durchführung der Berechnungen erforderliche höhere Zeitaufwand
bei Verwendung von komplexeren, aber besser dargestellten
Objekten rückläufig.
-
Außerdem wird in "An Introduction to Solid Modeling" von Martti
Mântylâ, Computer Science Press, Rockville, 1988, Seiten 352 bis
362, Bezug genommen auf die allgemeinen Auffassungen
hinsichtlich der Indexe von regelmäßigen Koordinatennetzen, wie sie bei
der Feststellung von Objekt-Interferenzen Anwendung finden.
Zusammenfassung der Erfindung
-
Die Erfindung ist in Anspruch 1 dargelegt.
-
Gemäß der Erfindung wird eine dreidimensionale Matrix in einem
CAD-System im Speicher abgelegt, wobei jedes Element ein
Unterabschnitt (ein Subkontinuum) des interessierenden ganzen
dreidimensionalen Raumes ist, der als Entwurfsraum bezeichnet wird.
Wenn Objekte in den Entwurfsraum gezeichnet oder eingefügt
werden, wird ihnen eine Indexnummer oder ein Kennzeichen
zugeordnet, und der Index oder das Kennzeichen werden in jedem Element
der dreidimensionalen Matrix entsprechend den von dem Objekt
belegten Subkontinuen gespeichert. Wenn irgendein Element einen
Eintrag enthält, der ungleich Null ist, müssen Berechnungen
bezüglich der Interferenz nur zwischen dem Objekt, das eingegeben
wird, und dem Objekt, das durch den in dem Element gespeicherten
Index gekennzeichnet ist, vorgenommen werden. Wenn alle Elemente
Null-Einträge für das hinzugefügte Objekt haben, kann es sich
mit keinem der anderen Objekte überschneiden, und es brauchen
keine Berechnungen durchgeführt zu werden.
Kurze Beschreibung der Zeichnungen
-
Die Erfindung ist ausführlich durch Bezugnahme auf die
verschiedenen Figuren beschrieben, die spezifische
Ausführungsformen der Erfindung veranschaulichen und in denen sich gleiche
Ziffern auf gleiche Elemente beziehen.
-
FIG. 1 ist eine isometrische Darstellung, die ein Subkontinuum
in einem Entwurfsraum zeigt.
-
FIG. 2 ist eine isometrische Darstellung von zwei Rohren in dem
Entwurfsraum, wobei eines durch das Subkontinuum läuft und das
andere nicht.
Beschreibung der bevorzugten Ausführungsform
-
In Figur 1 ist ein Unterabschnitt des Entwurfsraums
(Subkontinuum) 10 als ein Würfel in dem Entwurfsraum (dem interessierenden
ganzen dreidimensionalen Raum) gezeigt, der durch die X-, Y- und
Z-Achse angegeben ist. Die Eckpunkte des Subkontinuums 10, die
seine Position angeben, sind die Punkte P1 (X1,Y1, Z1),
P2 (X2, Y1, Z1), P3 (X2, Y1, Z2), P4 (X1, Y1, Z2), P5 (X1, Y2, Z1),
P6 (X2, Y2, Z1), P7 (X2, Y2, Z2) und P8 (X1, Y2, Z2). Der gesamte
Entwurfsraum ist in ähnliche, benachbarte Subkontinuen unterteilt,
die vorzugsweise kubisch sind, aber nicht so zu sein brauchen.
-
Die X-Y-Ebene des Entwurfsraums umfaßt n x m Pixel
(Bildelemente), wobei n und m gewöhnlich eine Potenz von zwei sind. Zum
Zweck der Veranschaulichung gehen wir davon aus, daß der
Entwurfsraum in 1024 Pixel entlang jeder Achse unterteilt ist.
(2*10 = 1024, wobei * die Potenzierung darstellt). Daher ist der
ganze Entwurfsraum in 1024*3 oder ungefähr eine Milliarde Piel
unterteilt.
-
Die angezeigte zweidimensionale Darstellung ist gewöhnlich die
X-Y-Ebene, die nur 1024*2 oder ungefähr eine Million Pixel
erfordert. Da ein Pixel bei Verwendung von Zweifarb-Bildschirmen
(schwarz und weiß) durch eine Eins oder eine Null dargestellt
werden kann, sind nur 131.072 Byte notwendig, um den
Anzeigebereich in zwei Dimensionen darzustellen. (Über 134 Millionen Byte
würden zur Speicherung des ganzen Entwurfsraumes notwendig sein,
wenn alle Pixel gespeichert werden müßten.)
-
Wenn ein Objekt im Entwurfsraum gezeichnet wird, wird es auf
eine von mehreren Arten gespeichert. Beispielsweise kann ein
Datenbankschema verwendet werden, bei dem die Eckpunkte des
Objekts gespeichert werden. Alternativ dazu kann das Objekt als
eine Reihe von Vektoren gespeichert werden. Die Literatur zum
Stand der Technik erklärt die vielen, allgemein verwendeten
Optionen.
-
Wenn die Objekte drei Dimensionen einnehmen, können Berechnungen
durchgeführt werden, um festzustellen, ob Objekte einander
überlagern, d.h. sich kreuzen oder überschneiden. Eine Interferenz
zwischen Objekten im Entwurfsraum kann auch durch Speicherung
eines Indexwertes (Kennzeichens) für jedes Objekt in jedem
Matrixelement einer Matrix festgestellt werden, das die Pixel in
drei Dimensionen darstellt, die von dem Objekt in Anspruch
genommen werden. Da mehrere Bytes für jedes Matrixelement
notwendig wären, werden die Speicheranforderungen zu einem Hindernis,
und das für das Speichern und Abrufen erforderliche Quantum an
Zeit wird übermäßig hoch.
-
Gemäß der Erfindung wird das Problem der Interferenz-Überwachung
vereinfacht, indem man eine Matrix erstellt, die den
Entwurfsraum in einer reduzierten Unterteilung darstellt. In dem
anschaulichen Beispiel stellt ein Element in einer Matrix einen
Würfel aus acht Pixeln entlang jeder Achse dar. Das heißt, ein
Würfel aus acht mal acht mat acht Pixeln, ein Subkontinuum
genannt, ist durch ein Element in der Matrix dargestellt. Nur etwa
zwei Millionen Elemente müssen gespeichert und abgerufen werden.
-
Wenn ein Objekt in den Entwurfsraum eingegeben wird, wird sein
Index oder Kennzeichen in jedem Element gespeichert, das die von
dem Objekt belegten Subkontinuen darstellt. Wenn das Element
einen Eintrag enthält, der ungleich Null ist, wird auf die
Möglichkeit einer Interferenz mit einem anderen Objekt hingewiesen.
Die anderen Objekte können durch Einträge in dem Element oder in
einer Tabelle, auf die von dem Eintrag in dem Element gezeigt
wird, gekennzeichnet werden. Der zweite Ansatz wird vorgezogen,
um die Größe der Matrix zu verringern. Das heißt, ein Eintrag in
einem Element, der ungleich Null ist, zeigt auf eine Tabelle,
welche die Indexe oder Kennzeichen der Objekte aufführt, die das
Subkontinuum belegen.
-
Unter Verwendung der Informationen in der Tabelle brauchen
Berechnungen nur zwischen den Objekten vorgenommen zu werden, die
als dasselbe Subkontinuum belegende Objekte aufgeführt sind, und
solche Berechnungen brauchen nur für die Polygone oder Vektoren
der Objekte gemacht zu werden, die sich in demselben
Subkontinuum befinden. Die zur Feststellung einer Interferenz zwischen
Objekten erforderlichen Berechnungen werden dadurch erheblich
reduziert. Wenn ein Objekt ein Subkontinuum belegt, dessen
entsprechendes Element einen Wert Null speichert, ist überhaupt
keine Berechnung erforderlich.
-
In Figur 2 beispielsweise ist das Rohr 23 als ein Rohr gezeigt,
das nicht durch ein bestimmtes Subkontinuum 10 läuft Wenn das
Rohr 21 zum Entwurfsraum hinzugefügt wird, läuft es durch das
Subkontinuum 10, welches das einzige Subkontinuum ist, durch
welches das Rohr 23 gemeinsam mit dem Rohr 21 laufen könnte. In
diesem Fall sind keine Berechnungen zur Feststellung von
Interferenzen erforderlich.
-
Während die Erfindung insbesondere mit Bezug auf eine bevorzugte
Ausführungsform gezeigt und beschrieben worden ist, ist dem
Fachmann klar, daß verschiedene Änderungen und Modifikationen an
der Form und an Einzelheiten in der Erfindung vorgenommen werden
können, ohne vom Umfang der folgenden Ansprüche abzuweichen.