DE112016007098T5 - Indexierung von voxeln für das 3d-drucken - Google Patents
Indexierung von voxeln für das 3d-drucken Download PDFInfo
- Publication number
- DE112016007098T5 DE112016007098T5 DE112016007098.5T DE112016007098T DE112016007098T5 DE 112016007098 T5 DE112016007098 T5 DE 112016007098T5 DE 112016007098 T DE112016007098 T DE 112016007098T DE 112016007098 T5 DE112016007098 T5 DE 112016007098T5
- Authority
- DE
- Germany
- Prior art keywords
- quadtree
- octree
- depth
- index
- node
- 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.)
- Pending
Links
- 238000007639 printing Methods 0.000 title description 6
- 238000003860 storage Methods 0.000 claims abstract description 28
- 238000000034 method Methods 0.000 claims description 64
- 238000010146 3D printing Methods 0.000 claims description 15
- 238000012216 screening Methods 0.000 claims description 7
- 239000000463 material Substances 0.000 description 19
- 238000010586 diagram Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 12
- 239000003550 marker Substances 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 238000007667 floating Methods 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000011960 computer-aided design Methods 0.000 description 2
- 238000009792 diffusion process Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013517 stratification Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000010100 freeform fabrication Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
Images
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/005—Tree description, e.g. octree, quadtree
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B33—ADDITIVE MANUFACTURING TECHNOLOGY
- B33Y—ADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
- B33Y50/00—Data acquisition or data processing for additive manufacturing
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B29—WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
- B29C—SHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
- B29C64/00—Additive manufacturing, i.e. manufacturing of three-dimensional [3D] objects by additive deposition, additive agglomeration or additive layering, e.g. by 3D printing, stereolithography or selective laser sintering
- B29C64/30—Auxiliary operations or equipment
- B29C64/386—Data acquisition or data processing for additive manufacturing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9027—Trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/40—Tree coding, e.g. quadtree, octree
Abstract
Ein Beispiel umfasst ein nicht transitorisches maschinenlesbares Speichermedium, das in einem Octree organisierte Voxel und mindestens einen Quadtree-Index aufweist. Der Octree definiert ein zu druckendes dreidimensionales Objekt und weist eine Liste von Knoten für jede Tiefe des Octrees auf, wobei jeder Knoten einen mindestens ein Voxel darstellenden Knoteninhalt aufweist. Der mindestens eine Quadtree-Index dient zum Indexieren mindestens eines Knotens des Octrees und hat eine Tiefe, die kleiner als oder gleich einer maximalen aufgelösten Tiefe ist. Der mindestens eine Quadtree-Index ist durch computerausführbare Anweisungen zugänglich, um den Knoteninhalt von dem Octree abzurufen, um einen Prozessor zum Bearbeiten des zu druckenden dreidimensionalen Objekts anzusteuern.
Description
- Hintergrund
- Drucktechnologien können dazu verwendet werden, dreidimensionale Objekte aus von einer computergesteuerten Modellquelle ausgegebenen Daten zu bilden. Zum Beispiel kann ein dreidimensionales Objekt unter Verwendung eines Computerprogramms gestaltet werden (z. B. einer computerunterstützten Konstruktions-Anwendung (CAD)), und der Computer kann die Daten der Konstruktion an ein Druckersystem ausgeben, das in der Lage ist, das räumlich dreidimensionale Objekt nachzubilden. Die räumliche Freiform-Herstellung (oder schichtweise Herstellung) kann allgemein als eine Fabrikationstechnologie definiert werden, die zum Aufbauen eines dreidimensionalen Objekts unter Verwendung einer schichtweisen oder punktweisen Herstellung verwendet wird. Mit diesem Herstellungsverfahren können komplexe Formen ohne die Verwendung eines vorab angefertigten Werkzeugs oder einer entsprechenden Gießform gebildet werden.
- Figurenliste
-
-
1 ist ein Blockdiagramm, das ein Beispiel eines Bearbeitungssystems für das dreidimensionale Drucken zeigt. -
2 ist ein Diagramm, das ein Beispiel einer Octree-Darstellung zeigt. - Die
3A-3D sind Diagramme, die jede Tiefe der beispielhaften Octree-Darstellung von2 zeigen. -
4A ist ein Diagramm, das ein Beispiel für die quaternäre Knotennummerierungsregel darstellt. -
4B ist ein Diagramm, das ein Beispiel für die Zuordnung eines Quadtree-Indexes zu einem Quadtree darstellt. -
5 ist ein Flussdiagramm, das ein Beispiel für ein Verfahren zum Erzeugen von Quadtree-Indizes für einen Octree darstellt. -
6 ist ein Flussdiagramm, das ein weiteres Beispiel für ein Verfahren zum Erzeugen von Quadtree-Indizes für einen Octree darstellt. -
7 ist ein Flussdiagramm, das ein Beispiel für ein Verfahren zum Bearbeiten eines Objekts zum dreidimensionalen Drucken darstellt. -
8 ist ein Diagramm, das ein Beispiel für normalisierte Z-Koordinaten darstellt, wobei angegeben ist, welche z-Schichten eines Objekts durch jeden Quadtree-Index definiert sind. -
9 ist ein Flussdiagramm, das ein weiteres Beispiel für ein Verfahren zum Bearbeiten eines Objekts zum dreidimensionalen Drucken darstellt. -
10 ist ein Flussdiagramm, das ein Beispiel für ein Verfahren zum Anfertigen eines zu druckenden Bilds darstellt. -
11 ist ein Diagramm, das ein Beispiel für ein zu druckendes Bild darstellt. -
12 ist ein Flussdiagramm, das ein Beispiel für ein Verfahren zum Ausführen der Mikro-Schichtbildung von9 darstellt. - Ausführliche Beschreibung
- In der folgenden ausführlichen Beschreibung wird Bezug auf die beigefügten Zeichnungen genommen, die einen Teil hiervon bilden, und in denen illustrativ spezifische Beispiele dafür gezeigt werden, wie die Offenbarung ausgeführt werden kann. Es versteht sich, dass auch andere Beispiele verwendet werden können, und strukturelle oder logische Änderungen vorgenommen werden können, ohne vom Schutzbereich der vorliegenden Offenbarung abzuweichen. Die folgende ausführliche Beschreibung ist daher nicht in einem einschränkenden Sinn anzusehen, und der Schutzbereich der vorliegenden Offenbarung ist durch die angehängten Ansprüche definiert. Es versteht sich, dass Merkmale der diversen hierin beschriebenen Beispiele teilweise oder insgesamt miteinander kombiniert werden können, falls nicht ausdrücklich anders angemerkt.
- Heterogene Objekte sind dreidimensionale (3D-) Objekte, deren inneres Volumen aus verschiedenen Materialien besteht (wobei Leerbereiche als eigenständiger Materialtyp angesehen werden können), um Gestaltungsziele zu erfüllen (z. B. leichtes Gewicht, Verarbeitungskompensation). Zum Beispiel kann durch räumliches Anordnen verschiedener Materialien und leerer Bereiche eine heterogene Struktur erhalten werden, die mechanische Eigenschaften aufweist, die über die der Grundmaterialien allein hinausgehen.
- Ein praktisches Mittel zum Herstellen heterogener Objekte ist das 3D-Drucken. Das Dokumentieren und Verarbeiten heterogener Objekte (z. B. nach der Konstruktion und vor dem Drucken) kann jedoch sehr detaillierte Kenntnisse der Gestaltung des inneren Volumens der Objekte erfordern. Es besteht eine Herausforderung an den Rechenumfang, um die sehr detaillierte 3D-Beschreibung des Objekts zu liefern und die Beschränkungen für die Laufzeit und Lagerung zu berücksichtigen, insbesondere in einer industriellen Umgebung, wo die Objekte groß und komplex sein können, und schließlich besteht auch eine Anforderung bezüglich der Gesamtverabeitungsmenge im Licht der Wirtschaftlichkeit der Industrieanlage.
- Entsprechend wird, wie hierin offenbart, eine hierarchische Datenstruktur zum Beschleunigen der Verarbeitung (z. B. Schichtbildung, Kompensieren von systematischen Verschiebungen wegen des physikalischen Prozesses der geschichteten Herstellung) eines Objekts für den 3D-Druck beschrieben. Die Datenstruktur weist einen Satz von in einem Octree organisierten Voxeln, die ein zu druckendes Objekt definieren, wobei jeder Knoten des Octrees mindestens ein Voxel darstellt, und eine Liste von Knoten des Octrees indexierenden Quadtree-Indizes auf, um zu ermöglichen, dass jeder indexierte Knoten des Octrees individuell adressierbar ist. Die Quadtree-Indizes können bis in eine maximale aufgelöste Tiefe aufgelöst sein, die kleiner als oder gleich der Tiefe des Octrees ist. Je größer die maximale aufgelöste Tiefe ist, desto größer ist der Umfang der Liste von Quadtree-Indizes und desto niedriger ist die Laufzeitlatenz, wenn auf die Liste von Quadtree-Indizes zum 3D-Druck des Objekts zugegriffen wird. Je kleiner die maximale aufgelöste Tiefe ist, desto kleiner ist der Umfang der Liste von Quadtree-Indizes und desto größer ist die Laufzeitlatenz, wenn auf die Liste von Quadtree-Indizes zum 3D-Druck des Objekts zugegriffen wird.
-
1 ist ein Blockdiagramm, das ein Beispiel für ein Bearbeitungssystem100 zum 3D-Drucken darstellt. Das System100 umfasst einen Prozessor102 und ein maschinenlesbares Speichermedium106 . Der Prozessor102 ist über einen Kommunikationspfad104 kommunikativ mit dem maschinenlesbaren Speichermedium106 verbunden. Obwohl die folgende Beschreibung sich auf einen Prozessor und ein einzelnes maschinenlesbares Speichermedium bezieht, kann die Beschreibung auch auf ein System mit mehrfachen Prozessoren und mehrfachen maschinenlesbaren Speichermedien angewendet werden. In derartigen Beispielen können die Anweisungen und/oder Daten über mehrfache maschinenlesbare Speichermedien verteilt (z. B. gespeichert) sein, und die Anweisungen und/oder Daten können über mehrfache Prozessoren verteilt (z. B. ausgeführt/verarbeitet) werden. - Der Prozessor
102 weist ein oder mehrere zentrale Verarbeitungseinheiten (CPUs), Mikroprozessoren und/oder andere geeignete Hardware-Einrichtungen zum Abruf und zur Ausführung von Anweisungen und/oder zum Abruf und zur Verarbeitung von in dem maschinenlesbaren Speichermedium106 gespeicherten Daten auf. Wie mit Bezug auf die folgenden Figuren näher beschrieben wird, kann der Prozessor102 Anweisungen abrufen, decodieren und ausführen, um Daten108 zu bilden und/oder zu modifizieren, die in einem Octree organisierte Voxel aufweisen, die ein Objekt für den 3D-Druck definieren. Der Octree weist eine Liste von Knoten in jeder Tiefe des Octrees auf, wobei jeder Knoten einen mindestens ein Voxel darstellenden Knoteninhalt (z. B. Material für den Knoten) aufweist. Zusammen genommen bilden alle Voxel das 3D-Objekt. Der Prozessor102 kann Anweisungen abrufen, decodieren und ausführen, um Daten110 zu bilden und/oder zu modifizieren, die mindestens einen Quadtree-Index zum Indexieren mindestens eines Knotens des Octrees aufweisen. Der mindestens eine indexierte Knoten des Octrees hat eine Tiefe, die kleiner als oder gleich einer maximalen aufgelösten Tiefe ist, die die aufgelöste Tiefe des Quadtree-Indexes angibt. Der Prozessor102 kann Anweisungen abrufen, decodieren und ausführen, um auf den mindestens einen Quadtree-Index zuzugreifen, um den Knoteninhalt von dem Octree zum Bearbeiten (z. B. Schichtbilden) des Objekts für den 3D-Druck abzurufen. - Wie mit Bezug auf die folgenden Figuren näher beschrieben wird, weist in einem Beispiel der mindestens eine Quadtree-Index eine geordnete Liste von Tupeln auf. Jedes Tupel indexiert einen entsprechenden Knoten des Octrees und weist eine entsprechende Tiefe des Octrees auf, wobei ein Versatz den Ort des entsprechenden Knotens in dem Octree in der entsprechenden Tiefe angibt, und wobei ein Nicht-Blatt-Knoten-Flag angibt, ob der entsprechende Knoten ein Nicht-Blatt-Knoten (d. h. Kinderknoten hat) oder ein Blatt-Knoten ist (d. h. keine Kinderknoten hat). Der mindestens eine Quadtree-Index weist eine aufgelöste Tiefe des mindestens einen Quadtree-Indexes und ein Flag auf, das angibt, ob die durch den mindestens einen Quadtree-Index indexierten Knoten vollständig aufgelöst sind.
- In einem Beispiel weist das maschinenlesbare Speichermedium
106 auch einen Index für den mindestens einen Quadtree-Index auf. Dieser Index weist die Tiefe des Octrees, die maximale aufgelöste Tiefe und eine geordnete Liste auf, die den mindestens einen Quadtree-Index und die aufgelöste Tiefe des mindestens einen Quadtree-Indexes spezifiziert. Der Octree kann eine von einem Menschen lesbare und editierbare serielle Datei sein, und der mindestens eine Quadtree-Index kann eine von einem Menschen lesbare und editierbare serielle Datei sein. - Das maschinenlesbare Speichermedium
106 ist ein nicht transitorisches Speichermedium und kann jegliche geeignete elektronische, magnetische, optische oder andere physikalische Speichereinrichtung sein, die ausführbare Anweisungen und/oder Daten speichert. Somit kann das maschinenlesbare Speichermedium106 zum Beispiel ein Direktzugriffsspeicher (RAM), ein elektrisch löschbarer programmierbarer Nur-Lese-Speicher (EEPROM), ein Speicherlaufwerk, ein optischer Datenspeicher und dergleichen sein. Das maschinenlesbare Speichermedium106 kann innerhalb des Systems100 angeordnet sein, wie in1 gezeigt. In diesem Fall können die ausführbaren Anweisungen und/oder Daten im System100 installiert sein. Alternativ kann das maschinenlesbare Speichermedium106 ein tragbares, externes oder entferntes Speichermedium sein, das dem System100 erlaubt, die Anweisungen und/oder Daten von dem tragbaren/externen/entfernten Speichermedium herunterzuladen. In diesem Fall können die ausführbaren Anweisungen und/oder Daten Teil eines Installationspakets sein. -
2 ist ein Diagramm, das ein Beispiel für eine Octree-Darstellung200 darstellt. Ein Octree ist in einem maschinenlesbaren Speichermedium als eine Liste von Knoten gespeichert. Die Länge der äußeren Liste ist die Baumtiefe (z. B. vier in dem Beispiel von2 ). Die Länge von jeder inneren Liste ist die Anzahl von Knoten in der Tiefe (z. B. ein Knoten in Tiefe null, acht Knoten in Tiefe eins, 16 Knoten in Tiefe zwei und acht Knoten in Tiefe drei in dem Beispiel von2 ). In der Octree-Darstellung200 weist die Wurzel oder Null-Tiefe einen einzelnen Nicht-Blatt-Knoten202 auf. Der Knoten202 hat acht Kinderknoten204 in Tiefe eins. Von den Knoten204 in Tiefe eins sind die Knoten206 und208 Nicht-Blatt-Knoten, und die restlichen Knoten sind Blatt-Knoten. Der Knoten206 hat acht Kinder-Blatt-Knoten210 in Tiefe zwei. Der Knoten208 hat acht Kinderknoten212 in Tiefe zwei, wobei der Knoten214 ein Nicht-Blatt-Knoten ist, und die restlichen Knoten Blatt-Knoten sind. Der Knoten214 hat acht Kinder-Blatt-Knoten216 in Tiefe drei. - Die
3A-3D sind Diagramme, die jede Tiefe der beispielhaften Octree-Darstellung200 von2 darstellen.3A zeigt ein Objekt300 , das bis zur Wurzel oder Null-Tiefe der Octree-Darstellung200 aufgelöst ist (d. h. Knoten202 ).3B zeigt ein Objekt302 , das bis zur Tiefe eins des Octrees200 aufgelöst ist (d. h. Knoten204 ). In Tiefe eins ist auf Basis der Octree-Knotennummerierungsregel das Objekt302 in acht Teile aufgeteilt, wobei jeder Teil jeweils durch einen Knoten204 definiert ist. -
3C zeigt ein Objekt304 , das bis in Tiefe zwei der Octree-Darstellung200 aufgelöst ist (d. h. Knoten210 und212 ). In Tiefe zwei sind auf Basis der Octree-Knotennummerierungsregel zwei Teile (d. h. Knoten206 und208 ) des Objekts304 weiter in acht Teile aufgeteilt, wobei jeder Teil jeweils durch einen Knoten210 bzw.212 definiert ist. Die acht Teile des Knotens208 sind bei306 angezeigt. Die acht Teile des Knotens206 sind in3C nicht sichtbar. -
3D zeigt ein Objekt308 , das bis zu Tiefe drei der Octree-Darstellung200 aufgelöst ist (d. h. der Knoten216 ). In Tiefe drei ist auf Basis der Octree-Knotennummerierungsregel ein Teil (d. h. der Knoten214 ) des Objekts308 weiter in acht Teile aufgeteilt, wobei jeder Teil durch jeweils einen Knoten216 definiert ist. Die acht Teile des Knotens214 sind bei310 angezeigt. Entsprechend kann jegliches Objekt durch einen Octree mit einer Tiefe definiert werden, die zum Darstellen des Objekts in einer gewünschten Auflösung geeignet ist. - Jeder Knoten stellt mindestens ein Voxel dar. Die Nutzdaten für jeden Blatt-Knoten in dem Octree weisen den Knoteninhalt für den Knoten auf, wie z. B. die Materialzusammensetzung für den Knoten (d. h. welches Material oder welche Materialien verwendet werden, um den mindestens einen durch den Knoten dargestellten Voxel zu bilden). Die Nutzdaten für jeden Nicht-Blatt-Knoten in dem Octree entsprechen dem Ort des ersten Kinderknotens des Nicht-Blatt-Knotens in der Knotenliste der nächsten Tiefe. Die Knoten werden sequentiell einer nach dem anderen in einer Octree- (OCT-) Datei in einem maschinenlesbaren Speichermedium gespeichert. Entsprechend werden in der beispielhaften Octree-Darstellung
200 von2 die Knoten in der folgenden Reihenfolge gespeichert:202 ,204 ,210 ,212 und216 . - Die OCT-Datei weist einen Überschriftsteil und einen Körperteil auf. Der Überschriftsteil enthält die Baumtiefe und die Anzahl der Knoten für jede Tiefe. Der Körperteil weist jeden Knoten auf. Für jeden Nicht-Blatt-Knoten weist der Knoten ein Nicht-Blatt-Knoten- („Non-Leaf Node“, NLN-) Flag auf. Für jeden Blatt-Knoten weist der Knoten den Knoteninhalt für den Knoten auf. Das NLN-Flag kann ein Boolescher Wert sein, der angibt, dass der Knoten ein Nicht-Blatt-Knoten ist. In einem Beispiel ist das NLN-Flag „-1“. Der Knoteninhalt kann ein Objekt mit einer JavaScript Object Notation (JSON) sein, die eine Liste (z. B. Gleitkomma, Materialkennung (ID)) von Tupeln sein kann, die die Materialzusammensetzung des Knotens angibt. Falls der Knoten durch ein einzelnes Material aufgefüllt ist, kann der Umfang der Liste eins sein.
- In einem Beispiel folgt der Körperteil der OCT-Datei zwei Regeln: 1) beginnend von der Wurzeltiefe ist eine Linie pro Tiefen-Array des Octrees vorhanden; und 2) innerhalb des gleichen Tiefen-Arrays hat jeder Knoten sieben Geschwister. Die Knoten sind zusammen und sequentiell nach der oktalen Knotennummerierungsregel positioniert. Entsprechend entspricht jeder Block mit 8 Knoten (z. B. Array-Indizes von 8*i bis 8*i+7) einem Nicht-Blatt-Knoten eine Linie darüber (z. B. dem i-ten Nicht-Blatt-Knoten in seinem Knoten-Array). Es folgt eine beispielhafte OCT-Datei für die in
2 gezeigte Octree-Darstellung200 .
/*Überschrift*/ 4 /*Tiefe*/ 1 8 16 8 /*Knotenzahl Tiefe*/ /*Körper*/ -1 /*Wurzel NLN*/ -1 1 2 2 2-1 2 1 /*Tiefe 1, wobei „1“ eine erste Material-ID und „2“ eine zweite Material-ID angibt*/ 1 1 2 2 2 1 1 1 1 1 2 2 1 1 -1 1 /*Tiefe 2*/ 1 1 1 2 2 2 2 2 /*Tiefe 3*/
Die OCT-Datei kann erzeugt werden, indem zuerst die Überschrift mit der Baumtiefe und der Anzahl der Knoten pro Tiefe eingetragen wird. Danach wird eine Schleife über die äußere Liste geführt, beginnend mit der Wurzeltiefe (d. h. Null-Tiefe), und eine Schleife wird über die innere Liste geführt. Wenn man auf einen Nicht-Blatt-Knoten stößt, wird das NLN-Flag (z. B. „-1“) eingetragen. Wenn man auf einen Blatt-Knoten stößt, wird der Inhalt des Knotens (z. B. Tupel von Material-ID und Volumenanteil) eingetragen (z. B. „1“ oder „2“ in dem obigen Beispiel). Eine Linienunterbrechung kann nach jeder inneren Schleife eingefügt werden, um die Lesbarkeit zu verbessern. Das Erzeugen der OCT-Datei ist effizient, da jeder Knoten ein einziges Mal bei einem einzelnen Lese-/Schreib-Vorgang besucht wird. Keine Sortierung oder andere Berechnungen sind einbezogen.
Die Quadtree-Indizes (QTI) sind in einem maschinenlesbaren Speichermedium als eine Liste organisiert (z. B. eine verkettete Liste). Die Quadtree-Indizes sind ein Satz von Dateien einschließlich einer Index-Datei (z. B. index.qti) und ein Satz von Quadtree-Index-Dateien (z. B. *.qti), die sequentiell bezeichnet sind, beginnend mit 0.qti. Die index.qti-Datei weist die Tiefe des entsprechenden Octrees, eine maximale aufgelöste Tiefe für die Quadtree-Indizes und eine geordnete Liste auf, die jeden Quadtree-Index und die aufgelöste Tiefe von jedem Quadtree-Index spezifiziert. Ein Beispiel für eine index.qti-Datei ist im Folgenden aufgeführt.
8 /* Octree-Tiefe */ 3 /*maximale aufgelöste Tiefe*/ 3, 3, 2, 1 /*die aufgelöste Tiefe für jede *.qti-Datei in sequentieller Rei- henfolge*/In diesem Beispiel liegen drei *.qti-Dateien vor, einschließlich 0.qti mit einer aufgelösten Tiefe von drei, 1.qti mit einer aufgelösten Tiefe von drei, 2.qti mit einer aufgelösten Tiefe von zwei, und 3.qti mit einer aufgelösten Tiefe von eins.
Die maximale aufgelöste Tiefe („Maximum Resolved Depth“, MRD) kann vom Benutzer eingegeben werden. Die maximale aufgelöste Tiefe ist eine Variable, die einen Kompromiss zwischen der Speicherung (z. B. QTI-Dateigrößen) und der Geschwindigkeit der Laufzeitberechnung (z. B. Schichtbildung) darstellt. Falls die maximale aufgelöste Tiefe gleich null ist, ist die Unterstützung der Quadtree-Indizes wirksam abgeschaltet, und die QTI-Dateigröße ist nahezu null. In diesem Fall erfordert der Zugriff auf ein Voxel während der Laufzeit ein Durchgehen des Octrees. Falls die maximale aufgelöste Tiefe gleich der Octree-Tiefe ist, sind die QTI-Dateigrößen größer, und die QTI-Dateien lösen den gesamten Octree unter Maximierung der Geschwindigkeit der Laufzeitberechnung (z. B. Schichtbildung) auf. In diesem Fall wird ein zufälliger Zugriff auf die Voxel während der Laufzeit mit konstanten Kosten wirksam ermöglicht.
Jede *.qti-Datei wird dazu verwendet, eine z-Schicht mit variierender Dicke des Octrees einzutragen. Die Dicke jeder *.qti-Datei wird durch die aufgelöste Tiefe der *.qti-Datei bestimmt. In einem computerlesbaren Speichermedium kann eine *.qti-Datei ein Knoten einer verketteten Liste sein, die definiert ist als:
Class QTI /*z-Schicht des Octrees*/ { QTI*vorige; QTI*nächste; /*verkettete Liste*/ Int CRD; /*aktuelle aufgelöste Tiefe*/ Boolesche ist vollständig aufgelöst; Tupel_Liste [(Tiefe, Versatz, NLN) ...]; }Die obige verkettete Listenklasse kann dazu verwendet werden, die QTI-Dateien zu bilden, und wird gelöscht, sobald die QTI-Dateien gebildet sind. Daher können die QTI-Dateien, sobald sie gebildet sind, eine Liste von Dateien anstatt einer verketteten Liste darstellen. Jedes Tupel indexiert einen entsprechenden Knoten des Octrees und weist eine entsprechende Tiefe des Octrees auf, wobei ein Versatz den Ort des entsprechenden Knotens in dem Octree in der entsprechenden Tiefe angibt, und wobei ein NLN-Flag angibt, ob der entsprechende Knoten ein Nicht-Blatt-Knoten (d. h. nicht vollständig aufgelöst) oder ein Blatt-Knoten (d. h. vollständig aufgelöst) ist. Die Tupel-Liste ist wie folgt geordnet: 1) innerhalb des gleichen Tiefen-Arrays hat jeder Knoten vier Geschwister, die zusammen und sequentiell nach der quaternären Knotennummerierungsregel positioniert sind; und 2) ein Nicht-Blatt-Knoten ist an der Stelle durch seinen Kinderknoten ersetzt.
3 /*aufgelöste Tiefe*/ { (2, 0, T) /*angegeben bei 412*/ (2, 1, T) /*angegeben bei 414*/ (2, 2, T) /*angegeben bei 416*/ (3, 0, T) (3, 1, T) (3, 2, T) (3, 3, T) /* angegeben bei 418, 420, 422 bzw. 424*/ } /*erster Quadrant (0, 0) = 0*/ (1, 1, T) /*zweiter Quadrant (0, 1) = 1, angegeben bei 426*/ (1, 2, T) /*dritter Quadrant (1, 0) = 2, angegeben bei 428*/ { (2, 8, T) /*angegeben bei 430*/ (2, 9, T) /*angegeben bei 432*/ (2, 10, T) /*angegeben bei 434*/ (2, 11, T) /*angegeben bei 436*/ } /*vierter Quadrant (1, 1) = 3*/Die Klammern und Markierungen in dem obigen Beispiel sind zur verbesserten Lesbarkeit aufgeführt und werden für die *.qti-Datei nicht benötigt. Der gleiche Quadtree kann in verschiedene Tiefen aufgelöst sein. Zum Beispiel kann der obige Quadtree bis Tiefe 1: „1, (1, 0, F) (1, 1, T) (1, 2, T) (1, 3, F)“ oder Tiefe 2: „2, (2, 0, T) (2, 1, T) (2, 2, T) (2, 3, F) (1, 1, T) (1, 2, T) (2, 8, T) (2, 9, T) (2, 10, T), (2, 11, T)“ aufgelöst sein.
Das Verfahren 500 kann ferner das Erzeugen eines Indexes für die Liste von Quadtree-Indizes umfassen, wobei der Index die Tiefe des Octrees, die maximale aufgelöste Tiefe und eine geordnete Liste umfasst, die jeden Quadtree-Index und die aufgelöste Tiefe jedes Quadtree-Indexes spezifiziert. Je größer die maximale aufgelöste Tiefe ist, desto größer ist der Umfang der Liste von Quadtree-Indizes und desto niedriger ist die Laufzeitlatenz, wenn auf die Liste von Quadtree-Indizes zum 3D-Druck des Objekts zugegriffen wird.
Falls CRD kleiner als MRD ist, dann wird bei 610 ein QTI-Zeiger auf den Kopf der QTILIST zurückgesetzt. Bei 612 wird ein QTI auf Basis des QTI-Zeigers abgerufen. Bei 614 bestimmt das Verfahren 600 , ob der QTI vollständig aufgelöst ist. In einem Beispiel umfasst das Bestimmen, ob der QTI vollständig aufgelöst ist, das Einlesen des Booleschen Werts „ist vollständig aufgelöst“ für den QTI. Falls der QTI nicht vollständig aufgelöst ist, dann wird bei 616 der QTI dupliziert, um einen oberen QTI (OQTI) und einen unteren QTI (UQTI) zu liefern. Bei 618 werden die Tupel des QTI gescannt, und für jedes Tupel des QTI, der nicht aufgelöst ist, werden acht Kinder abgerufen, und das Tupel in dem OQTI wird durch vier Tupel entsprechend den oberen vier Kindern ersetzt, und das Tupel in dem UQTI wird durch vier Tupel entsprechend den unteren vier Kindern ersetzt. Bei 620 wird der QTI in QTILIST durch den UQTI ersetzt, und der OQTI wird in die QTILIST nach dem UQTI eingefügt.
Falls der QTI vollständig aufgelöst ist, wird bei 614 oder nach Block 620 bei 622 der nächste QTI in der QTILIST abgerufen. Bei 624 bestimmt das Verfahren 600 , ob das Ende der QTILIST erreicht worden ist. Falls das Ende der QTILIST nicht erreicht worden ist, kehrt das Verfahren 600 zum Entscheidungsblock 614 zurück, und der Prozess wird fortgesetzt. Falls das Ende der QTILIST erreicht worden ist, wird bei 626 die CRD auf CRD plus eins gesetzt (d. h. inkrementiert), und das Verfahren 600 kehrt zu dem Entscheidungsblock 606 zurück, und der Prozess wird fortgesetzt. Falls CRD bei 606 nicht kleiner als MRD ist, dann werden bei 608 die QTI-Dateien eingetragen, da die QTILIST bis zu der MRD vollständig ist. Die index.qti-Datei wird erzeugt, und jede *.qti-Datei wird durch Durchgehen der QTILIST eingetragen.
Die folgenden Figuren beschreiben den Laufzeitvorgang unter Verwendung des Octrees und der Quadtree-Indizes zum 3D-Drucken eines Objekts. Die Auflösung des Octrees und der Quadtree-Indizes sind unabhängig von der Hardware (z. B. dem Drucker). Während der Laufzeit werden der Octree und die Quadtree-Indizes in den Speicher geladen, um Schichten zu erzeugen (z. B. Bilder mit Materialzuordnung pro Pixel), die einem Drucker zum Drucken zur Verfügung gestellt werden. Zu dieser Zeit können die Hardware-Eigenschaften behandelt werden, einschließlich einer weiteren 3D-Berechnung zum Kompensieren der Prozessphysik und/oder der Hardware-Auflösung (z. B. der Druckauflösung).
Vor dem Drucken wird die OCT-Datei in den Speicher geladen. Die OCT-Datei wird gescannt, und der Überschriftsteil wird eingelesen, um Speicher für die Liste der Knotenlisten (pro Tiefe) zuzuweisen. Die Knoten werden dann aus der OCT-Datei pro Tiefe ausgelesen, beginnend mit der Wurzeltiefe, und der Knoteninhalt wird entsprechend aufgefüllt. Für jede Tiefe wird ein Nicht-Blatt-Knoten-Zähler („Non-Leaf Node Counter“, NLNC) auf null initialisiert. Wenn man auf einen Blatt-Knoten stößt, werden die Nutzdaten für den Knoten mit dem Inhalt aus der OCT-Datei aufgefüllt. Wenn man auf einen Nicht-Blatt-Knoten stößt, werden die Nutzdaten für den Knoten auf NLNC*8 gesetzt, was angibt, dass die Kinder für den Knoten sich in der nächsten Tiefen-Anfangsposition von NLNC bis NLNC+8 befinden. NLNC wird für jeden Nicht-Blatt-Knoten um eins inkrementiert. Auf diese Weise wird der Octree im Speicher neu gebildet. Die Rechenzeit ist linear zu der Knotenzahl, und für jeden Knoten ist die Rechenzeit klein (d. h. im Wesentlichen Auslesen aus der OCT-Datei).
Weitere 3D-Berechnungen können zum Erzeugen von Hilfsdaten verwendet werden, um die Druckphysik zu unterstützen und/oder zu kompensieren. Zum Beispiel ist bei Multi-Jet Fusion-Druckern die thermische Diffusion ein Effekt, der durch aktives Management im Hinblick auf die geometrische Genauigkeit (z. B. scharfe Ecken) kompensiert werden kann. Das Aufbewahren des Octrees im Speicher ermöglicht diesen Typ von Berechnung, da die neuen Knotenwerte in dem Octree gespeichert werden. Die Quadtree-Indizes sind unterstützende Indizes, die den Abruf des Knoteninhalts von dem Octree beschleunigen.
Das Verfahren 700 kann ferner das Bestimmen von normalisierten z-Koordinaten für jeden Quadtree-Index zwischen zmin und zmax und das sequentielle Schichtbilden von zmin bis zmax auf Basis einer Dicke für jede Schicht umfassen, um jede Schicht vor dem Rastern zu identifizieren. Der Knoteninhalt des Octrees kann auf Basis der Eigenschaften eines spezifizierten dreidimensionalen Druckers vor dem Rastern jeder Schicht modifiziert werden (z. B. um thermische Diffusionseffekte zu kompensieren).
Zum Beispiel ist für eine maximale aufgelöste Tiefe von drei in dem Beispiel von
In dem Beispiel von 8 liegt daher 0.qti wie bei 804 angegeben mit einer Tiefe von 3 im Bereich zwischen -1 und -0,75; 1.qti wie bei 806 angegeben mit einer Tiefe von 3 im Bereich zwischen -0,75 und -0,50; 2.qti wie bei 808 angegeben mit einer Tiefe von 2 im Bereich zwischen -0,50 und 0; und 3.qti wie bei 810 angegeben mit einer Tiefe von 1 im Bereich zwischen 0 und 1. Somit ist in diesem Beispiel qti_marker[] gleich qti_marker[-0,75, -0,50, 0, 1].
Eine addr kann eine Liste von ai[0] (x-Index-Array) (in diesem Beispiel (a_0[0], a_1[0], a_2[0])) und ai[1] (y-Index-Array) (in diesem Beispiel (a_0[1], a_1[1], a_2[1])), wie bei 1102, 1104 bzw. 1106 angegeben, übersetzen. Daher:
Die lineare Abdeckung jedes Tupels wird durch die Tiefe des Tupels bestimmt, 2(diese_Tupel_Tiefe-aufgelösteTiefe). Die durch jedes Tupel abgedeckten Bereiche liegen zwischen [x-addr, y-addr] und [x-addr + lineare_Abdeckung, y-addr + lineare_Abdeckung]. Zur Zuordnung zu dem NxN-fach geschichteten Bild entspricht jedes Tupel dem Pixel-Array zwischen (int(Gleit(x-addr)/(2aufgelöste_Tiefe) * N, int(Gleit(y-addr)/(2aufgelöste_Tiefe) * N)) und (int(Gleit(x-addr + lineare_Abdeckung)/ (2aufgelöste_Tiefe) * N, int(Gleit(y-addr + lineare_Abdeckung/(2aufgelöste_Tiefe) * N)).
Auf Basis des Versatz- und Tiefenwerts jedes Tupels kann auf den dem Tupel entsprechenden Octree-Knoten direkt zugegriffen werden, um den Knoteninhalt abzurufen. Falls der Inhalt (z. B. Material-ID und/oder -Verteilung) gleichförmig ist, ist allen Pixeln in dem Pixel-Array der gleiche Wert zugeordnet. Falls eine Teil-Knoten-Auflösung ermöglicht ist (z. B. mehrere Materialien befinden sich an verschiedenen Teilen des gleichen Knotens), können verschiedenen Pixeln verschiedene Werte auf Basis des Knoteninhalts zugeordnet werden (z. B. über Interpolationsschemata).
Es kann sein, dass eine auf Voxeln beruhende Datenstruktur nicht körper-angepasst ist. Es ist möglich, dass die Voxel-Würfel nicht mit komplexen Formgrenzen ausgerichtet sind. Daher können die resultierenden Schichten einen Formfehler aufweisen, wobei die Größe dieses Fehlers etwa die Größe eines Voxels an der Grenze ist. Um dies zu beseitigen, kann eine Vektor-Schichtbildung als Teil der Rasterung ausgeführt werden. Eine sehr effektive Vektor-Schichtbildungseinrichtung kann 20 Millionen oder mehr Dreiecke verwenden und eine Schicht in ungefähr 100 Millisekunden erzeugen.
Die Vektor-Schichtbildungseinrichtung wird zum Erzeugen der Schichten in der Form von Grenzpolygonen verwendet. Die Grenzpolygone sind körper-angepasst und haben einen durch die Schichtbildung induzierten Formfehler von null (anders als bei der Voxel-Schichtbildung mit einem durch die Schichtbildung induzierten Formfehler mit der Voxel-Größe). Die Grenzpolygone werden zum Erzeugen von Bildpixeln für die Grenzen verwendet.
Die Grenzpixel auf den Schichten erhalten die Materialeigenschaften über die Voxel. Für jedes Grenzpixel wird der Einflussbereich („Region of Influence“, ROI) identifiziert, der mehrfache Voxel abdecken kann. Der dem Pixel zugeordnete Wert ist der gewichtete Mittelwert der von den Voxeln innerhalb des ROI getragenen Werte. Das Gewicht ist die Umkehrung des Abstands von der Voxelmitte bis zum Pixel.
Falls CRD kleiner als die Octree-Tiefe ist, dann wird bei 1212 ein MICRO_QTI-Zeiger auf den Kopf der MICRO_QTILIST zurückgesetzt. Bei 1214 wird ein MICRO_QTI auf Basis des MICRO_QTI-Zeigers abgerufen. Bei 1216 bestimmt das Verfahren 1200 , ob der MICRO_QTI vollständig aufgelöst ist. Falls der MICRO_QTI nicht vollständig aufgelöst ist, dann wird bei 1218 der MICRO_QTI dupliziert, um einen oberen MICRO_QTI (MICRO_OQTI) und einen unteren MICRO_QTI (MICRO_UQTI) zu liefern. Bei 1220 werden die Tupel des MICRO_QTI gescannt, und für jedes Tupel des MICRO_QTI, das nicht aufgelöst ist, werden acht Kinder abgerufen, und das Tupel in dem MICRO_OQTI wird durch vier Tupel entsprechend den oberen vier Kindern ersetzt, und das Tupel in dem MICRO_UQTI wird durch vier Tupel entsprechend den unteren vier Kindern ersetzt. Bei 1222 wird der MICRO_QTI in der MICRO_QTILIST durch den MICRO_UQTI ersetzt, und der MICRO_OQTI wird in der MICRO_QTILIST nach dem MICRO_UQTI eingefügt.
Falls der MICRO_QTI bei 1216 oder nach Block 1222 vollständig aufgelöst ist, wird bei 1224 der nächste MICRO_QTI in der MICRO_QTILIST abgerufen. Bei 1226 bestimmt das Verfahren 1200 , ob das Ende der MICRO_QTILIST erreicht worden ist. Falls das Ende der MICRO_QTILIST nicht erreicht worden ist, dann kehrt das Verfahren 1200 zum Entscheidungsblock 1216 zurück, und der Prozess wird fortgesetzt. Falls das Ende der MICRO_QTILIST erreicht worden ist, dann wird bei 1228 CRD gleich CRD plus eins gesetzt (d. h. inkrementiert), und das Verfahren 1200 kehrt zum Entscheidungsblock 1204 zurück, und der Prozess wird fortgesetzt. Falls CRD nicht kleiner als die Octree-Tiefe bei 1204 ist, dann wird bei 1206 der korrekte MICRO_QTI für die Mikro-Schicht gefunden. Die Mikro-Schicht wird dann bei Block 922 gerastert, wie weiter oben beschrieben und mit Bezug auf 9 gezeigt.
Zusammengefasst wird die *.qti, die die Schichtebene unterbricht, gerastert. Das gerasterte Bild wird zwischengespeichert, bis das Bild obsolet ist, so dass keine *.qti zweimal gerastert wird. In einem Beispiel wird, um eine *.qti zu rastern, jedes Pixel nur einmal besucht, und nur relevante Knoten werden besucht und zwar nur einmal. Die MRD und die Mikro-Schichtbildung bringen Elastizität in das Gleichgewicht zwischen der OCT- und QTI-Dateigröße ein, erzeugt durch den Vordruck und den weiteren Laufzeit-Overhead.
Obwohl spezifische Beispiele hierin dargestellt und beschrieben worden sind, kann eine Vielzahl von alternativen und/oder äquivalenten Ausführungen anstatt der spezifischen gezeigten und beschriebenen Beispiele eingesetzt werden, ohne vom Schutzbereich der vorliegenden Offenbarung abzuweichen. Diese Anmeldung soll jegliche Anpassungen oder Variationen der hierin diskutierten spezifischen Beispiele abdecken. Daher ist beabsichtigt, dass diese Offenbarung lediglich durch die Ansprüche und deren Äquivalente eingeschränkt wird.
Claims (15)
- Nicht transitorisches maschinenlesbares Speichermedium, umfassend: in einem Octree organisierte Voxel, die ein zu druckendes dreidimensionales Objekt definieren, wobei der Octree eine Liste von Knoten für jede Tiefe des Octrees aufweist, wobei jeder Knoten einen mindestens ein Voxel darstellenden Knoteninhalt aufweist; und mindestens einen Quadtree-Index zum Indexieren mindestens eines Knotens des Octrees mit einer Tiefe, die kleiner als oder gleich einer maximalen aufgelösten Tiefe ist, wobei auf den mindestens einen Quadtree-Index durch computerausführbare Anweisungen zugegriffen wird, um den Knoteninhalt vom Octree abzurufen, um einen Prozessor zum Bearbeiten des zu druckenden dreidimensionalen Objekts anzusteuern.
- Nicht transitorisches maschinenlesbares Speichermedium nach
Anspruch 1 , wobei der mindestens eine Quadtree-Index eine geordnete Liste von Tupeln umfasst, wobei jedes Tupel einen entsprechenden Knoten des Octrees indexiert und eine entsprechende Tiefe des Octrees aufweist, wobei ein Versatz den Ort des entsprechenden Knotens in dem Octree in der entsprechenden Tiefe angibt, und ein Nicht-Blatt-Knoten-Flag angibt, ob der entsprechende Knoten ein Nicht-Blatt-Knoten oder ein Blatt-Knoten ist. - Nicht transitorisches maschinenlesbares Speichermedium nach
Anspruch 1 , wobei der mindestens eine Quadtree-Index eine aufgelöste Tiefe des mindestens einen Quadtree-Indexes und ein Flag umfasst, das angibt, ob die durch den mindestens einen Quadtree-Index indexierten Knoten vollständig aufgelöst sind. - Nicht transitorisches maschinenlesbares Speichermedium nach
Anspruch 1 , ferner umfassend: einen Index für den mindestens einen Quadtree-Index, wobei der Index die Tiefe des Octrees, die maximale aufgelöste Tiefe und eine geordnete Liste umfasst, die den mindestens einen Quadtree-Index und die aufgelöste Tiefe des mindestens einen Quadtree-Index spezifiziert. - Nicht transitorisches maschinenlesbares Speichermedium nach
Anspruch 1 , wobei der Octree ein von einem Menschen lesbare und editierbare serielle Datei ist, und wobei der mindestens eine Quadtree-Index eine von einem Menschen lesbare und editierbare serielle Datei ist. - Verfahren zum Erzeugen von Quadtree-Indizes für einen Octree, wobei das Verfahren Folgendes umfassend; Empfangen, über einen Prozessor, von in einem Octree organisierten Voxeln, die ein zu druckendes dreidimensionales Objekt definieren, wobei der Octree eine Liste von Knoten für jede Tiefe des Octrees aufweist, wobei jeder Knoten mindestens ein Voxel darstellt; Empfangen, über den Prozessor, einer maximalen aufgelösten Tiefe, die kleiner als oder gleich der Tiefe des Octrees ist; und Erzeugen, über den Prozessor, einer Liste von Quadtree-Indizes zum Indexieren jedes Knoten des Octrees bis zu der maximalen aufgelösten Tiefe, wobei jeder Quadtree-Index der Quadtree-Indizes eine geordnete Liste von Tupeln umfasst, wobei jedes Tupel einen entsprechenden Knoten des Octrees indexiert und eine entsprechende Tiefe des Octrees aufweist, wobei ein Versatz den Ort des entsprechenden Knotens in dem Octree in der entsprechenden Tiefe angibt, und ein Nicht-Blatt-Knoten-Flag angibt, ob der entsprechende Knoten ein Nicht-Blatt-Knoten oder ein Blatt-Knoten ist.
- Verfahren nach
Anspruch 6 , wobei das Erzeugen der Liste von Quadtree-Indizes Folgendes umfasst: Initialisieren einer verketteten Liste von Quadtree-Indizes und Initialisieren einer aktuellen Tiefe auf null; Iterieren der verketteten Liste von Quadtree-Indizes, bis eine aktuelle Tiefe gleich der maximalen aufgelösten Tiefe ist; für jeden Quadtree-Index der Quadtree-Indizes, Bestimmen, ob der Quadtree-Index vollständig aufgelöst ist; in Reaktion auf das Bestimmen, dass ein Quadtree-Index nicht vollständig aufgelöst ist, Aufteilen des Quadtree-Indexes in zwei Quadtree-Indizes und Aktualisieren jedes der beiden Quadtree-Indizes für die aktuelle Tiefe, um jeden der beiden Quadtree-Indizes weiter aufzulösen; in Reaktion auf das Bestimmen, dass der Quadtree-Index vollständig aufgelöst ist, Bewegen zu dem nächsten Quadtree-Index in der verketteten Liste von Quadtree-Indizes; und in Reaktion auf das Erreichen des Endes der verketteten Liste von Quadtree-Indizes, Inkrementieren der aktuellen Tiefe um eins und Wiederholen des Iterierens der verketteten Liste von Quadtree-Indizes, bis die aktuelle Tiefe gleich der maximalen aufgelösten Tiefe ist. - Verfahren nach
Anspruch 7 , wobei das Aufteilen des Quadtree-Indexes in zwei Quadtree-Indizes und das Aktualisieren jedes der beiden Quadtree-Indizes für die aktuelle Tiefe Folgendes umfasst: Duplizieren des Quadtree-Indexes, um einen oberen Quadtree-Index und einen unteren Quadtree-Index zu erhalten; Scannen jedes Tupels des Quadtree-Indexes; für jedes einen Nicht-Blatt-Knoten anzeigende Tupel, Abrufen von acht der Kinder des Nicht-Blatt-Knotens und Ersetzen des Tupels in dem unteren Quadtree-Index durch die den unteren vier Kinder entsprechenden Tupel und Ersetzen des Tupels in dem oberen Quadtree-Index durch die den oberen vier Kindern entsprechenden Tupel; und Ersetzen des Quadtree-Indexes durch den unteren Quadtree-Index und Einfügen des oberen Quadtree-Indexes in die verkettete Liste von Quadtree-Indizes nach dem unteren Quadtree-Index. - Verfahren nach
Anspruch 6 , ferner umfassend: Erzeugen eines Indexes für die Liste von Quadtree-Indizes, wobei der Index die Tiefe des Octrees, die maximale aufgelöste Tiefe und eine geordnete Liste umfasst, die jeden Quadtree-Index und die aufgelöste Tiefe jedes Quadtree-Indexes spezifiziert. - Verfahren nach
Anspruch 6 , wobei je größer die maximale aufgelöste Tiefe ist, desto größer der Umfang der Liste der Quadtree-Indizes ist, und desto niedriger die Laufzeitlatenz ist, wenn auf die Liste der Quadtree-Indizes zum dreidimensionalen Ausdruck des Objekts zugegriffen wird. - Verfahren zum Bearbeiten eines Objekts für dreidimensionales Drucken, wobei das das Verfahren Folgendes umfasst; Empfangen, über einen Prozessor, von in einem Octree organisierten Voxeln, die ein zu druckendes dreidimensionales Objekt definieren, wobei der Octree eine Liste von Knoten für jede Tiefe des Octrees aufweist, wobei jeder Knoten einen mindestens ein Voxel darstellenden Knoteninhalt aufweist; Empfangen, über den Prozessor, einer Liste von Quadtree-Indizes, die jeden Knoten des Octrees bis zu einer maximalen aufgelösten Tiefe indexieren, wobei jeder Quadtree-Index der Quadtree-Indizes eine geordnete Liste von Tupeln umfasst, wobei jedes Tupel einen entsprechenden Knoten des Octrees indexiert und eine entsprechende Tiefe des Octrees aufweist, wobei ein Versatz den Ort des entsprechenden Knotens in dem Octree in der entsprechenden Tiefe angibt, und ein Nicht-Blatt-Knoten-Flag angibt, ob der entsprechende Knoten ein Nicht-Blatt-Knoten oder ein Blatt-Knoten ist.; und Rastern, über den Prozessor, jeder Schicht des zu druckenden dreidimensionalen Objekts durch Zugreifen auf einen entsprechenden Quadtree-Index für die Schicht, um den Knoteninhalt von dem Octree abzurufen.
- Verfahren nach
Anspruch 11 , wobei das Rastern jeder Schicht des zu druckenden dreidimensionalen Objekts Folgendes umfasst: Bestimmen, ob der Quadtree-Index für die Schicht vollständig aufgelöst ist; in Reaktion auf das Bestimmen, dass der Quadtree-Index für die Schicht vollständig aufgelöst ist, Rastern der Schicht; in Reaktion auf das Bestimmen, dass der Quadtree-Index für die Schicht nicht vollständig aufgelöst ist, vollständiges Auflösen des Quadtree-Indexes vor dem Rastern der Schicht. - Verfahren nach
Anspruch 11 , wobei das Rastern jeder Schicht des zu druckenden dreidimensionalen Objekts Folgendes umfasst: Initialisieren eines Bild auf Basis von über Vektorschichten erhaltenen Polygongrenzen; Einlesen jedes Tupels des Quadtree-Indexes für die Schicht; Berechnen eines Pixel-Arrays in dem Bild, das jedem Tupel entspricht, auf Basis der Position des Tupels in dem Quadtree-Index für die Schicht; und Abrufen des Knoteninhalts von dem Octree auf Basis des Versatzes jedes Tupels und Zuordnen des Knoteninhalts zu dem Pixel-Array. - Verfahren nach
Anspruch 11 , ferner umfassend: Bestimmen von normalisierten z-Koordinaten für jeden Quadtree-Index zwischen zmin und zmax; und sequentielles Schichtbilden von zmin bis zmax auf Basis einer Dicke für jede Schicht, um jede Schicht vor dem Rastern zu identifizieren. - Verfahren nach
Anspruch 11 , ferner umfassend: Modifizieren des Knoteninhalts des Octrees auf Basis der Eigenschaften eines spezifizierten dreidimensionalen Druckers vor dem Rastern jeder Schicht.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2016/043996 WO2018022011A1 (en) | 2016-07-26 | 2016-07-26 | Indexing voxels for 3d printing |
Publications (1)
Publication Number | Publication Date |
---|---|
DE112016007098T5 true DE112016007098T5 (de) | 2019-04-18 |
Family
ID=61017514
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE112016007098.5T Pending DE112016007098T5 (de) | 2016-07-26 | 2016-07-26 | Indexierung von voxeln für das 3d-drucken |
Country Status (3)
Country | Link |
---|---|
US (1) | US10839598B2 (de) |
DE (1) | DE112016007098T5 (de) |
WO (1) | WO2018022011A1 (de) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11043042B2 (en) * | 2016-05-16 | 2021-06-22 | Hewlett-Packard Development Company, L.P. | Generating a shape profile for a 3D object |
DE112016007098T5 (de) * | 2016-07-26 | 2019-04-18 | Hewlett-Packard Development Company, L.P. | Indexierung von voxeln für das 3d-drucken |
US20210012049A1 (en) * | 2018-02-16 | 2021-01-14 | Coventor, Inc. | System and method for multi-material mesh generation from fill-fraction voxel data |
WO2020076285A1 (en) * | 2018-10-08 | 2020-04-16 | Hewlett-Packard Development Company, L.P. | Validating object model data for additive manufacturing |
US11381840B2 (en) * | 2019-06-26 | 2022-07-05 | Tencent America LLC | Implicit quadtree or binary-tree geometry partition for point cloud coding |
US11436761B2 (en) * | 2020-03-18 | 2022-09-06 | International Business Machines Corporation | Preventing feature loss when compressing images |
US11315299B1 (en) * | 2020-11-13 | 2022-04-26 | Unity Technologies Sf | Method for computation of local densities for virtual fibers |
Family Cites Families (259)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4694404A (en) * | 1984-01-12 | 1987-09-15 | Key Bank N.A. | High-speed image generation of complex solid objects using octree encoding |
US5742738A (en) * | 1988-05-20 | 1998-04-21 | John R. Koza | Simultaneous evolution of the architecture of a multi-part program to solve a problem using architecture altering operations |
WO1991014990A1 (en) * | 1990-03-28 | 1991-10-03 | Koza John R | Non-linear genetic algorithms for solving problems by finding a fit composition of functions |
US5634087A (en) * | 1991-02-28 | 1997-05-27 | Rutgers University | Rapidly trainable neural tree network |
US5404525A (en) * | 1992-09-30 | 1995-04-04 | International Business Machines Corporation | Efficient method router that supports multiple simultaneous object versions |
US6336106B1 (en) * | 1994-02-15 | 2002-01-01 | R.R. Donnelley & Sons Company | System and method for partitioning a real-valued attribute exhibiting windowed data characteristics |
US5600763A (en) * | 1994-07-21 | 1997-02-04 | Apple Computer, Inc. | Error-bounded antialiased rendering of complex scenes |
US5511190A (en) * | 1995-01-20 | 1996-04-23 | Tandem Computers, Inc. | Hash-based database grouping system and method |
US5651099A (en) * | 1995-01-26 | 1997-07-22 | Hewlett-Packard Company | Use of a genetic algorithm to optimize memory space |
US6715148B1 (en) * | 1995-04-03 | 2004-03-30 | International Business Machines Corporation | Efficient method router that supports multiple simultaneous object versions |
US5764521A (en) * | 1995-11-13 | 1998-06-09 | Stratasys Inc. | Method and apparatus for solid prototyping |
AU3718497A (en) * | 1996-06-28 | 1998-01-21 | Resolution Technologies, Inc. | Fly-through computer aided design method and apparatus |
US6021405A (en) * | 1996-08-23 | 2000-02-01 | Tandem Computers, Inc. | System and method for optimizing database queries with improved performance enhancements |
US5822747A (en) * | 1996-08-23 | 1998-10-13 | Tandem Computers, Inc. | System and method for optimizing database queries |
US5819255A (en) * | 1996-08-23 | 1998-10-06 | Tandem Computers, Inc. | System and method for database query optimization |
US5968109A (en) * | 1996-10-25 | 1999-10-19 | Navigation Technologies Corporation | System and method for use and storage of geographic data on physical media |
US5805098A (en) * | 1996-11-01 | 1998-09-08 | The United States Of America As Represented By The Secretary Of The Army | Method and system for forming image by backprojection |
AUPO951297A0 (en) * | 1997-09-29 | 1997-10-23 | Canon Information Systems Research Australia Pty Ltd | Method and apparatus for digital data compression |
US6029173A (en) * | 1997-11-26 | 2000-02-22 | Navigation Technologies Corporation | Method and system for representation and use of shape information in geographic databases |
US6373485B2 (en) * | 1998-02-17 | 2002-04-16 | Sun Microsystems, Inc. | Mitigating the effects of object approximations |
US6014614A (en) * | 1998-05-29 | 2000-01-11 | Oracle Corporation | Method and mechanism for performing spatial joins |
US6223182B1 (en) * | 1998-06-30 | 2001-04-24 | Oracle Corporation | Dynamic data organization |
US6356902B1 (en) * | 1998-07-28 | 2002-03-12 | Matsushita Electric Industrial Co., Ltd. | Method and system for storage and retrieval of multimedia objects |
US6223183B1 (en) * | 1999-01-29 | 2001-04-24 | International Business Machines Corporation | System and method for describing views in space, time, frequency, and resolution |
US6339772B1 (en) * | 1999-07-06 | 2002-01-15 | Compaq Computer Corporation | System and method for performing database operations on a continuous stream of tuples |
US6396492B1 (en) * | 1999-08-06 | 2002-05-28 | Mitsubishi Electric Research Laboratories, Inc | Detail-directed hierarchical distance fields |
US7426455B1 (en) * | 1999-09-13 | 2008-09-16 | Science Applications International Corporation | Optimal boolean set operation generation among polygon-represented regions |
GB9925947D0 (en) * | 1999-11-02 | 1999-12-29 | Elixir Studios Limited | Improvements relating to image processing |
US6429864B1 (en) * | 1999-11-10 | 2002-08-06 | Create.It Services Ag | Method for traversing a binary space partition or octree and image processor for implementing the method |
US6583787B1 (en) * | 2000-02-28 | 2003-06-24 | Mitsubishi Electric Research Laboratories, Inc. | Rendering pipeline for surface elements |
US6597359B1 (en) * | 2000-05-17 | 2003-07-22 | Raychip, Inc. | Hierarchical space subdivision hardware for ray tracing |
US7292255B2 (en) * | 2000-05-31 | 2007-11-06 | Canon Kabushiki Kaisha | Image data acquisition optimisation |
US6539519B1 (en) * | 2000-05-31 | 2003-03-25 | Mark D. Meeker | Spatial characteristic and logical hierarchy based manner for compactly storing IC design data and related operations |
US8188997B2 (en) * | 2000-06-19 | 2012-05-29 | Mental Images Gmbh | Accelerated ray tracing using shallow bounding volume hierarchies |
US7010308B2 (en) * | 2000-12-13 | 2006-03-07 | Telcontar | Managing and querying moving point data |
US6621492B2 (en) * | 2000-12-18 | 2003-09-16 | International Business Machines Corporation | Method and apparatus using primitive bounding volumes to improve the accuracy of BSP-trees |
US7349869B2 (en) * | 2001-06-05 | 2008-03-25 | Hewlett-Packard Development Company, L.P. | Use of a job ticket service to store bid information |
US7424461B2 (en) * | 2001-06-28 | 2008-09-09 | Hewlett-Packard Development Company, L.P. | Multi-module genetic programming with multiple genetic data representations |
US6879980B1 (en) * | 2001-06-29 | 2005-04-12 | Oracle International Corporation | Nearest neighbor query processing in a linear quadtree spatial index |
US7149737B1 (en) * | 2002-04-04 | 2006-12-12 | Ncr Corp. | Locking mechanism using a predefined lock for materialized views in a database system |
US6985143B2 (en) * | 2002-04-15 | 2006-01-10 | Nvidia Corporation | System and method related to data structures in the context of a computer graphics system |
US6862024B2 (en) * | 2002-04-17 | 2005-03-01 | Mitsubishi Electric Research Laboratories, Inc. | Enhancing textured range images using a 2D editor |
US7002571B2 (en) * | 2002-06-04 | 2006-02-21 | Intel Corporation | Grid-based loose octree for spatial partitioning |
DE10239672B4 (de) * | 2002-08-26 | 2005-08-11 | Universität des Saarlandes | Verfahren und Vorrichtung zur Erzeugung einer zweidimensionalen Abbildung einer dreidimensionalen Struktur |
US7564455B2 (en) * | 2002-09-26 | 2009-07-21 | The United States Of America As Represented By The Secretary Of The Navy | Global visualization process for personal computer platforms (GVP+) |
US7239311B2 (en) * | 2002-09-26 | 2007-07-03 | The United States Government As Represented By The Secretary Of The Navy | Global visualization process (GVP) and system for implementing a GVP |
US7093220B2 (en) * | 2002-10-02 | 2006-08-15 | Cadence Design Systems, Inc. | Method for generating constrained component placement for integrated circuits and packages |
US20040111388A1 (en) * | 2002-12-06 | 2004-06-10 | Frederic Boiscuvier | Evaluating relevance of results in a semi-structured data-base system |
US7219091B1 (en) * | 2003-02-24 | 2007-05-15 | At&T Corp. | Method and system for pattern matching having holistic twig joins |
US7451144B1 (en) * | 2003-02-25 | 2008-11-11 | At&T Corp. | Method of pattern searching |
JP4447865B2 (ja) * | 2003-08-01 | 2010-04-07 | ソニー株式会社 | 地図表示システム、地図データ加工装置、地図表示装置及び地図表示方法 |
US7301538B2 (en) * | 2003-08-18 | 2007-11-27 | Fovia, Inc. | Method and system for adaptive direct volume rendering |
US8056013B2 (en) * | 2005-05-13 | 2011-11-08 | Hewlett-Packard Development Company, L.P. | Method for arranging graphic assemblies |
US7555730B2 (en) * | 2005-05-12 | 2009-06-30 | Hewlett-Packard Development Company, L.P. | Method for arranging graphic assemblies |
US7216127B2 (en) * | 2003-12-13 | 2007-05-08 | International Business Machines Corporation | Byte stream organization with improved random and keyed access to information structures |
KR100519780B1 (ko) * | 2004-02-17 | 2005-10-07 | 삼성전자주식회사 | 3차원 체적 데이터 부호화/복호화 방법 및 장치 |
EP1574996A3 (de) * | 2004-03-08 | 2007-03-21 | Samsung Electronics Co., Ltd. | Verfahren zur Generierung eines adaptiven 2n-nären Baums und Verfahren und Vorrichtung zur Kodierung und Dekodierung von 3D-Volumendaten unter Verwendung des generierten Baums |
KR100695142B1 (ko) * | 2004-03-08 | 2007-03-14 | 삼성전자주식회사 | 적응적 2의 n 제곱 진트리 생성방법 및 이를 이용한 3차원 체적 데이터 부호화/복호화 방법 및 장치 |
US7804498B1 (en) * | 2004-09-15 | 2010-09-28 | Lewis N Graham | Visualization and storage algorithms associated with processing point cloud data |
EP1800227A2 (de) * | 2004-10-04 | 2007-06-27 | Clearpace Software Limited | Verfahren und system zum implementieren einer erweiterten datenbank |
JPWO2006046669A1 (ja) * | 2004-10-28 | 2008-05-22 | 国立大学法人福井大学 | データベース管理装置、方法、プログラム |
US7656543B2 (en) * | 2004-11-12 | 2010-02-02 | Hewlett-Packard Development Company, L.P. | Albuming images |
US7317825B2 (en) * | 2004-12-22 | 2008-01-08 | Siemens Medical Solutions Usa, Inc. | Using temporal and spatial coherence to accelerate maximum/minimum intensity projection |
US7882100B2 (en) * | 2005-01-24 | 2011-02-01 | Sybase, Inc. | Database system with methodology for generating bushy nested loop join trees |
US7991779B1 (en) * | 2005-04-25 | 2011-08-02 | Hewlett Packard Development Company, L.P. | Method and apparatus for populating an index table |
US20060268297A1 (en) * | 2005-05-25 | 2006-11-30 | Lexmark International, Inc. | Method for constructing a lookup table for converting data from a first color space to a second color space |
US7333107B2 (en) * | 2005-08-18 | 2008-02-19 | Voxar Limited | Volume rendering apparatus and process |
US8300048B2 (en) * | 2005-12-16 | 2012-10-30 | Ihi Corporation | Three-dimensional shape data recording/display method and device, and three-dimensional shape measuring method and device |
JP4227642B2 (ja) * | 2005-12-28 | 2009-02-18 | キヤノン株式会社 | 立体物の製造方法、及び立体物の製造装置 |
KR100738107B1 (ko) * | 2006-02-15 | 2007-07-12 | 삼성전자주식회사 | 3차원 포인트 기반 모델링 장치 및 방법 |
US8049752B2 (en) * | 2006-07-25 | 2011-11-01 | Siemens Medical Solutions Usa, Inc. | Systems and methods of determining sampling rates for volume rendering |
US20090323833A1 (en) * | 2006-08-02 | 2009-12-31 | Manoj Karayil Thekkoott Narayanan | Versatile platform for broadband wireless system design and prototyping using software defined radio methodology |
US7864174B2 (en) * | 2006-08-24 | 2011-01-04 | International Business Machines Corporation | Methods and systems for reducing the number of rays passed between processing elements in a distributed ray tracing system |
US7737974B2 (en) * | 2006-09-27 | 2010-06-15 | International Business Machines Corporation | Reallocation of spatial index traversal between processing elements in response to changes in ray tracing graphics workload |
US7940265B2 (en) * | 2006-09-27 | 2011-05-10 | International Business Machines Corporation | Multiple spacial indexes for dynamic scene management in graphics rendering |
US8339398B2 (en) * | 2006-09-28 | 2012-12-25 | International Business Machines Corporation | Integrated acceleration data structure for physics and ray tracing workload |
US8578267B2 (en) * | 2006-09-28 | 2013-11-05 | Hewlett-Packard Development Company, L.P. | Graphic assembly layout with maximum page coverage and minimum content removal |
US7782318B2 (en) * | 2006-11-22 | 2010-08-24 | International Business Machines Corporation | Method for reducing network bandwidth by delaying shadow ray generation |
US8018453B2 (en) * | 2007-02-09 | 2011-09-13 | International Business Machines Corporation | Deferred acceleration data structure optimization for improved performance |
US20080192051A1 (en) * | 2007-02-14 | 2008-08-14 | David Keith Fowler | Expanding Empty Nodes in an Acceleration Data Structure |
US8102389B2 (en) * | 2007-02-14 | 2012-01-24 | International Business Machines Corporation | Box casting using an integrated acceleration data structure |
US7752192B2 (en) * | 2007-03-02 | 2010-07-06 | International Business Machines Corporation | Method and system for indexing and serializing data |
US20080231627A1 (en) * | 2007-03-20 | 2008-09-25 | Robert Allen Shearer | Using Ray Tracing to Enhance Artificial Intelligence Character Behavior |
US7940279B2 (en) * | 2007-03-27 | 2011-05-10 | Utah State University | System and method for rendering of texel imagery |
US7773087B2 (en) * | 2007-04-19 | 2010-08-10 | International Business Machines Corporation | Dynamically configuring and selecting multiple ray tracing intersection methods |
US20080312954A1 (en) * | 2007-06-15 | 2008-12-18 | Validus Medical Systems, Inc. | System and Method for Generating and Promulgating Physician Order Entries |
US8826299B2 (en) * | 2007-08-13 | 2014-09-02 | International Business Machines Corporation | Spawned message state determination |
US8229970B2 (en) * | 2007-08-31 | 2012-07-24 | Microsoft Corporation | Efficient storage and retrieval of posting lists |
US8284195B2 (en) * | 2007-09-13 | 2012-10-09 | International Business Machines Corporation | Cooperative utilization of spatial indices between application and rendering hardware |
US8862986B2 (en) * | 2007-10-01 | 2014-10-14 | Hewlett-Packard Development Company, L.P. | Arranging graphic objects on a page with relative position based control |
JP4963105B2 (ja) * | 2007-11-22 | 2012-06-27 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 画像を記憶する方法、装置 |
KR100924122B1 (ko) * | 2007-12-17 | 2009-10-29 | 한국전자통신연구원 | 픽셀 단위 처리 요소 기반의 광선 추적 장치 및 방법 |
US7734714B2 (en) * | 2008-01-11 | 2010-06-08 | Spacecurve, Inc. | Spatial Sieve Tree |
US8169434B2 (en) * | 2008-09-29 | 2012-05-01 | Microsoft Corporation | Octree construction on graphics processing units |
US9245382B2 (en) * | 2008-10-04 | 2016-01-26 | Microsoft Technology Licensing, Llc | User-guided surface reconstruction |
US8610706B2 (en) * | 2008-10-04 | 2013-12-17 | Microsoft Corporation | Parallel surface reconstruction |
US8103764B2 (en) * | 2008-10-14 | 2012-01-24 | CacheIQ, Inc. | Method and apparatus for matching trigger pattern |
US8350846B2 (en) * | 2009-01-28 | 2013-01-08 | International Business Machines Corporation | Updating ray traced acceleration data structures between frames based on changing perspective |
US8243073B2 (en) * | 2009-01-28 | 2012-08-14 | International Business Machines Corporation | Tree insertion depth adjustment based on view frustum and distance culling |
JP5218109B2 (ja) * | 2009-01-30 | 2013-06-26 | 富士通株式会社 | 可視化データ処理装置、可視化データ処理装置の制御方法、及び可視化データ処理装置の制御プログラム |
US8417708B2 (en) * | 2009-02-09 | 2013-04-09 | Xerox Corporation | Average case analysis for efficient spatial data structures |
US9292965B2 (en) * | 2009-03-19 | 2016-03-22 | International Business Machines Corporation | Accelerated data structure positioning based upon view orientation |
JP5359657B2 (ja) * | 2009-07-31 | 2013-12-04 | ソニー株式会社 | 画像符号化装置および方法、記録媒体、並びにプログラム |
JP5233897B2 (ja) * | 2009-07-31 | 2013-07-10 | ソニー株式会社 | 画像処理装置および方法 |
JP5344238B2 (ja) * | 2009-07-31 | 2013-11-20 | ソニー株式会社 | 画像符号化装置および方法、記録媒体、並びにプログラム |
US8175734B2 (en) * | 2009-10-08 | 2012-05-08 | 3D M. T. P. Ltd. | Methods and system for enabling printing three-dimensional object models |
US9008082B2 (en) * | 2009-12-07 | 2015-04-14 | Telefonaktiebolaget L M Ericsson (Publ) | Handling data packets received at a routing node |
WO2011086820A1 (ja) * | 2010-01-15 | 2011-07-21 | 日本電気株式会社 | 情報処理装置、情報処理方法、及びコンピュータ読み取り可能な記録媒体 |
US8417714B2 (en) * | 2010-01-22 | 2013-04-09 | Oracle International Corporation | Techniques for fast and scalable XML generation and aggregation over binary XML |
US9405820B2 (en) * | 2010-02-02 | 2016-08-02 | Technion R&D Foundation Ltd. | System and method for parallel searching of a document stream |
US8564600B2 (en) * | 2010-05-12 | 2013-10-22 | International Business Machines Corporation | Streaming physics collision detection in multithreaded rendering software pipeline |
US8619078B2 (en) * | 2010-05-21 | 2013-12-31 | International Business Machines Corporation | Parallelized ray tracing |
US8665266B2 (en) * | 2010-06-23 | 2014-03-04 | The United States Of America, As Represented By The Secretary Of The Navy | Global visualization process terrain database builder |
US8692825B2 (en) * | 2010-06-24 | 2014-04-08 | International Business Machines Corporation | Parallelized streaming accelerated data structure generation |
JP5419822B2 (ja) * | 2010-07-23 | 2014-02-19 | 株式会社ソニー・コンピュータエンタテインメント | 画像処理装置、画像表示装置、画像処理方法、および画像ファイルのデータ構造 |
EP2420799B1 (de) * | 2010-08-18 | 2015-07-22 | Harman Becker Automotive Systems GmbH | Verfahren und System zur Anzeige von Interessenpunkten |
KR101697238B1 (ko) * | 2010-08-26 | 2017-01-17 | 삼성전자주식회사 | 영상 처리 장치 및 방법 |
US8744770B2 (en) * | 2010-08-27 | 2014-06-03 | University Of Maryland, College Park | Path oracles for spatial networks |
US8856184B1 (en) * | 2011-01-31 | 2014-10-07 | Google Inc. | Methods and systems for encoding the maximum resolution data level for a quadtree |
US9848197B2 (en) * | 2011-03-10 | 2017-12-19 | Qualcomm Incorporated | Transforms in video coding |
JP2012213128A (ja) * | 2011-03-24 | 2012-11-01 | Sony Corp | 画像処理装置および方法 |
US8612279B2 (en) * | 2011-06-27 | 2013-12-17 | Cisco Technology, Inc. | Ad hoc generation of work item entity for geospatial entity based on symbol manipulation language-based workflow item |
US8818544B2 (en) * | 2011-09-13 | 2014-08-26 | Stratasys, Inc. | Solid identification grid engine for calculating support material volumes, and methods of use |
US9317961B2 (en) * | 2011-09-14 | 2016-04-19 | Google Inc. | Prioritizing node requests based on tile distance to reduce perceptual scene time |
US8976168B2 (en) * | 2011-11-02 | 2015-03-10 | Microsoft Technology Licensing, Llc | Mesh generation from depth images |
KR101334188B1 (ko) * | 2011-11-25 | 2013-11-28 | 삼성전자주식회사 | 볼륨 데이터의 렌더링 장치 및 방법 |
KR101919831B1 (ko) * | 2012-01-11 | 2018-11-19 | 삼성전자주식회사 | 오브젝트 인식 장치, 분류 트리 학습 장치 및 그 동작 방법 |
KR20130092055A (ko) * | 2012-02-10 | 2013-08-20 | 삼성전자주식회사 | 영상 처리 장치 및 방법 |
GB2501115B (en) * | 2012-04-13 | 2015-02-18 | Canon Kk | Methods for segmenting and encoding an image, and corresponding devices |
US20130297062A1 (en) * | 2012-05-03 | 2013-11-07 | Alberto Daniel Lacaze | Field Deployable Rapid Prototypable UXVs |
US10906668B2 (en) * | 2012-05-03 | 2021-02-02 | Alberto Daniel Lacaze | Field deployable rapid prototypable UXVs |
GB2502295B (en) * | 2012-05-22 | 2015-12-09 | Mcor Technologies Ltd | Colour 3-dimensional printing with 3D gamut mapping |
US8650220B2 (en) * | 2012-06-05 | 2014-02-11 | Google Inc. | System and method for storing and retrieving geospatial data |
CN104321970B (zh) * | 2012-06-26 | 2018-01-19 | 英特尔公司 | 层间编码单元四叉树模式预测 |
US8930374B2 (en) * | 2012-06-29 | 2015-01-06 | Nokia Corporation | Method and apparatus for multidimensional data storage and file system with a dynamic ordered tree structure |
US20140031967A1 (en) * | 2012-07-30 | 2014-01-30 | 6598057 Manitoba Ltd. | Method and system for rapid prototyping of complex structures |
US9170971B2 (en) * | 2012-12-26 | 2015-10-27 | Iii Holdings 2, Llc | Fabric discovery for a cluster of nodes |
EP2944055A4 (de) * | 2013-01-11 | 2016-08-17 | Db Networks Inc | Systeme und verfahren zur detektion und abschwächung der bedrohungen für ein strukturiertes datenspeichersystem |
US9501298B2 (en) * | 2013-01-31 | 2016-11-22 | Hewlett-Packard Development Company, L.P. | Remotely executing operations of an application using a schema that provides for executable scripts in a nodal hierarchy |
US20140244422A1 (en) * | 2013-02-25 | 2014-08-28 | Hewlett-Packard Development Company, L.P. | Providing Information about Print Service Providers to Print Product |
WO2014141273A2 (en) * | 2013-03-14 | 2014-09-18 | Stratasys Ltd. | Slicing and/or texturing for three-dimensional printing |
US9779063B1 (en) * | 2013-03-15 | 2017-10-03 | Not Invented Here LLC | Document processor program having document-type dependent interface |
US9224235B2 (en) * | 2013-03-20 | 2015-12-29 | Nvidia Corporation | System, method, and computer program product for compression of a bounding volume hierarchy |
US20140324204A1 (en) * | 2013-04-18 | 2014-10-30 | Massachusetts Institute Of Technology | Methods and apparati for implementing programmable pipeline for three-dimensional printing including multi-material applications |
US20160250809A1 (en) * | 2013-05-24 | 2016-09-01 | Looking Glass Hk Ltd. | Method for manufacturing a physical volumetric representation of a virtual three-dimensional object |
US9652883B2 (en) * | 2013-06-07 | 2017-05-16 | Fovia, Inc. | Volume rendering of images with multiple classifications |
US20140368504A1 (en) * | 2013-06-12 | 2014-12-18 | Microsoft Corporation | Scalable volumetric 3d reconstruction |
US20150001762A1 (en) * | 2013-06-27 | 2015-01-01 | Alberto Daniel Lacaze | Method for Deployable Rapid On-Site Manufacturing Using 3D Printing in Combination with Vacuum Metallization |
WO2015013716A1 (en) * | 2013-07-26 | 2015-01-29 | The Regents Of The University Of California | Patient-specific temporary implants for accurately guiding local means of tumor control along patient-specific internal channels to treat cancers |
WO2015017941A1 (en) * | 2013-08-09 | 2015-02-12 | Sweep3D Corporation | Systems and methods for generating data indicative of a three-dimensional representation of a scene |
WO2015042432A1 (en) * | 2013-09-20 | 2015-03-26 | Vid Scale, Inc | Systems and methods for providing 3d look-up table coding for color gamut scalability |
DK3656557T3 (da) * | 2013-10-11 | 2022-02-28 | Advanced Solutions Life Sciences Llc | System og arbejdsstation til design, fabrikation og fremstilling af biomaterielle konstruktioner |
US9508186B2 (en) * | 2013-11-07 | 2016-11-29 | Autodesk, Inc. | Pre-segment point cloud data to run real-time shape extraction faster |
US20150134302A1 (en) * | 2013-11-14 | 2015-05-14 | Jatin Chhugani | 3-dimensional digital garment creation from planar garment photographs |
US9495373B2 (en) * | 2013-12-06 | 2016-11-15 | International Business Machines Corporation | File versions within content addressable storage |
US9483481B2 (en) * | 2013-12-06 | 2016-11-01 | International Business Machines Corporation | Files having unallocated portions within content addressable storage |
US20150199383A1 (en) * | 2014-01-16 | 2015-07-16 | Nokia Corporation | Systems and Methods for Indexing and Retrieving Images |
KR101554569B1 (ko) * | 2014-01-28 | 2015-09-22 | 서울대학교산학협력단 | 스카이라인 질의 시스템 및 방법 |
KR101555426B1 (ko) * | 2014-02-07 | 2015-09-25 | 고려대학교 산학협력단 | 지형 렌더링 방법 및 장치 |
US9842424B2 (en) * | 2014-02-10 | 2017-12-12 | Pixar | Volume rendering using adaptive buckets |
CN103903061B (zh) | 2014-03-04 | 2016-08-31 | 中国地质科学院矿产资源研究所 | 三维矿产资源预测评价中信息综合处理装置及其方法 |
US10347042B2 (en) * | 2014-03-13 | 2019-07-09 | Pixar | Importance sampling of sparse voxel octrees |
US9798808B2 (en) * | 2014-03-17 | 2017-10-24 | SynerScope B.V. | Data visualization system |
GB2524287B (en) * | 2014-03-19 | 2020-07-01 | Advanced Risc Mach Ltd | Graphics processing systems |
WO2015147815A1 (en) * | 2014-03-26 | 2015-10-01 | Empire Technology Development Llc | Atlas generation based on client video configuration |
US9471957B2 (en) * | 2014-03-28 | 2016-10-18 | Smart Technologies Ulc | Method for partitioning, managing and displaying a collaboration space and interactive input system employing same |
US9990758B2 (en) * | 2014-03-31 | 2018-06-05 | Intel Corporation | Bounding volume hierarchy generation using a heterogeneous architecture |
US9483046B2 (en) * | 2014-04-14 | 2016-11-01 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Printing a three dimensional object about a voxel structure assembled from preformed blocks |
US9679085B2 (en) * | 2014-04-14 | 2017-06-13 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Printing a three dimensional object about a preformed structure |
EP2933777A1 (de) * | 2014-04-17 | 2015-10-21 | amberMind | Dreidimensionale Modellierung |
KR102166426B1 (ko) * | 2014-07-07 | 2020-10-16 | 삼성전자주식회사 | 렌더링 시스템 및 이의 렌더링 방법 |
US9313360B2 (en) * | 2014-07-30 | 2016-04-12 | Hewlett-Packard Development Company, L.P. | Encoding data in an image |
US9552664B2 (en) * | 2014-09-04 | 2017-01-24 | Nvidia Corporation | Relative encoding for a block-based bounding volume hierarchy |
RU2610587C2 (ru) * | 2014-09-16 | 2017-02-13 | Общество С Ограниченной Ответственностью "Яндекс" | Способ пространственного хранения объекта посредством гибкой иерархической структуры и постоянный носитель информации |
US10105905B1 (en) * | 2014-09-30 | 2018-10-23 | Apple Inc. | Using triangular tessellation in 3D printing |
EP3007081B1 (de) * | 2014-10-09 | 2019-03-27 | CRFS Limited | Raumzeitliche verarbeitung von datensätzen |
US10065373B2 (en) * | 2014-10-09 | 2018-09-04 | Autodesk, Inc. | Multi-material three dimensional models |
US9607425B2 (en) * | 2014-10-17 | 2017-03-28 | Qualcomm Incorporated | Ray-box intersection testing using dot product-based fixed function logic |
US9798674B2 (en) * | 2014-12-12 | 2017-10-24 | Cisco Technology, Inc. | N-ary tree for mapping a virtual memory space |
US9594839B2 (en) * | 2014-12-22 | 2017-03-14 | Sybase, Inc. | Methods and systems for load balancing databases in a cloud environment |
EP3247554B1 (de) * | 2015-01-21 | 2022-06-15 | Siemens Industry Software Inc. | Optimierte partitionierung von festen 3d-modellen zur generativen fertigung |
EP3251094B1 (de) * | 2015-01-30 | 2019-07-10 | Hewlett-Packard Development Company, L.P. | Indexierung von zellen von n-dimensionalen objekten |
EP3250998B1 (de) * | 2015-01-30 | 2022-03-02 | Hewlett-Packard Development Company, L.P. | Erzeugung von schichtdaten aus einer baumdatenstruktur |
WO2016119902A1 (en) * | 2015-01-30 | 2016-08-04 | Hewlett-Packard Development Company L.P. | Generating configuration data for the production of a three-dimensional object |
EP3251095B1 (de) * | 2015-01-30 | 2022-05-04 | Hewlett-Packard Development Company, L.P. | Erzeugung von schichtdaten aus einer voxel-darstellung |
EP3250366A4 (de) * | 2015-01-30 | 2018-09-05 | Hewlett-Packard Development Company, L.P. | Strukturen dreidimensionaler objekte |
US9576112B1 (en) * | 2015-02-19 | 2017-02-21 | Amazon Technologies, Inc. | Embedded reversibly opaque display cover for an electronic device |
US10089416B1 (en) * | 2015-03-12 | 2018-10-02 | Stratasys, Inc. | Self-supporting internal passageways for powder metal additive manufacturing |
US20160275719A1 (en) * | 2015-03-19 | 2016-09-22 | Intergraph Corporation | System and method for fast optimization of point cloud data |
US10055299B2 (en) * | 2015-03-30 | 2018-08-21 | International Business Machines Corporation | Clone file backup and restore |
US9984492B2 (en) * | 2015-04-02 | 2018-05-29 | Qualcomm Incorporated | Efficient hierarchy traversal in ray tracing applications |
CN107209956A (zh) * | 2015-04-20 | 2017-09-26 | 惠普发展公司有限责任合伙企业 | 创建三维(3d)物体的体素表示 |
KR20160125172A (ko) * | 2015-04-21 | 2016-10-31 | 삼성전자주식회사 | 레이 트레이싱 장치 및 방법 |
US10853997B2 (en) * | 2015-04-21 | 2020-12-01 | Hewlett-Packard Development Company, L.P. | Octree serialization |
US10810176B2 (en) * | 2015-04-28 | 2020-10-20 | International Business Machines Corporation | Unsolicited bulk email detection using URL tree hashes |
US10193696B2 (en) * | 2015-06-02 | 2019-01-29 | ALTR Solutions, Inc. | Using a tree structure to segment and distribute records across one or more decentralized, acylic graphs of cryptographic hash pointers |
US20160371339A1 (en) * | 2015-06-17 | 2016-12-22 | Qualcomm Incorporated | Executing a faceted search within a semi-structured database using a bloom filter |
US20160371391A1 (en) * | 2015-06-17 | 2016-12-22 | Qualcomm Incorporated | Caching search-related data in a semi-structured database |
GB2539509B (en) * | 2015-06-19 | 2017-06-14 | Advanced Risc Mach Ltd | Method of and apparatus for processing graphics |
WO2017011007A1 (en) * | 2015-07-15 | 2017-01-19 | Hewlett-Packard Development Company, L.P. | Three dimensional material distribution using octrees |
US9754405B1 (en) * | 2015-08-10 | 2017-09-05 | Ngrain (Canada) Corporation | System, method and computer-readable medium for organizing and rendering 3D voxel models in a tree structure |
WO2017035007A1 (en) * | 2015-08-21 | 2017-03-02 | Voxel8, Inc. | Calibration and alignment of additive manufacturing deposition heads |
RU2018114688A (ru) * | 2015-09-23 | 2019-10-23 | Конинклейке Филипс Н.В. | Формирование треугольной сетки для трехмерного изображения |
WO2017074447A1 (en) * | 2015-10-30 | 2017-05-04 | Hewlett-Packard Development Company, L.P. | Halftoning of object data for a three-dimensional object |
US10559125B2 (en) * | 2015-12-02 | 2020-02-11 | Samsung Electronics Co., Ltd. | System and method of constructing bounding volume hierarchy tree |
EP3179449B1 (de) * | 2015-12-12 | 2022-04-27 | Dassault Systèmes | Bildsystem mit mehreren auflösungen |
US10706608B2 (en) * | 2016-01-19 | 2020-07-07 | Nvidia Corporation | Tree traversal with backtracking in constant time |
WO2017125151A1 (en) * | 2016-01-20 | 2017-07-27 | Hewlett-Packard Development Company L.P. | Imaging pipeline processing |
US9818221B2 (en) * | 2016-02-25 | 2017-11-14 | Qualcomm Incorporated | Start node determination for tree traversal for shadow rays in graphics processing |
EP3821842A1 (de) * | 2016-03-14 | 2021-05-19 | Mohamed R. Mahfouz | Verfahren zur erzeugung eines virtuellen modells einer normalen anatomie eines pathologischen kniegelenks |
EP3923246A3 (de) * | 2016-03-21 | 2022-06-15 | Imagination Technologies Limited | Verarbeitung einer hierarchie zum rendern einer szene |
CN113014906B (zh) * | 2016-04-12 | 2023-06-30 | 奎蒂安特有限公司 | 3d场景重建方法、系统及计算机程序存储介质 |
US10003946B2 (en) * | 2016-04-15 | 2018-06-19 | Pitney Bowes Inc. | Enhanced spatial index for point in polygon operations |
US10061303B2 (en) * | 2016-05-18 | 2018-08-28 | Autodesk Inc. | Three-dimensional printing support models |
GB2551388B (en) * | 2016-06-17 | 2021-01-27 | Geomerics Ltd | Graphics processing systems |
CN109479131B (zh) * | 2016-06-24 | 2023-09-01 | 世宗大学校产学协力团 | 视频信号处理方法及装置 |
US10395372B2 (en) * | 2016-06-28 | 2019-08-27 | University Of Cincinnati | Systems, media, and methods for pre-processing and post-processing in additive manufacturing |
US20180025545A1 (en) * | 2016-07-19 | 2018-01-25 | Pol-Lin Tai | Method for creating visualized effect for data |
DE112016007098T5 (de) * | 2016-07-26 | 2019-04-18 | Hewlett-Packard Development Company, L.P. | Indexierung von voxeln für das 3d-drucken |
US20190152155A1 (en) * | 2016-07-27 | 2019-05-23 | Hewlett-Packard Development Company, L.P. | 3d printing |
US9916684B2 (en) * | 2016-07-27 | 2018-03-13 | Adobe Systems Incorporated | Generating portable three-dimensional print-preview renderings of three-dimensional models |
US20180028335A1 (en) * | 2016-07-29 | 2018-02-01 | Fovia, Inc. | Memory and time efficient resampling for 3d printing from voxels |
EP3501010B1 (de) * | 2016-08-19 | 2023-11-01 | Movidius Ltd. | Darstellung von operationen mit spärlichen volumetrischen daten |
EP3507720B1 (de) * | 2016-08-31 | 2023-09-27 | Pointerra Technologies Pty Ltd | Verfahren und system zum speichern und abrufen von mehrdimensionalen daten |
WO2018057038A1 (en) * | 2016-09-26 | 2018-03-29 | Hewlett-Packard Development Company, L.P. | 3d print selection based on voxel property association and conflict resolution |
WO2018070993A1 (en) * | 2016-10-11 | 2018-04-19 | Hewlett-Packard Development Company, L.P. | Generating data for a three-dimensional (3d) printable object |
WO2018071011A1 (en) * | 2016-10-12 | 2018-04-19 | Hewlett-Packard Development Company, Lp | Serialising a representation of a three dimensional object |
US11003166B2 (en) * | 2016-10-12 | 2021-05-11 | Hewlett-Packard Development Company, L.P. | Sub-volume octrees |
KR20180050124A (ko) * | 2016-11-04 | 2018-05-14 | 삼성전자주식회사 | 가속 구조를 생성하는 방법 및 장치 |
GB2555797B (en) * | 2016-11-09 | 2020-04-08 | Geomerics Ltd | Graphics processing to provide shadows on specular lighting |
US10000011B1 (en) * | 2016-12-02 | 2018-06-19 | Markforged, Inc. | Supports for sintering additively manufactured parts |
KR20180069461A (ko) * | 2016-12-15 | 2018-06-25 | 삼성전자주식회사 | 가속 구조를 생성하는 방법 및 장치 |
US10703083B2 (en) * | 2017-01-13 | 2020-07-07 | Autodesk, Inc. | Multi-tool scheduling for cooperative manufacturing |
US10589509B2 (en) * | 2017-01-25 | 2020-03-17 | Hewlett-Packard Development Company, L.P. | Representing an object in terms of sub-volumes |
US10556418B2 (en) * | 2017-02-14 | 2020-02-11 | Autodesk, Inc. | Systems and methods of open-cell internal structure and closed-cell internal structure generation for additive manufacturing |
US10257090B2 (en) * | 2017-02-21 | 2019-04-09 | Futurewei Technologies, Inc. | Packet classification using multi-dimensional splitting |
CN107471651B (zh) * | 2017-03-03 | 2019-12-13 | 珠海赛纳打印科技股份有限公司 | 支撑结构、支撑结构的打印方法以及打印系统 |
CN108805261B (zh) * | 2017-04-28 | 2021-11-12 | 微软技术许可有限责任公司 | 基于八叉树的卷积神经网络 |
US9865085B1 (en) * | 2017-05-08 | 2018-01-09 | Analytical Graphics, Inc. | Systems and methods for 3D modeling using skipping heuristics and fusing |
US10586377B2 (en) * | 2017-05-31 | 2020-03-10 | Verizon Patent And Licensing Inc. | Methods and systems for generating virtual reality data that accounts for level of detail |
US10803561B2 (en) * | 2017-06-02 | 2020-10-13 | Wisconsin Alumni Research Foundation | Systems, methods, and media for hierarchical progressive point cloud rendering |
WO2019008538A1 (en) * | 2017-07-06 | 2019-01-10 | Chevron U.S.A. Inc. | SYSTEM AND METHOD FOR COMPLETE WAVEFORM INVERSION OF SEISMIC DATA |
US10417807B2 (en) * | 2017-07-13 | 2019-09-17 | Imagination Technologies Limited | Hybrid hierarchy of bounding and grid structures for ray tracing |
US10586374B2 (en) * | 2017-07-26 | 2020-03-10 | Alvin D. Zimmerman | Bounding volume hierarchy using virtual grid |
US10482650B2 (en) * | 2017-07-27 | 2019-11-19 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E. V. | Methods, computer program and apparatus for an ordered traversal of a subset of nodes of a tree structure and for determining an occlusion of a point along a ray in a raytracing scene |
US10692270B2 (en) * | 2017-08-18 | 2020-06-23 | Microsoft Technology Licensing, Llc | Non-divergent parallel traversal of a bounding volume hierarchy |
US10438397B2 (en) * | 2017-09-15 | 2019-10-08 | Imagination Technologies Limited | Reduced acceleration structures for ray tracing systems |
KR102424056B1 (ko) * | 2017-10-31 | 2022-07-25 | 한국전자통신연구원 | Netconf 기반의 네트워크 시스템 명령어를 yang 언어로 모델링하는 방법 및 장치 |
US10580195B2 (en) * | 2017-11-20 | 2020-03-03 | Microsoft Technology Licensing, Llc | Ray-triangle intersection testing with tetrahedral planes |
US10678779B2 (en) * | 2017-12-12 | 2020-06-09 | International Business Machines Corporation | Generating sub-indexes from an index to compress the index |
US10719982B2 (en) * | 2017-12-26 | 2020-07-21 | Htc Corporation | Surface extrction method, apparatus, and non-transitory computer readable storage medium thereof |
US10771781B2 (en) * | 2018-03-12 | 2020-09-08 | Electronics And Telecommunications Research Institute | Method and apparatus for deriving intra prediction mode |
US11354601B2 (en) * | 2018-03-16 | 2022-06-07 | Ricoh Company, Ltd. | Learning classification device and learning classification method |
US10482130B2 (en) * | 2018-03-19 | 2019-11-19 | Capital One Services, Llc | Three-dimensional tree diagrams |
US11019355B2 (en) * | 2018-04-03 | 2021-05-25 | Electronics And Telecommunications Research Institute | Inter-prediction method and apparatus using reference frame generated based on deep learning |
CN112385196B (zh) * | 2018-07-18 | 2023-03-21 | 比特梵德知识产权管理有限公司 | 用于报告计算机安全事故的系统和方法 |
US10732521B2 (en) * | 2018-08-07 | 2020-08-04 | 3DFortify, Inc. | Systems and methods for alignment of anisotropic inclusions in additive manufacturing processes |
US11057187B2 (en) * | 2018-08-09 | 2021-07-06 | Guardtime Sa | Blockchain-assisted hash-based data signature system and method |
US11113959B2 (en) * | 2018-12-28 | 2021-09-07 | Intel Corporation | Crowdsourced detection, identification and sharing of hazardous road objects in HD maps |
-
2016
- 2016-07-26 DE DE112016007098.5T patent/DE112016007098T5/de active Pending
- 2016-07-26 WO PCT/US2016/043996 patent/WO2018022011A1/en active Application Filing
- 2016-07-26 US US16/302,962 patent/US10839598B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US10839598B2 (en) | 2020-11-17 |
US20190122427A1 (en) | 2019-04-25 |
WO2018022011A1 (en) | 2018-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112016007098T5 (de) | Indexierung von voxeln für das 3d-drucken | |
DE102014004841B4 (de) | Grafik auf Kachelbasis | |
DE69830767T2 (de) | Verfahren und Vorrichtung zum Zusammensetzen geschichteter synthetischer graphischer Filter | |
DE102008034519B4 (de) | Aufgeteilte Datenstruktur, und Verfahren zum Laden einer Partikel-basierten Simulation unter Verwendung der aufgeteilten Datenstruktur in GPU, usw. | |
DE60130680T2 (de) | Methode zur ausrichtung eines punktgitters anhand von bildmerkmalen | |
DE102019101873A1 (de) | Abfragespezifische Verhaltensmodifizierung von Baumtraversierung | |
DE60012917T2 (de) | Verfahren und vorrichtung für eine antialiasing-operation auf impliziten kanten | |
DE102019006149A1 (de) | Begrenzungsbewusste Objektentfernung und Contentfüllung | |
DE102019103326A1 (de) | Robuste, effiziente multiprozessor-koprozessor-schnittstelle | |
DE102015107869A1 (de) | Vergabe von Primitiven an Primitiv-Blöcke | |
DE3407983A1 (de) | Mehrprozessorrechnersystem zum verarbeiten in einer hierarchischen datenstruktur definierter objektelemente zu einer farbigen abbildung | |
DE112013005255T5 (de) | Bedarfsweise Geometrie- und Beschleunigungsstrukturerzeugung | |
DE202014010917U1 (de) | Glatte Zeichenebene für das Rendern von Vektordaten komplexer dreidimensionaler Objekte | |
DE69631718T2 (de) | Verfahren und Gerät zur leistungsfähigen Graphikdarstellung dreidimensionaler Szenen | |
DE102005010169A1 (de) | Aktives Polyeder für 3D-Bildsegmentierung | |
DE102009038454A1 (de) | System und Verfahren zum Reduzieren einer Ausführungsdivergenz in Parallelverarbeitungsarchitekturen | |
EP0829822A2 (de) | Verfahren zur Anzeige von geometrischen Objektoberflächen | |
DE19723063A1 (de) | Verfahren zum Halten eines zusammenhängenden Texturspeichers zur Cachekohärenz | |
DE102011076878A1 (de) | Verfahren und Vorrichtung zur effizienten Editierung eines dreidimensionalen Volumens mittels Ray Casting | |
DE102022112888A1 (de) | Benutzerschnittstellen und Verfahren zum Erzeugen eines neuen Artefakts auf der Grundlage vorhandener Artefakte | |
DE112022001343T5 (de) | Vorschlag für einen Rand mittels neuronalem Netzwerkwerk | |
DE202013012443U1 (de) | Zusammenführung dreidimensionaler Modelle auf Basis des Konfidenzmaßes | |
DE102011015893A1 (de) | Verfahren zur Visualisierung von Freiformflächen mittels Ray Tracing | |
DE60320453T2 (de) | Verfahren zur segmentierung eines dreidimensionalen datensatzes mit ermöglichung von benutzerkorrekturen | |
DE19817583B4 (de) | Verfahren und System zur Datenverarbeitung für dreidimensionale Objekte |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R081 | Change of applicant/patentee |
Owner name: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P., SPR, US Free format text: FORMER OWNER: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P., HOUSTON, TEX., US |
|
R082 | Change of representative |
Representative=s name: HL KEMPNER PATENTANWAELTE, SOLICITORS (ENGLAND, DE |