DE69233043T2 - Erzeugung von Festkörpermodellen mit dem Spannverfahren unter Anwendung von Würfelteilung - Google Patents

Erzeugung von Festkörpermodellen mit dem Spannverfahren unter Anwendung von Würfelteilung Download PDF

Info

Publication number
DE69233043T2
DE69233043T2 DE69233043T DE69233043T DE69233043T2 DE 69233043 T2 DE69233043 T2 DE 69233043T2 DE 69233043 T DE69233043 T DE 69233043T DE 69233043 T DE69233043 T DE 69233043T DE 69233043 T2 DE69233043 T2 DE 69233043T2
Authority
DE
Germany
Prior art keywords
span
point
memory
circuit
depth
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 - Lifetime
Application number
DE69233043T
Other languages
English (en)
Other versions
DE69233043D1 (de
Inventor
Harvey Ellis Schenectady Cline
William Edward Ballston Lake Lorensen
Siegwalt Scotia Ludke
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.)
General Electric Co
Original Assignee
General Electric Co
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 General Electric Co filed Critical General Electric Co
Publication of DE69233043D1 publication Critical patent/DE69233043D1/de
Application granted granted Critical
Publication of DE69233043T2 publication Critical patent/DE69233043T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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/10Constructive 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)
  • Image Generation (AREA)

Description

  • Diese Anmeldung steht in Beziehung zu EP-A-0576193 – System for 3D Scan Conversion of a Polygonal Model Into A Point and Normal Format, Displayed Utilizing an Accelerator Circuit; EP-A-0549183 – System For Displaying Solid Cuts For Surfaces of Solid Models; und EP-A-6549182 – Apparatus and Method For Displaying Surgical Cuts in Three-Dimensional Models, die alle gleichzeitig mit dieser Anmeldung eingereicht und alle auf die vorliegende Rechtsnachfolgerin übertragen sind.
  • Hintergrund der Erfindung
  • 1. Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf eine dreidimensionale (oder 3D) Grafik-Workstation und insbesondere auf eine dreidimensionale Grafik-Workstation, die schnell Oberflächenmodelle manipulieren kann, die als Festkörper bildlich dargestellt werden.
  • 2. Beschreibung des Standes der Technik
  • Übliche Computer-Grafikmethoden transformieren Festkörper in eine Anzahl Polygonen, üblicherweise Dreiecke, die die Oberfläche von einem festen Modell approximieren, das ein Oberflächenmodell genannt wird. Diese Dreiecke sind durch Scheitelpunkte (x, y, z) und einen Normalen-Vektor (nx, ny, nz) definiert, der eine Richtungsnormale auf die Oberfläche anzeigt, die simuliert wird. Gewöhnlich sind eine große Anzahl von Dreiecken erforderlich, um eine Oberfläche zu definieren.
  • Ein anderes Verfahren zum bildlichen Darstellen einer Oberfläche besteht darin, tatsächliche dreidimensionale Datensätze zu verwenden, die dann bearbeitet werden, um die Differenz in Werten von benachbarten Volumenelementen („Voxels") zu ermitteln, die eine Oberfläche definieren. Dieses Verfahren erfordert eine große Speichermenge und leistungsstarke Prozessoren. Die große Speichermenge vergrößert die Kosten der Vorrichtung, während das Bearbeitungserfordernis die Geschwindigkeit verringert, in der das Bild erzeugt wird. Wenn das Bild geschnitten oder gedreht wird, muss das Bild neu gezeichnet werden. Dies führt zu einem großen Zeitverbrauch zwischen jedem Rahmen (Frame). Dies wird wichtig, wenn der Benutzer eine Realzeit- oder Nahezu-Realzeit-Manipulation des Modells wünscht. Gegenwärtig besteht ein Bedürfnis für eine Vorrichtung, die feste Modelle manipulieren und sie in Nahezu-Realzeit bildlich darstellen kann, die keine große Speichermenge oder leistungsstarke Prozessoren benötigen.
  • Polygonale Modelle können durch übliche Computer-gestützte Design/Computer-gestützte Fertigungs(CAD/CAM)-Systeme oder aus volumetrischen Daten generiert werden, wie es in dem „wandernde Würfel"-Verfahren des US-Patents 4,710,876 mit der Bezeichnung „System and Method for the Display of Surface Structures Contained Within the Interior Region of a Solid Body" von Harvey E. Cline und William E. Lorensen, beschrieben ist, das am 1. Dezember 1987 erteilt und auf die vorliegende Rechtsnachfolgerin übertragen wurde und durch diese Bezugnahme in die vorliegende Offenbarung eingeschlossen wird. Diese polygonalen Modelle können dann durch ein übliches Verfahren, wie es oben beschrieben ist, bildlich dargestellt werden.
  • Ein anderes Verfahren zum bildlichen Darstellen von Modellen wird die „teilende Würfel"-Methode genannt. Die Methode beginnt mit volumetrischen Daten und kreiert ein Oberflächenmodell, das durch eine Anzahl von Punkten und Normalen-Vektoren, die jedem Punkt zugeordnet sind, anstelle von Polygonen beschrieben ist. Die „teilende Würfel"-Methode ist verwendet worden, um die Oberflächen von medizinischen Volumendaten bildlich darzustellen und ist in dem US-Patent 4,719,585 mit der Bezeichnung „Dividing Cubes System and Method for the Display of Surface Structures Contained Within the Interior Region of a Solid Body" von Harvey E. Cline, Siegwald Ludke und William E. Lorenzen beschrieben, das am 12. Januar 1988 („Diving Cubes") erteilt und auf die vorliegende Rechtsnachfolgerin übertragen wurde und durch diese Bezugnahme in die vorliegende Offenbarung eingeschlossen wird. Diese Methode gestattet eine schnellere Rotation und bildliche Darstellung von einem Modell im Vergleich zu üblichen Darstellungsmethoden und erfordert weniger Verarbeitungsleistung.
  • In gewissen Situationen, beispielsweise zur Operationsplanung, ist es notwendig zu ermitteln, ob sich ein Modell innerhalb oder außerhalb von einem anderen Modell befindet. Operationsplanung ist die Simulation einer Operation auf einer Grafik-Workstation, wobei aktuelle Daten verwendet werden, die aus dem zu operierenden Objekt gewonnen werden. Oberflächenmodelle, die durch übliche Methoden kreiert werden, können eine Oberfläche kreieren, die nur teilweise einen inneren Bereich umschließt. Dies wird ein offenes Oberflächenmodell ge nannt. In diesem Fall ist es schwierig zu ermitteln, ob ein weiteres Modell, das die Oberfläche nicht schneidet, sich in den inneren Bereich von dem offenen Oberflächenmodell erstreckt. Wenn das eine Modell ein Skalpell simuliert und das andere Gewebe von einem Objekt simuliert, würde es schwierig sein zu ermitteln, ob das Skalpell in der Gewebe geschnitten hat, wenn wenigstens ein Modell ein offenes Oberflächenmodell ist.
  • Oberflächenmodelle, die eine geschlossene kontinuierliche Oberfläche definieren und einen Bereich umgeben, sind als geschlossene Oberflächenmodelle bekannt. Ein Schnitt zwischen geschlossenen Oberflächenmodellen kann festgestellt werden. Wenn jedoch ein geschlossenes Oberflächenmodell halbiert und ein Teil von der Oberfläche entfernt wird, wie es beispielsweise bei einer Operationsplanung der Fall ist, wird es ein offenes Oberflächenmodell, wodurch alle Simulationsprobleme eingeführt werden, die mit offenen Oberflächenmodellen auftreten.
  • Offene Oberflächenmodelle sind deshalb bei festen Modellen, wie beispielsweise Operationsplanung, schwierig zu verwenden. Es würde nützlich sein, Modelle zu kreieren, die einen inneren Bereich, der mit einem Modell assoziiert ist, zu identifizieren anstatt nur die Oberflächen von dem inneren Bereich, der auf einfache Weise manipuliert und bildlich dargestellt wird.
  • Medical Physics, Band 15, Nr. 3, Mai 1988, New York USA, Seiten 320–327, beschreibt zwei Algorithmen zur dreidimensionalen Rekonstruktion von Tomogrammen, wobei eine normierte Gradienten-Technik verwendet wird.
  • Zusammenfassung der Erfindung
  • Gemäß der Erfindung werden eine Grafik-Workstation und ein Verfahren zum Manipulieren eines volumetrischen Datensatzes bereitgestellt, wie sie in den Ansprüchen 1 und 5 definiert sind.
  • Somit ist es ein Merkmal der vorliegenden Erfindung, ein Verfahren zur Festkörper-Modellbildung bereitzustellen, das bei der Operationsplanung verwendet werden kann und das einen inneren Bereich, der mit einem Modell assoziiert ist, identifiziert und der auf einfache Weise manipuliert und bildlich dargestellt wird.
  • Ein anderes Merkmal der vorliegenden Erfindung besteht darin, eine Grafik-Workstation bereitzustellen, die feste Modelle bildlich darstellen und sie in Nahezu-Realzeit manipulieren kann.
  • Ein weiteres Merkmal der vorliegenden Erfindung besteht darin, ein Verfahren zu schaffen, das es praktikabel macht, feste Modelle auf einem Prozessor zu manipulieren, der grob die Größe und Leistung von einem Personal Computer hat.
  • Ein weiteres Merkmal der vorliegenden Erfindung besteht darin, ein Verfahren zum bildlicher Darstellen von festen Modellen zu schaffen, das keine große Speichermenge erfordert im Vergleich zu üblichen Computergrafik-Bildgebungsverfahren.
  • Ein weiteres Merkmal der vorliegenden Erfindung besteht darin, ein Verfahren zum Speichern von Bilddaten in verdichteter Form für eine Grafik-Workstation zu schaffen.
  • Ein weiteres Merkmal der vorliegenden Erfindung besteht darin, die Manipulation von festen Modellen auf einer relativ leistungsarmen Workstation praktikabel zu machen, indem die Verarbeitungszeit verkürzt wird.
  • Ein weiteres Merkmal der vorliegenden Erfindung besteht darin, eine Workstation bereitzustellen, die für die Fähigkeit sorgt, Modelle volumetrischer Daten zu manipulieren und bildlich darzustellen.
  • Die Grafik-Workstation gemäß der Erfindung enthält eine übliche Schaltungsanordung, um feste Modelle aus volumetrischen Daten zu kreieren und zu manipulieren, die aus einer Bildgebungseinrichtung erhalten werden.
  • Eine Bildgebungseinrichtung, wie beispielsweise Magnetresonanz-Bildgebung (MRI), Computer-Axial-Tomographie (CAT), Positron-Emissions-Tomographie (PET) usw., tastet ein Objekt ab, um volumetrische Daten zu kreieren, die an einen Spannen-Prozessor gesendet werden. Der Spannen-Prozessor sucht die volumetrischen Daten nach Spannen von festem Material von inneren Modellen ab und verdichtet (kondensiert) die Daten, indem die Daten in einer hierarchischen Art und Weise in dem Spannen-Speicher als eine Display-Liste gespeichert werden. Die Modelle werden als Spannen von einem festen Modell anstatt eines Oberflächen-Modells gespeichert.
  • Der Spannen-Prozessor wandelt die Display-Liste in eine Punkt- und Normalen-Display-Liste und speichert sie in einem Punkt- und Normalen-Display-Listenspeicher. Ein Benutzer verwendet Eingabevorrichtungen, um Ebenen, in denen die Strukturen in dem Modell, dreidimensionale Orientierung des Modells, geschnitten werden sollen, und Bildschirm-Schnittebenen zu wählen, die einen Workstation-Sichtbereich definieren. Eine Modell-Abschneide(Clipping)-Schaltung ermittelt Punkte innerhalb der Modell-Schnittebenen. Eine Drehschaltung dreht Punkt- und Normalen-Vektoren in der Punkte- und Normalen-Display-Liste und ermittelt eine Schattierung auf der Basis der Orientierung des Normalen-Vektors an jedem Punkt. Eine Schirm-Abschneide(Clipping)-Schaltung ermittelt Punkte innerhalb eines Bereiches, der durch Bildschirm-Schnittebenen definiert ist. Eine Display-Schaltung stellt ein dreidimensionales Bild von vielen Oberflächen dar, die sich innerhalb des gewünschten Display-Bereiches und der Bildschirm-Schnittebenen befinden. Die Workstation ist in der Lage, die Modelle als schattierte dreidimensionale Festkörperflächen bildlich darzustellen, die mit einer Geschwindigkeit von mehreren Malen pro Sekunde auf einer leistungsarmen Grafik-Workstation neu gezeichnet werden, was eine Nahezu-Realzeit-Manipulation gestattet.
  • Kurze Beschreibung der Zeichnungen
  • Die Erfindung wird nun mit weiteren Einzelheiten anhand von Ausführungsbeispielen unter Bezugnahme auf die Zeichnungen beschrieben, in denen:
  • 1 ein vereinfachtes Blockdiagramm von dem System gemäß der vorliegenden Erfindung ist;
  • 2 eine Darstellung von einem abzubildenden Modell ist, das eine Modell-Clipbox und eine Schirm-Clipbox gemäß der vorliegenden Erfindung schneidet;
  • 3 eine Schicht volumetrischer Daten zeigt, die einen Querschnitt durch ein Objekt darstellt, wobei eine Anzahl von Spannen und Abtastlinien der Datenschicht überlagert sind;
  • 4 eine Darstellung von „Nachbar"-Voxeln ist, die beim Berechnen eines Normalen-Vektors verwendet werden;
  • 5a und 5b zusammen ein Fließbild von dem Verfahren sind, durch das der Spannen-Prozessor die volumetrischen Daten in eine Display-Liste wandelt;
  • 6 ein hierarchisches Diagramm ist, das die Struktur der Display-Liste darstellt.
  • Detaillierte Beschreibung der Erfindung
  • In 1 gewinnt eine Bildgebungseinrichtung 10 dreidimensionale (3D) volumetrische Daten von einem Objekt 1, um einen Satz von dreidimensionalen volumetrischen Daten des Objektes 1 zu kreieren, die zu einem Spannen-Prozessor 32 geleitet werden. Der Spannen-Prozessor 32 tastet die volumetrischen Daten, die von der Bildgebungseinrichtung 10 erhalten werden, ab, um Grenzflächenpunkte (x, y, z) zwischen unterschiedlichen Materialtypen innerhalb der volumetrischen Daten zu ermitteln. Der Spannen-Prozessor 32 ermittelt den Beginn und das Ende von einem festen Abschnitt, der als eine Spanne definiert ist, und speichert eine Anzahl von Spannen als eine Display-Liste in dem Spannen-Speicher 30.
  • Für eine schnelle bildliche Darstellung wandelt der Spannen-Prozessor 32 die Display-Liste in ein geschlossenes Oberflächenmodell (nicht gezeigt), das von Punkten (x, y, z) und Normalen-Vektoren gebildet ist, die jedem Punkt zugeordnet sind (nx, ny, nz). Die Punkte- und Normalen-Display-Liste wird in dem Punkt- und Normalen-Display-Listenspeicher 20 der Beschleunigerkarte 5 gespeichert.
  • Viele Elemente der Beschleunigerkarte sind ähnlich den Elementen, die in dem US-Patent 4,985,834 mit der Bezeichnung „System and Method Employing Pipelined Parallel Circuit Architecture For Displaying Surface Structures of the Interior Region of a Solid Body" von Harvey E. Klein, Richard I. Hartley, Siegwalt Ludke und Sharbel E. Noujaim gezeigt und beschrieben sind, das am 15. Januar 1991 erteilt und auf die vorliegende Rechtsnachfolgerin übertragen wurde und durch diese Bezugnahme in die vorliegende Offenbarung eingeschlossen wird.
  • Es wird nun auf die 1 und 2 Bezug genommen; ein Benutzer betätigt eine Modell-Schnittebene-Eingabevorrichtung 40, um Schnitte durch ein bildlich darzustellendes Modell 2 zu wählen, wobei die Schnitte die Modell-Schnittebenen 206 sind. Diese Ebenen werden in wählen, wobei die Schnitte die Modell-Schnittebenen 206 sind. Diese Ebenen werden in Bezug auf das Modell 2 definiert und bleiben während der Rotation des Modells 2 in Bezug auf das Modell 2 fest. Der Benutzer betätigt eine Orientierungs-Eingabevorrichtung 50, um eine dreidimensionale Orientierung des Modells 2 im Raum zu wählen und betätigt eine Workstation-Sichteingabevorrichtung 60, um Schirmsichtebenen 212 als Schnitte durch das Modell 2 zu wählen. Die Schirmsichtebenen 212 bleiben in Bezug auf den Bildschirm des Monitors 250 und das X, Y, Z Koordinatensystem (Workstationraum) fest, sie ändern sich aber relativ zum Modell 2 und das X', Y', Z' Koordinatensystem (Modellraum), wenn das Modell gedreht wird. Die Parameter von den Eingabevorrichtungen 40, 50, 60 werden verwendet, um Abschnitte von dem 3D Modell zu manipulieren und bildlich darzustellen.
  • Eine Modell-Clipschaltung 70 empfängt die Modell-Schnittebenen 206 von der Eingabevorrichtung 40 und ermittelt eine Modell-Clipbox 208, die durch die Modell-Schnittebenen 206 definiert wird. Die Modell-Clipschaltung 70 vergleicht dann jeden Punkte (x, y, z) in dem Display-Listenspeicher 20, um zu ermitteln, ob er innerhalb der Modell-Clipbox 208 ist. Wenn ein Punkt (x, y, z) innerhalb der Modell-Clipbox 208 liegt, wird eine Wählleitung 80, die die Modell-Clipschaltung 70 und eine UND-Schaltung 220 verbindet, durch die Schaltung 70 auf „hoch" gesetzt.
  • Eine Drehschaltung 130 empfängt die Orientierungs-Eingabeparameter von der Orientierungs-Eingabevorrichtung 50 und erzeugt eine 4 × 4 Transformationsmatrix. Sowohl der Punkt (x, y, z) als auch der Normalen-Vektor (nx, ny, nz) werden durch die Drehschaltung 130 transformiert, um einen transformierten Punkt (x', y', z') 140 und eine Pixelintensität zu erhalten, die zur Schattierung des Bildes verwendet wird. Die Drehschaltung 130 transformiert den Punkt (x, y, z) und den Normalen-Vektor (nx, ny, nz) gemäß den folgenden Gleichungen: x' = m11x + m12y + m13z + m14 y' = m21x + m22y + m23z + m24 z' = M31x + M32y + m33z + m34 pix = m41nx + m42ny + m43nz wobei „m11 ... m43" Matrixelemente sind, die berechnet werden, um das Modell zu orientieren und zu verschieben, und pix ist die berechnete Pixelintensität, die zum Schattieren der Ober fläche verwendet ist. (Matrixelement m44 ist 0.) Die Drehschaltung 130 leitet die gedrehte Koordinate (x', y') entlang einem Adressbus 90 zu sowohl einem Tiefen-Pufferspeicher 180 als auch einem Bild-Pufferspeicher 190. Die Koordinate (x', y') wird als eine Adresse für beide Speicher verwendet. Die Drehschaltung 130 leitet auch die Pixelintensität pix entlang einem Bus 135 zu dem Bild-Pufferspeicher 190.
  • Eine Schirm-Clipschaltung 150 empfängt die Schirm-Sichtebenen 212 von der Workstation-Sichteingabevorrichtung 60 und kreiert eine Schirm-Clipbox 214 ähnlich der Modell-Clipbox 208, die aber in Bezug auf den Bildschirm des Monitors 250 stationär ist. Der transformierte Punkt (x', y', z') 140 wird mit der Schirm-Clipbox 214 im Raum der Workstation verglichen. Wenn der Punkt (x', y', z') 140 innerhalb der Schirm-Clipbox 214 ist, wird die Leitung 160, die die Schirm-Clipschaltung 150 mit einer UND-Schaltung 220 verbindet, durch eine Schaltung 150 auf „hoch" gesetzt.
  • Eine Display-Schaltung 7 stellt freiliegende Flächen von einem Bild dar, das von den transformierten Punkten innerhalb des gewünschten Bereiches kreiert ist. Das Bild ähnelt einem festen Objekt, wobei künstliche Flächen sichtbar sind, und Flächen, die hinter den künstlichen Flächen liegen, verdeckt sind. Die Display-Schaltung wird von dem Tiefen-Pufferspeicher 180, der UND-Schaltung 220, dem Bild-Pufferspeicher 190 und einer Vergleichsschaltung 210 gebildet.
  • Die Vergleichsschaltung 210 empfängt eine Tiefen-Koordinate z' entlang einem Bus 200 und vergleicht die Tiefe z' mit einem vorhandenen Wert in dem Tiefen-Puffer 180 an der Adresse (x', y'). Wenn die Tiefe z' des vorhandenen Punktes (x', y', z') näher an dem Betrachter ist (d. h. einen kleineren Wert hat) als die vorherige Tiefe, die in dem Tiefen-Pufferspeicher 180 an der Adresse (x', y') gespeichert ist, dann setzt die Vergleichsschaltung 210 eine Tiefen-Linie 202, die mit der UND-Schaltung 220 verbunden ist, auf „hoch".
  • Die UND-Schaltung 220 setzt eine „Aktualisierungs"-Linie 225, die sowohl mit dem Tiefen-Puffespeicher 180 als auch dem Bild-Pufferspeicher 190 verbunden ist, auf „hoch", wenn sie die Leitungen 80, 160 und 202 alle mit „hoch" abtastet, wodurch die Pixelintensität pix an der Adresse (x', y') des Bild-Pufferspeichers gespeichert wird, wodurch ein auf dem Monitor 250 dargestelltes Bild schattiert wird. Dies bewirkt auch, dass die Tiefe z' an der Adresse (x', y') des Tiefen-Pufferspeichers gespeichert wird, wodurch die gegenwärtige Tiefe an der Adresse (x', y') aktualisiert wird. Nachdem jede Display-Liste in dem Modell bearbeitet worden ist, wird das schattierte 3D-Bild zum Monitor 250 für eine bildliche Darstellung übertragen.
  • Wie in 1 gezeigt ist, empfängt der Spannen-Prozessor 32 eine Schicht von volumetrischen Daten, die ursprünglich von der Bildgebungseinrichtung 10 erhalten werden. Diese Schicht, wie sie in 3 gezeigt ist, bezieht sich auf eine Ebene von Daten, beispielsweise Daten für alle Werte von x und y Koordinaten, die eine konstante z-Koordinate haben, und stellt einen Schnitt durch das Objekt 1 dar.
  • Zunächst werden die volumetrischen Daten aus der Bildgebungseinrichtung (10 in 1) aufbereitet, indem die volumetrischen Daten in kleinere Würfel aufgespalten und zwei Zwischendatenschichten interpoliert werden, um aufbereitete Datenschichten zu erzeugen, die beim Berechnen von „Nachbar"-Voxeln verwendet werden. Eine nächste aufbereitete Datenschicht wird durch den Spannen-Prozessor 32 gemäß 1 interpoliert.
  • In 3 ist eine aufbereitete Datenschicht 300 gezeigt, die aus einem Material 303 aufgebaut ist, das sich von den angrenzenden Materialien 302 und 304 unterscheidet. Die Fläche 301 ist die Grenzfläche zwischen den Materialien 302 und 303. In ähnlicher Weise ist die Fläche 305 die Grenzfläche zwischen den Materialien 303 und 304, die alle in den aufbereiteten volumetrischen Daten enthalten sind. Alle Voxel entlang einer Linie in der x Richtung sind eine einzelne Abtastlinie, wie beispielsweise die Abtastlinie 350. Der Spannen-Prozessor verarbeitet Voxel einer Abtastlinie zu einer Zeit für eine gegebene y und z Koordinate, wie beispielsweise die Abtastlinie 310. Andere Abtastlinien 350 und 370 sind für andere y Koordinaten gezeigt. Der Spannen-Prozessor 32 ermittelt Volumenelemente oder „Voxel", die Flächen schneiden, wie beispielsweise die Voxel 320, 330 und 340, die die Fläche 305 schneiden. Diese werden als Grenzflächen-Voxel bezeichnet. Die Abtastlinie 310 wird von einer Spanne durch das Modell 300 gebildet, die am Voxel 320 beginnt und an Voxeln 330 und 340 endet, die ein festes Material 303 umschließen.
  • Eine Spanne ist ein Liniensegment innerhalb eines Modells, das durch eine Anzahl von Punkten und Normalen-Vektoren definiert ist, wobei die Abtastlinie die Flächen von dem Modell schneidet, selbst wenn die Flächen Innenflächen sind, wie beispielsweise die Fläche 301. Spannen definieren Punkte innerhalb des Festkörpers, anders als ein Oberflächenmodell, bei dem nur Punkte auf einer Fläche definiert sind.
  • Wenn ein Grenzflächen-Voxel ermittelt worden ist, muss sein Normalen-Vektor berechnet werden. Das Verfahren zum Berechnen der Normalen-Vektoren ist mit weiteren Einzelheiten in dem eingangs genannten „teilende Würfel"-Patent 4,719,585 erläutert. Kurz gesagt, erfordert dieses Verfahren, dass ein vorhandenes Voxel, das bearbeitet werden soll, gewählt und die „Nachbar"-Voxel zu dem vorhandenen Voxel gefunden werden. In 4 ist das Voxel 320, das das vorhandene oder gegenwärtige Voxel ist, in einer vergrößerten dreidimensionalen Ansicht mit „Nachbar"-Voxeln gezeigt. Die „Nachbar"-Voxel sind ein oberes Voxel 502, unmittelbar über dem vorhandenen Voxel, ein unteres Voxel 504, unmittelbar unter dem vorhandenen Voxel, ein vorderes 506 und hinteres Voxel 508 unmittelbar vor bzw. hinter dem vorhandenen Voxel, und ein linkes 510 und rechtes Voxel 512 unmittelbar links bzw. rechts von dem vorhandenen Voxel. Diese „Nachbar"-Voxel sind Dateneinträge aus den aufbereiteten Datenschichten.
  • Der Spannen-Prozessor 32 gemäß 1 findet einen Dateneintrag an jedem Punkt, der mit jedem „Nachbar"-Voxel in den aufbereiteten Datenschichten assoziiert ist, und interpoliert einen Voxelwert für jedes „Nachbar"-Voxel. Der Spannen-Prozessor 32 subtrahiert dann den unteren Voxelwert von dem oberen Voxelwert, um zu einer z Vektor-Differenz zu gelangen, dann subtrahiert er den rechten Voxelwert von dem linken Voxelwert, um zu einer x Vektor-Differenz zu gelangen, und dann subtrahiert er den vorderen Voxelwert von dem hinteren Voxelwert, um zu einer y Vektor-Differenz zu gelangen. Der Spannen-Prozessor 32 addiert dann die x, y und z Vektor-Differenzen, um zu einer Vektorsumme zu gelangen und normiert dann die Vektorsumme zu einem Einheitsvektor (nx, ny, nz) durch übliche Methoden. Jede der Differenzen, die aus den Subtraktionen von „Nachbar"-Voxeln erhalten werden, stellt einen Gradienten der Voxelwerte dar, und wenn sie addiert werden, gibt die Vektorsumme die Richtung von einer Vektor-Normalen auf die Oberfläche an.
  • Jede der Abtastlinien, wie beispielsweise die Abtastlinie 350 in 3, wird durch den Spannen-Prozessor bearbeitet. Somit sind Grenzflächen-Voxel für die Abtastlinie 350 die Voxel 255, 360, 362 und 364. Das Voxel 355 ist das erste Voxel der ersten Spanne in der Abtastlinie 350, und das Voxel 360 gibt das Ende von der ersten Spanne der gleichen Abtastlinie an. Das Voxel 362 gibt den Beginn von der zweiten Spanne in der Abtastlinie 350 an, wobei das Voxel 364 das Ende von der zweiten Spanne angibt. In ähnlicher Weise sind die Voxel, die Flächen in der Abtastlinie 370 schneiden, Voxel 380, 382, 384, 386 und 390. Da die Grenzflächen-Punkte wichtig bei der Erzeugung fester Modelle sind, und die übrigen Punkte aus den Grenzflächen-Punkten erzeugt werden können, müssen nur die Grenzflächen-Punkte gespeichert werden, um ein festes Modell zu kreieren.
  • Der Spannen-Prozessor 32 gemäß 1 verdichtet (kondensiert) volumetrische Daten zu einer Display-Liste und speichert die Liste in dem Spannen-Speicher 30 in 1 gemäß den Schritten des Fließbildes der 5a und 5b, wobei Punkte A, B und C in 5a mit Punkten A, B bzw. C in 5b verbunden sind. Volumendaten aus der Bildgebungseinrichtung 10 in 1 werden interpoliert, um zwei aufbereitete Datenschichten aus den empfangenen Volumendaten im Schritt 602 zu kreieren. An Schritten 604 und 606 wird die erste Datenschicht, die allen x und y Orten für einen ersten z Ort entspricht, gewählt. Aufbereitete Daten für die nächste Schicht, die beim Definieren von „Nachbar"-Voxeln verwendet wird, werden am Schritt 608 interpoliert. Am Schritt 610 wird ein Zähler nAbtastungen auf die erste Abtastung gesetzt und die erste Abtastlinie wird am Schritt 612 gewählt. Am Schritt 614 wird ein Zähler, der die Anzahl von Abtastungen pro vorhandener Abtastlinie zählt, zurückgesetzt. Am Schritt 616 wird ein erstes Voxel in der vorhandenen Abtastlinie der vorhandenen Datenschicht gewählt und am Schritt 618 abgefragt, um zu ermitteln, ob es an einer Grenzfläche zwischen zwei unterschiedlichen Materialien ist. Wenn das vorhandene Voxel nicht ein Grenzflächen-Voxel ist, wird am Schritt 620 eine Ermittlung gemacht, ob das vorhandene Voxel das letzte Voxel in der Abtastlinie ist. Wenn das vorhandene Voxel nicht das letzte Voxel in der vorhandenen Abtastlinie ist, wird ein nächstes Voxel als das vorhandene Voxel am Schritt 622 gewählt, und die Bearbeitung setzt sich am Schritt 618 fort. Wenn das vorhandene Voxel das letzte Voxel in der vorhandenen Abtastlinie ist, wird ein Zählwert, der die Spannenzahl nSpannen darstellt, am Schritt 624 in einem temporären Speicher gespeichert, der ein unbenutzter Abschnitt von entweder dem Punkt- und Normalen-Display-Speicher 20 oder dem Spannen-Speicher 30 in 1 ist. Es werden nur Zählwerte, die einen nicht-leeren Satz darstellen, gespeichert.
  • Wenn das vorhandene Voxel ein Grenzflächen-Voxel ist, werden Nachbar-Voxel am Schritt 626 gefunden. Eine z Vektor-Differenz wird berechnet, indem der obere Voxelwert von dem unteren Voxelwert am Schritt 628 subtrahiert wird. Eine x Vektor-Differenz wird berechnet, indem der rechte Voxelwert von dem linken Voxelwert am Schritt 630 subtrahiert wird. Eine y Vektor-Differenz wird berechnet, indem der hintere Voxelwert von dem vorderen Voxelwert am Schritt 632 subtrahiert wird. Am Schritt 634 wird eine Vektor-Addition ausgeführt, indem die z, x und y Vektor-Differenzen addiert werden, um zu einer Vektorsumme zu gelangen. Die Vektorsumme wird am Schritt 636 normiert, um einen Einheitsvektor (nx, ny, nz) normal zur Fläche am Punkt (x,y,z) innerhalb des vorhandenen Voxels zur Folge zu haben. Am Schritt 640 wird die x Koordinate und der Normalen-Vektor (nx, ny, nz) des vorhandenen Voxels in dem temporären Speicher gespeichert.
  • Am Schritt 642 wird ermittelt, ob das vorhandene Voxel das letzte Voxel in der Spanne ist. Wenn das vorhandene Voxel das letzte Voxel in der Spanne ist, speichert ein Zähler, der die Voxelzahl nVoxel in der Spanne zählt, diese Zahl in dem temporären Speicher am Schritt 646 und wird am Schritt 648 zurückgesetzt; ein Zähler, der die Anzahl von Spannen in einer Abtastlinie darstellt, wird inkrementiert, und die Bearbeitung setzt sich am Schritt 620 fort.
  • Wenn das vorhandene Voxel nicht das letzte Voxel in der Spanne ist, wird der Zähler am Schritt 644 inkrementiert, und die Bearbeitung setzt sich am Schritt 620 fort.
  • Am Schritt 624 wird ein Zählwert nSpannen, der die Anzahl von Spannen in einer Abtastlinie darstellt, in dem temporären Speicher gespeichert. Am Schritt 652 wird eine Ermittlung gemacht, ob die vorhandene Abtastlinie die letzte Abtastlinie in der vorhandenen Datenschicht ist. Wenn die vorhandene Abtastlinie die letzte Abtastlinie ist, wird der Zählwert, der die Zahl nAbtastungen der Abtastlinien darstellt, in dem temporären Speicher am Schritt 660 gespeichert, und die Bearbeitung setzt sich am Schritt 662 fort.
  • Wenn die vorhandene oder gegenwärtige Abtastlinie nicht die letzte Abtastlinie ist und wenigstens ein schneidendes Voxel in der vorhandenen Abtastlinie gefunden wurde, wird der Zähler nAbtastungen inkrementiert und die y Koordinate wird am Schritt 656 in dem temporären Speicher gespeichert. Am Schritt 658 wird die y Koordinate inkrementiert, wodurch die nächste Abtastlinie zu der vorhandenen Abtastlinie gemacht wird, und die Bearbeitung setzt sich am Schritt 616 fort.
  • Am Schritt 662 wird eine Ermittlung gemacht, ob die vorhandene Datenschicht die letzte Datenschicht ist. Wenn die vorhandene Datenschicht nicht die letzte Datenschicht ist, wird ein Zähler nSchichten inkrementiert, wenn wenigstens ein schneidendes Voxel in der vorhandenen Datenschicht gefunden worden ist. Die z Koordinate wird inkrementiert, damit die nächste Datenschicht die vorhandene Schicht ist, und die Bearbeitung setzt sich am Schritt 608 fort.
  • Wenn die vorhandene Datenschicht die letzte Datenschicht ist, wird der Zählwert nSchichten, der die Anzahl von Schichten mit wenigstens einem Grenzflächen-Voxel darstellt, am Schritt 668 in dem temporären Speicher gespeichert.
  • Schließlich werden am Schritt 670 die in dem temporären Speicher gespeicherten Daten neu geordnet und in dem hierarchischen Format gemäß 6 in dem Spannen-Speicher 30 in 1 gespeichert.
  • Die hierarchische Struktur gemäß 6 eliminiert viel von den redundanten Daten und gestattet, dass die Flächeninformation in einer kompakten Form gespeichert werden kann, wodurch die Größe des erforderlichen Speichers verkleinert wird. Die Display-Liste enthält eine Anzahl von Schichten oder Schichtendatensätze, die gleich nSchichten sind. Jeder Schichtendatensatz hat eine besondere z Koordinate. Jeder Abtastlinien-Datensatz ist von einer Anzahl von Spannen gebildet, die gleich nSpannen ist, jede an einer besonderen y Koordinate für eine Datenschicht. Jede Spanne hat eine Anzahl von schneidenden Voxeln, die gleich nVoxel ist. Jedes schneidende Voxel hat einen zugeordneten Normalen-Vektor und eine besondere x Koordinate für eine gegebene Abtastlinie. Indem die Daten in der in 6 gezeigten Ordnung gespeichert werden, werden nur eine x Koordinate und ein Normalen-Vektor für jedes Voxel von einer Spanne wiederholt, anstelle von allen x, y, z Koordinaten und Normalen-Vektoren, wodurch der erforderliche Speicher verkleinert wird. In ähnlicher Weise muss nur eine y Koordinate für jeden Abtastlinien-Datensatz gespeichert werden, und eine z Koordinate muss für jeden Schichtdatensatz gespeichert werden. Punkte, die nicht Grenzflächen-Punkte sind, werden nicht gespeichert, wodurch der erforderliche Speicher weiter verkleinert wird.
  • Es wird nun auf die 1 und 6 Bezug genommen; der Spannen-Prozessor 32 wandelt die Display-Liste in eine Punkte- und Normalen-Display-Liste, die in dem Punkt- und Nor malen-Display-Listenspeicher 20 der Beschleunigerkarte 5 zu speichern ist. Der Spannen-Prozessor 32 liest zunächst den Wert nSchichten aus dem Spannen-Speicher 30, der die Anzahl von Datenschichten in der Display-Liste darstellt. Für die erste Datenschicht liest der Spannen-Prozessor 32 als nächstes nAbtastungen, die die Anzahl von Abtastlinien in der Datenschicht darstellt, zusammen mit der z Koordinate für diese Datenschicht aus dem Spannen-Speicher 30. Der Spannen-Prozessor 32 liest dann die y Koordinate und die Anzahl von Spannen, nSpannen, in der ersten Abtastlinie. Der Spannen-Prozessor 32 liest als nächstes die Anzahl von Voxeln, nVoxel, die in der ersten Spanne enthalten sind, und liest eine x Koordinate und einen Normalen-Vektor für jedes Voxel in der Spanne aus dem Spannen-Speicher 30. Der Spannen-Prozessor 32 interpoliert linear die Koordinaten und Normalen-Vektoren der in regelmäßigen Abständen angeordneten Zwischenpunkte aus den Punkten und Normalen-Vektoren (nx, ny, nz) der vorhandenen Spanne. Die entstehenden Zwischenpunkte und Normalen-Vektoren werden in dem Display-Listenspeicher 30 für eine schnelle Rasterung gespeichert.
  • Der Spannen-Prozessor 32 wiederholt diesen Prozess für alle Spannen, nSpannen, in einer Abtastlinie, für alle Abtastlinien, nAbtastungen, in einer Datenschicht und für alle Datenschichten, nSchichten, in der Display-Liste. Nachdem alle volumetrischen Daten durch den Spannen-Prozessor 32 abgetastet und als eine Display-Liste in dem Spannen-Speicher 30 gespeichert worden sind, können feste Modelle generiert und in Nahezu-Realzeit manipuliert werden.
  • Da die durch die vorliegende Erfindung kreierten Modelle festen Modellen besser ähneln als leere Oberflächenmodelle, können sie geschnitten und schneller mit anderen Festkörpern durchdrungen werden, und zwar ohne die Ungewissheit von bekannten Methoden, was ein effizientes Festkörper-Manipulationswerkzeug zur Folge hat.
  • Es sind zwar mehrere gegenwärtig bevorzugte Ausführungsbeispiele der Erfindung im Detail beschrieben worden, aber für den Fachmann ergeben sich viele Modifikationen und Variationen. Es ist deshalb klar, dass die beigefügten Ansprüche alle derartigen Modifikationen und Variationen umfassen sollen, soweit sie in den Schutzumfang der beanspruchten Erfindung fallen.

Claims (5)

  1. Graphik-Workstation zum Handhaben eines volumetrischen Datensatzes zum bildlichen Darstellen von dreidimensionalen Oberflächenbildern von einem Objekt, das durch den Datensatz dargestellt werden soll, enthaltend eine erste Eingabevorrichtung (40) zum Definieren von Modellschnittebenen des Objektes, eine zweite Eingabevorrichtung (50) zum Definieren einer dreidimensionalen Orientierung des Objektes im Raum, eine dritte Eingabevorrichtung (60) zum Definieren von durch das Objekt zu schneidenden Schirmansichtenebenen und einen Monitor (250) zum Darstellen von graphischen Bildern, gekennzeichnet durch a) einen Spannen-Speicher (30) zum Empfangen und Speichern des volumetrischen Datensatzes, der durch die Daten aus den ersten, zweiten und dritten Eingabevorrichtungen erzeugt ist, b) einen Spannen-Prozessor (32) zum Empfangen des volumetrischen Datensatzes und zum Bearbeiten des volumetrischen Datensatzes, um eine Spannen-Liste zu kreieren, die kompakter als der volumetrische Datensatz ist, wobei der Spannen-Prozessor Mittel zum Speichern des Datensatzes im Spannen-Speicher, zum Lesen der Spannen-Liste aus dem Spannen-Listen-Speicher und zum Wandeln der Spannen-Liste in eine Punkt- und Normalen-Display-Liste (20) hat, die von Punkt- (x', y', z') und entsprechenden Normalvektoren (nx, ny, nz) gebildet ist, und enthaltend i) Mittel zum Lesen eines Wertes aus dem Spannen-Speicher, der die Anzahl von Abtastlinien anzeigt, ii) Mittel zum Lesen einer y Koordinate für eine Abtastlinie und einer Anzahl von Spannen in dieser Abatstlinie aus dem Spannen-Speicher, iii) Mittel zum Lesen eines Wertes aus dem Spannen-Speicher, der die Anzahl von Voxeln in dieser Spanne anzeigt, iv) Mittel zum Lesen eines Ortes entlang der Abtastlinie und eines Normalen-Vektors (nx, ny, nz) für alle Voxel in jeder Spanne, v) Mittel zum linearen Interpolieren eines Satzes von in regelmässigen Abständen angeordneten Koordinaten für einen Satz von Zwischenpunkten zwischen den Koordinaten für diese Spanne, vi) Mittel zum linearen Interpolieren eines Normalen-Vektors für jeden Zwischenpunkt von den Normalen-Vektoren (nx, ny, nz), die für die vorliegende Spanne gelesen sind, vii) Mittel zum Speichern der interpolierten Koordinaten zusammen mit entsprechenden Normalen-Vektoren als einen Display-Listen-Speicher zum schnellen Rastern, viii) Mittel zum Wiederholen der Schritte "iii"–"vii" für alle Spannen in dieser Abtastlinie und ix) Mittel zum Wiederholen der Schritte "ii"–"vii" für alle Abtastlinien in dem Datensatz und c) eine Beschleunigerkarte (5), die einen Tiefenpuffer (180) verwendet, wobei die Beschleunigerkarte geeigenet ist zum Empfang (10) der Modellschnittebenen, der dreidimensionalen Orientierung (130), der Schirmansichtenebenen (150) und der Punkt- und Normalen-Display-Liste und in der Lage ist, ein dreidimensionales schattiertes Bild von einer geschlossenen Oberfläche aus der Punkt- und Normalen-Display-Liste gemäß den Modellschnittebenen, der dreidimensionalen Orientierung und der Schirmansichtenebenen zu kreieren und das Bild mit einer Geschwindigkeit von mehreren Malen pro Sekunde auf dem Monitor darzustellen.
  2. Graphik-Workstation nach Anspruch 1, wobei die Beschleunigerkarte enthält: a) einen Punkt- und Normalen-Display-Listen-Speicher (20), der Punkt- und Normalen-Display-Listen speichern kann, b) eine Modell-Clipping-Schaltung (70), die auf den Punkt- und Normalen-Display-Listen-Speicher und die erste Eingabevorrichtung (40) anspricht zum Kreieren eines Signals, das anzeigt, wann ein Punkt (x, y, z) innerhalb eines Bereiches ist, der durch Modellschnittebenen spezifiziert ist, die durch die erste Eingabevorrichtung definiert sind, c) eine Drehschaltung (130), die auf den Punkt- und Normalen-Display-Listen-Speicher (20) und die zweite Eingabevorrichtung (50) anspricht, zum Transformieren jedes Punktes (x, y, z) und Normalen-Vektors (nx, ny, nz) in der Punkt- und Normalen-Display-Liste gemäß der dreidimensionalen Orientierung, die von der zweiten Eingabevorrichtung empfangen ist, und einem transformierten Punkt (x', y', z'), der eine Adresse (x', y'), eine Tiefe Z und eine Pixelintensität pix hat, d) eine Schirm-Clipping-Schaltung (150), die auf die Drehschaltung (130) und die dritte Eingabevorrichtung (60) anspricht, zum Kreieren eines Signals, das anzeigt, wenn ein transformierter Punkt (x', y', z') innerhalb des Bereiches ist, der durch die Schirmansichtenebenen definiert ist, die von der dritten Eingabevorrichtung empfangen sind, e) eine Display-Schaltung (180, 210, 220, 190) zum Formen eines dreidimensionalen (M) Bildes mit vielen Oberflächen von dem transformierten Punkt (x', y', z') und der Pixelin tensität, pix, als Antwort auf Signale, die von den Modell-Clipping- und Schirm-Clipping-Schaltungen empfangen sind, und zum Leiten des darzustellenden Bildes zum Monitor.
  3. Graphik-Workstation nach Anspruch 1 oder 2, wobei die Display-Schaltung enthält: a) einen Tiefen-Pufferspeicher (180), der mit der Drehschaltung (130) gekoppelt ist, zum Empfangen einer Adresse (x', y') von der Drehschaltung und zum Speichern einer Tiefe an der Adresse (x', y'), b) eine Vergleichsschaltung (210), die mit der Drehschaltung (130) und dem Tiefen-Pufferspeicher (180) gekoppelt ist (200), wobei die Vergleichsschaltung in der Lage ist zum (1) Empfangen eines Signals, das die Tiefe z' von der Drehschaltung darstellt, (2) Lesen der vorhandenen Tiefe, die in der Adresse (x', y') des Tiefen-Pufferspeichers gespeichert ist, und Vergleichen derselben mit der Tiefe z', die von der Drehschaltung empfangen ist, und (3) Kreieren eines Signals, das anzeigt, ob die Tiefe z' näher an dem Benutzer ist als die vorhandene Tiefe, die in dem Tiefen-Pufferspeicher gespeichert ist, c) und eine UND-Schaltung (220), die in der Lage ist zum (1) Empfangen eines Signals von der Modell-Clipping-Schaltung, das anzeigt, wenn der Punkt (x', y', z') innerhalb des Bereiches ist, der durch die Modellschnittebenen definiert ist, (2) Empfangen eines Signals von der Schirm-Clipping-Schaltung, das anzeigt, wenn der Punkt (x', y', z') innerhalb des Bereiches ist, der durch die Schirmansichtenebenen definiert ist, und (3) Empfangen des Signals von der Vergleichsschaltung und (4) Kreieren eines Aktualisierungssignals, das anzeigt, wenn ein Punkt (x', y', z') in den beiden Bereichen ist, die durch die Modell-Schnittebenen und die Schirmansichtenebenen definiert sind, und eine Tiefe z' hat, die kleiner als die Tiefe in dem Tiefen-Pufferspeicher an der Adresse (x', y') ist, und d) einen Bild-Pufferspeicher (190) mit einer Adresse, die jedem Punkt des Display-Monitors entspricht, wobei der Bild-Pufferspeicher in der Lage ist, die Adresse (x', y') und das Signal zu empfangen, das die Pixelintensität pix von der Drehschaltung anzeigt, das Aktualisierungssignal zu empfangen, das durch die UND-Schaltung kreiert ist, und die Pixelintenstät pix an der Adresse (x', y') zu speichern, die ein auf dem Monitor darzustellendes Bild kreiert.
  4. Graphik-Workstation nach einem der Ansprüche 1 bis 3, die eine dreidimensionale Bildgebungseinrichtung enthält und eine aus der Gruppe, die aus einem Positronemissions-Tomographiesystem, einem Magnetresonanz-Bildgebungssystem, einem Computer-Axial-Tomographiesystem, einem dreidimensionalen Ultraschallsystem und einem dreidimensionalen RADAR System besteht, und eine dreidimensionale digitale Datenquelle aufweist zum Liefern volumetrischer Daten, um das Oberflächenmodell zu definieren.
  5. Verfahren zum Wandeln einer Spannen-Liste in eine Punkt- und Normalen-Display-Liste, wobei die Spannen-Liste Spannen listet, die Liniensegments enthalten, wo die Abtastlinie die Oberflächen von einem Modell schneidet, wobei das Verfahren die Schritte enthält: a) Lesen eines Wertes aus dem Spannen-Speicher, der die Anzahl von Abtastlinien anzeigt, b) Lesen einer y Koordinate für eine Abtastlinie und eine Anzahl von Spannen in dieser Abtastlinie aus dem Spannen-Speicher, c) Lesen eines Wertes aus dem Spannen-Speicher, der die Anzahl von Voxeln in dieser Spanne anzeigt, d) Lesen eines Ortes entlang der Abtastlinie und eines Normalen-Vektors (nx, ny, nz) für alle Voxel in jeder Spanne, e) lineares Interpolieren eines Satzes von in regelmäßigen Abständen angeordneten Koordinaten für einen Satz von Zwischenpunkten zwischen den Koordinaten für diese Spanne, f) lineares Interpolieren eines Normalen-Vektors für jeden Zwischenpunkt aus den Normalen-Vektoren (nx, ny, nz), die für die vorhandene Spanne gelesen sind, g) Speichern der interpolierten Koordinaten zusammen mit entsprechenden Normalen-Vektoren als einen Display-Listen-Speicher für eine schnelle Rasterung, h) Wiederholen der Schritte "c"–"g" für alle Spannen in dieser Abtastlinie und i) Wiederholen der Schritte "b"–"h" für alle Abtastlinien in dem Datensatz.
DE69233043T 1991-12-23 1992-12-09 Erzeugung von Festkörpermodellen mit dem Spannverfahren unter Anwendung von Würfelteilung Expired - Lifetime DE69233043T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US81247991A 1991-12-23 1991-12-23
US812479 1991-12-23

Publications (2)

Publication Number Publication Date
DE69233043D1 DE69233043D1 (de) 2003-06-12
DE69233043T2 true DE69233043T2 (de) 2004-03-18

Family

ID=25209689

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69233043T Expired - Lifetime DE69233043T2 (de) 1991-12-23 1992-12-09 Erzeugung von Festkörpermodellen mit dem Spannverfahren unter Anwendung von Würfelteilung

Country Status (3)

Country Link
EP (1) EP0549189B1 (de)
JP (1) JPH087801B2 (de)
DE (1) DE69233043T2 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230177772A1 (en) * 2021-12-06 2023-06-08 Dillon Edward Thompson Rules of interaction of the 3D Golden Rhombus

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0204225B1 (de) * 1985-06-05 1994-12-14 General Electric Company Anlage und Verfahren zur Anzeige von im Inneren eines Festkörpers eingeschlossenen Oberflächenstrukturen
US4719585A (en) * 1985-08-28 1988-01-12 General Electric Company Dividing cubes system and method for the display of surface structures contained within the interior region of a solid body
US4984157A (en) * 1988-09-21 1991-01-08 General Electric Company System and method for displaying oblique planar cross sections of a solid body using tri-linear interpolation to determine pixel position dataes
US4985834A (en) * 1988-11-22 1991-01-15 General Electric Company System and method employing pipelined parallel circuit architecture for displaying surface structures of the interior region of a solid body
JPH02173878A (ja) * 1988-12-27 1990-07-05 Toshiba Corp 3次元断面表示装置

Also Published As

Publication number Publication date
EP0549189B1 (de) 2003-05-07
DE69233043D1 (de) 2003-06-12
JPH087801B2 (ja) 1996-01-29
JPH06131472A (ja) 1994-05-13
EP0549189A3 (de) 1994-02-16
EP0549189A2 (de) 1993-06-30

Similar Documents

Publication Publication Date Title
DE3855040T2 (de) Bildverarbeitungsverfahren und -gerät
DE69029982T2 (de) Verfahren und Geräte zur dreidimensionalen Bilderzeugung
DE3689399T2 (de) Kubusteilungssystem und Verfahren zur Anzeige von im Innengebiet eines massiven Körpers enthaltenen Flächenstrukturen.
DE3650169T2 (de) Anlage und Verfahren zur Anzeige von im Inneren eines Festkörpers eingeschlossenen Oberflächenstrukturen.
DE3751300T2 (de) Verfahren und Vorrichtung zur dreidimensionalen Konnektivi- tätsbestimmung von zusammenhängenden Unterstrukturen in einem Körper unter Verwendung einer Äquivalenzrelation.
DE102005023964A1 (de) Volumenvisualisierung mittels Texturverschiebung
DE3789650T2 (de) Verfahren und System zur Festkörpermodellierung.
DE112004000377B4 (de) Verfahren und Vorrichtung Bildsegmentierung in einer dreidimensionalen Arbeitsumgebung
DE3832222A1 (de) Vorrichtung und verfahren zum anzeigen eines 2-dimensionalen bildes eines 3-dimensionalen gegenstandes
DE19807053B4 (de) Strahltransformationsverfahren für eine schnelle Volumenaufbereitung für eine perspektivische Betrachtung
DE3712639A1 (de) Verfahren und einrichtung zum abbilden von volumendaten
DE69921608T2 (de) Verfahren und vorrichtung zum zoomen von digitalen bilddateien
EP0829822B1 (de) Verfahren zur Anzeige von geometrischen Objektoberflächen
DE69916808T2 (de) Verfahren und system zur strahlverfolgung
DE102017214447B4 (de) Planare Visualisierung von anatomischen Strukturen
DE102008050449A1 (de) Clipping Geometrien beim Raycasting
DE102007050615B4 (de) Brick-basierter Fusionsrenderer
DE102008050049A1 (de) Verfahren zur Bestimmung einer die Objektgrenze eines Objekts in einem digitalen 3D-Datensatz annähernden 3D-Oberfläche
DE3854960T2 (de) Vorrichtung und Verfahren zur tomographischen Datenverarbeitung
DE69935768T2 (de) Herleitung einer isofläche in einem mehrdimensionalen datenfeld
EP3155597B1 (de) Reformatierung unter berücksichtigung der anatomie eines zu untersuchenden objekts
DE69814482T2 (de) Verfahren und Vorrichtung zur Darstellung von Oberflächen aus volumetrischen Daten
DE69934562T2 (de) Oberflächensichtbarmachung aus volumetrischen Daten unter Verwendung von Würfelteilung und -Streckung
DE69816469T2 (de) Verfahren und vorrichtung zur schnellen wiedergabe eines bildes in abhängigkeit von dreidimensionalen graphikdaten in einer umgebung mit begrenzter datengeschwindigkeit
DE68928373T2 (de) Vorrichtung und Verfahren zur Ermittlung von inneren Strukturen innerhalb eines festen Objekts

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: ROEGER UND KOLLEGEN, 73728 ESSLINGEN

R071 Expiry of right

Ref document number: 549189

Country of ref document: EP