DE102018007145A1 - Erzeugen von 3D-Strukturen unter Verwendung eines genetischen Programmierens zum Erfüllen von funktionellen und geometrischen Beschränkungen - Google Patents

Erzeugen von 3D-Strukturen unter Verwendung eines genetischen Programmierens zum Erfüllen von funktionellen und geometrischen Beschränkungen Download PDF

Info

Publication number
DE102018007145A1
DE102018007145A1 DE102018007145.7A DE102018007145A DE102018007145A1 DE 102018007145 A1 DE102018007145 A1 DE 102018007145A1 DE 102018007145 A DE102018007145 A DE 102018007145A DE 102018007145 A1 DE102018007145 A1 DE 102018007145A1
Authority
DE
Germany
Prior art keywords
vrg
systems
vertex
rules
vertices
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
Application number
DE102018007145.7A
Other languages
English (en)
Inventor
Vojtěch Krs
Radomir Mech
Nathan A. Carr
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.)
Adobe Inc
Original Assignee
Adobe Inc
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 Adobe Inc filed Critical Adobe Inc
Publication of DE102018007145A1 publication Critical patent/DE102018007145A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/005Tree description, e.g. octree, quadtree
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)

Abstract

Es sind Techniken zum Erzeugen von 3D-Strukturen offenbart. Eine Verfahrensweise, welche die Techniken gemäß einer Ausführungsform implementieren, umfasst das Initialisieren von Systemen, die zum Bereitstellen von Regeln ausgebildet sind, die Kantenverbindungen zwischen Scheitelpunkten und parametrische Eigenschaften der Scheitelpunkte festlegen. Die Regeln werden auf einen Anfangssatz von Scheitelpunkten zum Erzeugen von 3D-Graphen für jedes der Scheitelpunkt-Regel-Graph (VRG)-Systeme angewandt. Der Anfangssatz von Scheitelpunkten ist mit bereitgestellten Interaktionsoberflächen eines 3D-Modells assoziiert. Grundgerüstgeometrien werden für die 3D-Graphen erzeugt und eine assoziierte objektive Funktion wird berechnet. Die objektive Funktion ist zum Bewerten der Eignung der Grundgerüstgeometrien auf der Basis von vorgegebenen geometrischen und funktionellen Beschränkungen ausgebildet. Eine 3D-Struktur wird durch eine iterative Anwendung von genetisches Programmieren-Techniken, die auf die VRG-Systeme zum Minimieren der objektiven Funktion angewandt werden, erzeugt. Aktualisierte Beschränkungen und Interaktionsoberflächen werden zum Einbeziehen in das iterative Verfahren erhalten.

Description

  • GEBIET DER OFFENBARUNG
  • Diese Offenbarung betrifft Techniken zum Erzeugen von virtuellen 3-dimensionalen (3D) Strukturen und insbesondere Techniken zum Erzeugen von virtuellen 3D-Strukturen unter Verwendung eines genetischen Programmierens, das auf graphenbasierte prozedurale Modelle angewandt wird, zum Erfüllen von funktionellen und geometrischen Beschränkungen.
  • HINTERGRUND
  • Das Modellieren von 3D-Objekten ist typischerweise ein schwieriges und zeitaufwändiges Ziel, das häufig künstlerische Fähigkeiten zusammen mit einem hohen Kenntnisstand und einer sehr guten Expertise mit spezialisierten Hilfsmitteln erfordert. Deshalb besteht eine Tendenz dahingehend, dass die Erzeugung von 3D-Modellen teuer ist. Es gibt einige computerbasierte 3D-Modellierungssysteme, jedoch sind diese Systeme im Allgemeinen auch schwer zu verwenden, und zwar aufgrund der großen Zahl von komplexen Parametern und Regeln, die für ein vorgegebenes Ziel erstellt und feinabgestimmt werden müssen. Zusätzlich erfordern viele dieser computerbasierten Systeme große Mengen an Daten zum Trainieren, was in manchen Situationen unbequem und unpraktisch sein kann, und selbst wenn sie trainiert sind, ist das Leistungsvermögen nicht besonders gut.
  • Figurenliste
    • 1 ist ein Blockdiagramm eines Systems zum Erzeugen von 3D-Strukturen, das gemäß einer Ausführungsform der vorliegenden Offenbarung ausgebildet ist.
    • 2 zeigt ein Beispiel eines vorgegebenen 3D-Modells, mit dem die erzeugte 3D-Struktur interagieren wird, gemäß einer Ausführungsform der vorliegenden Offenbarung.
    • 3 zeigt ausgewählte Interaktionsoberflächen des 3D-Modells gemäß einer Ausführungsform der vorliegenden Offenbarung.
    • 4 zeigt Regelgraphen und Regelgrapherweiterungen gemäß einer Ausführungsform der vorliegenden Offenbarung.
    • 5 zeigt Graph-Überschneidungen, die mit einem genetischen Programmieren assoziiert sind, das auf Vertex- bzw. Scheitelpunkt-Regel-Graph (VRG)-Systeme angewandt wird, gemäß einer Ausführungsform der vorliegenden Offenbarung.
    • 6 zeigt beispielhafte 3D-Strukturen, die als Reaktion auf das Variieren von Beschränkungen erzeugt werden, die mit einem vorgegebenen Objektmodell zusammenhängen, gemäß einer Ausführungsform der vorliegenden Offenbarung.
    • 7 ist ein Flussdiagramm, das ein Verfahren zum Erzeugen von 3D-Strukturen gemäß einer Ausführungsform der vorliegenden Offenbarung zeigt.
    • 8 ist ein Blockdiagramm, das schematisch eine Rechenplattform zeigt, die zum Ausführen von jedweder der Techniken ausgebildet ist, wie sie verschiedenartig in dieser Offenbarung beschrieben sind, und die gemäß einer Ausführungsform der vorliegenden Offenbarung ausgebildet ist.
  • DETAILLIERTE BESCHREIBUNG
  • Wie es vorstehend angemerkt worden ist, kann das Erzeugen von 3-dimensionalen (3D) Modellen unter Verwendung von bestehenden Techniken schwierig, zeitaufwändig und teuer sein, da das Verfahren das Zeichnen einer sehr großen Anzahl von kleinen detaillierten Formen unter Verwendung von komplexen Softwarehilfsmitteln umfasst, die eine Expertise und/oder ein künstlerisches Vermögen erfordern. Kurz gesagt gibt es keine bekannten Techniken, die zum Verwenden eines Satzes von vorgegebenen Beschränkungen zum Erzeugen eines 3D-Modells eines neuen Objekts, das mit einem bestehenden Objekt interagiert, gestaltet sind, wobei die vorgegebenen Beschränkungen eine Interaktionsoberfläche des bestehenden Objekts umfassen oder in sonstiger Weise abgeleitet sind. Zu diesem Zweck wäre es erwünscht, ein System zur Verfügung zu haben, das eine 3D-Struktur mit einer minimalen Nutzereingabe und -über-wachung erzeugen kann, wie z.B. auf der Basis eines beschränkten Satzes von relativ einfachen, vom Nutzer festgelegten geometrischen und funktionellen Beschränkungen für das zu erzeugende Objekt. Beispielsweise wenn das Ziel die Erzeugung einer 3D-Struktur eines Stuhls ist, kann der Nutzer ein umhüllendes Volumen des gewünschten Stuhls (z.B. eine Zeichen-Box, die den Raum umfasst, in dem der Stuhl vorliegen wird), Interaktionsoberflächen zwischen dem Stuhl und einem Modell eines Menschen, der in dem Stuhl sitzen wird (z.B. der relativ vertikale Rücken des Menschen und das relativ horizontale Gesäß und der relativ horizontale hintere Hüftbereich), und ein oder mehrere Faktor(en), der oder die bezüglich des Aufbaus des Stuhls instruktiv ist oder sind (z.B. eine Obergrenze für die Masse des Stuhls, Lastaufnahmeerfordernisse des Stuhls und spezifische Materialien, aus denen der Stuhl hergestellt ist), erzeugen. Das System kann dann eine 3D-Struktur für den Stuhl erzeugen, welche diese Anforderungen erfüllt. Wie es im Hinblick auf diese Offenbarung ersichtlich ist, können diese geometrischen und funktionellen Beschränkungen für den zu erzeugenden Gegenstand direkt durch den Nutzer oder indirekt mittels des Nutzers bereitgestellt werden, der ein Modell bereitstellt, mit dem das Objekt interagieren soll. In dem letztgenannten indirekten Fall sollte beachtet werden, dass das vorgegebene Modell zum Ableiten der relativen Beschränkungen, wie z.B. eines umhüllenden Volumens des gewünschten Stuhls, verwendet werden kann oder in sonstiger Weise intuitiv dafür instruktiv ist. Das System kann ferner dem Nutzer ermöglichen, die Beschränkungen zu modifizieren und gegebenenfalls das Verfahren zu iterieren, bis ein zufriedenstellendes Ergebnis erhalten wird. Es sollte beachtet werden, dass die Modifizierung der Beschränkungen direkt oder indirekt durch Modifizieren des Modells, mit dem das Objekt interagieren soll, durchgeführt werden kann.
  • Folglich sind Techniken zum Erzeugen von 3D-Strukturen auf der Basis von durch einen Nutzer festgelegten oder in einer sonstigen Weise vorgegebenen funktionellen und geometrischen Beschränkungen offenbart. Diese Beschränkungen können in einer relativ einfachen Weise durch die Verwendung eines Modells festgelegt oder in einer sonstigen Weise bereitgestellt werden, mit dem die Ziel-3D-Struktur interagieren soll. Auf diese Weise kann das vorgegebene Modell zum Beginnen der Konstruktion der Ziel-3D-Struktur verwendet werden. Diese Techniken nutzen graphenbasierte prozedurale Modelle, die sich durch genetisches Programmieren entwickeln. Die prozeduralen Modelle sind Familien von Systemen, die Regeln für die Verbindung von Vertex- bzw. Scheitelpunkten unter Verwendung von Kanten festlegen, wie es nachstehend detaillierter beschrieben ist. Diese Systeme werden hier als Vertex- bzw. Scheitelpunkt-Regel-Graph (VRG)-Systeme bezeichnet. Die VRG-Systeme können mit zufällig ausgewählten Regeln und Werten initialisiert werden. Die Regeln werden parallel auf einen Anfangssatz von Vertex- bzw. Scheitelpunkten angewandt, die sich durch die Verbindungskanten erweitern, wie es durch die Regeln festgelegt wird, so dass komplexe 3D-Geometrien erzeugt werden. Die resultierenden Strukturen können gegen die vom Nutzer festgelegten oder in sonstiger Weise vorgegebenen Beschränkungen bewertet werden, und die am Besten arbeitenden VRG-Systeme der Familie können für eine Mutation in die nächste Generation (Iteration) des Verfahrens ausgewählt werden. Die Iteration setzt sich durch viele Generationen fort, wenn sich die VRG-Systeme entwickeln, so dass geeignetere Regeln erzeugt werden, bis die resultierende 3D-Struktur die Anforderungen des Nutzers erfüllt.
  • Insbesondere und gemäß einer Ausführungsform der vorliegenden Offenbarung ist ein System zum Erzeugen von 3D-Strukturen unter Verwendung von graphenbasierten prozeduralen Modellen ausgebildet, die durch genetisches Programmieren iterativ modifiziert werden, so dass sie funktionelle und geometrische Beschränkungen erfüllen. Beispielsweise wird in einer Ausführungsform eine Familie von Scheitelpunkt-Regel-Graph (VRG)-Systemen initialisiert und zum Bereitstellen von Regeln ausgebildet, die Kantenverbindungen zwischen Scheitelpunkten sowie parametrische Eigenschaften der Scheitelpunkte festlegen. Die Regeln werden auf einen Anfangssatz von Vertex- bzw. Scheitelpunkten zum Erzeugen von 3D-Graphen unter Verwendung von jedem der VRG-Systeme angewandt. Der Anfangssatz von Scheitelpunkten kann mit durch den Nutzer festgelegten oder in sonstiger Weise abgeleiteten Interaktionsoberflächen eines 3D-Modells assoziiert werden, die mit der zu erzeugenden Struktur interagieren. Dann werden Grundgerüstgeometrien für die 3D-Graphen erzeugt und eine dazugehörige objektive Funktion wird berechnet. Die objektive Funktion ist zum Bewerten der Eignung der Grundgerüstgeometrien auf der Basis von durch den Nutzer festgelegten Geometrien und funktionellen Beschränkungen ausgebildet. Die gewünschte 3D-Struktur wird durch eine iterative Anwendung von genetisches Programmieren-Techniken auf einen ausgewählten Teilsatz der Familie von VRG-Systemen zum Minimieren der objektiven Funktion und Maximieren der Eignung der Struktur erzeugt. Eine Nutzerrückmeldung, z.B. in der Form von aktualisierten Beschränkungen und Interaktionsoberflächen (z.B. auf der Basis der Veränderung des Anfangsmodells), kann in das iterative Verfahren zum Unterstützen des Führens der Evolution einbezogen werden, bis der Nutzer mit dem Ergebnis zufrieden ist.
  • Folglich stellt der vorstehend genannte Rahmen ein Hilfsmittel zum Erzeugen von 3D-Strukturen in einer relativ effizienten Weise mit einer minimalen Nutzereingabe oder-über-wachung bereit, und zwar verglichen mit bestehenden Techniken, auf der Basis eines minimalen Satzes von durch den Nutzer bereitgestellten oder in sonstiger Weise abgeleiteten funktionellen und geometrischen Beschränkungen, die von einem Modell abgeleitet sind, mit dem die Ziel-3D-Struktur interagieren soll. Die offenbarten Techniken verbessern die Effizienz, vermindern die Erzeugungszeit und senken die Kosten des 3D-Modellierens. Im Hinblick auf diese Offenbarung sind zahlreiche Konfigurationen und Variationen ersichtlich.
  • Systemarchitektur
  • Die 1 ist ein Blockdiagramm eines Systems 100 zum Erzeugen von 3D-Strukturen, die gemäß einer Ausführungsform der vorliegenden Offenbarung ausgebildet ist. Wie es ersichtlich ist, umfasst das System 100 ein Prozedurerzeugungsmodul 140, ein Prozeduranwendungsmodul 150, ein Grundgerüstgeometrie-Erzeugungsmodul 160, ein Optimierungsmodul 170 und ein genetisches Programmieren-Modul 180, deren Betrieb nachstehend detaillierter beschrieben wird.
  • Das Verfahren beginnt durch Bereitstellen einer Eingabe-3D-Szene 120, die eine oder mehrere Modell(e) von Objekten enthält, die mit den zu erzeugenden 3D-Strukturen interagieren sollen. Die Modelle können von einem Nutzer oder Betreiber 110 des Systems bereitgestellt werden und/oder von einer geeigneten Datenbank von solchen Modellen erhalten werden. Die 2 zeigt ein Beispiel eines Nutzers, der ein 3D-Modell 200 bereitgestellt hat, mit dem die erzeugte 3D-Struktur interagieren wird. In diesem Beispiel ist das 3D-Modell 200 von einem Menschen in einer sitzenden Position, das zum Führen der Erzeugung einer Stuhlstruktur zum Stützen des menschlichen Modells verwendet wird.
  • Im Betrieb 130 konfiguriert (oder rekonfiguriert) der Nutzer 110 die Szene z.B. durch Festlegen von Interaktionsoberflächen. Dies ist in der 3 gezeigt, die durch den Nutzer festgelegte Interaktionsoberflächen des 3D-Modells gemäß einer Ausführungsform der vorliegenden Offenbarung zeigt. In diesem Beispiel ist eine der Interaktionsoberflächen 302 der Bereich des menschlichen Modells 200, durch den der Stuhl das Gewicht des Menschen stützen wird. Eine zweite Interaktionsoberfläche 304 ist mit dem unteren Rücken des menschlichen Modells 200 assoziiert, der durch ein Rückenlehnenmerkmal des Stuhls gestützt wird. Der Fußboden 306 ist auch als eine Interaktionsoberfläche festgelegt, durch welche die Komponenten des Stuhls nicht hindurchtreten sollten. Die Interaktionsoberflächen in diesem Beispiel werden durch den Nutzer während des 3D Szenenkonfigurationsverfahrens 130 rot gezeichnet. Selbstverständlich sind zusätzliche Interaktionsoberflächen (nicht gezeigt) möglich, wie z.B. die Rückseite des Kopfs für eine Kopfstütze und Abschnitte der Arme für Armauflagen.
  • Es sind komplexere Szenen möglich. Beispielsweise können viele menschliche Modelle in einer Szene bereitgestellt werden, wobei jedes so angeordnet ist, dass es mit verschiedenen Strukturen in verschiedener Weise interagiert. Selbstverständlich müssen die Modelle nicht auf Menschen beschränkt sein. Beispielsweise könnte das Modell einen Frachtgegenstand darstellen, der auf einem Anhänger transportiert wird, wobei der Anhänger die zu erzeugende 3D-Struktur ist, die an den Typ der Fracht angepasst werden sollte.
  • Der Nutzer 110 kann auch andere funktionelle und geometrische Beschränkungen über die Interaktionsoberflächen hinaus bereitstellen. Viele Beschränkungstypen sind möglich. Beispielsweise kann ein einhüllendes Volumen so festgelegt werden, dass die resultierende Struktur innerhalb dieses Volumenraums enthalten sein muss. Entsprechend kann ein Vermeidungsvolumen so festgelegt werden, dass sich die resultierende Struktur nicht in diesen Volumenraum erstrecken muss. Zusätzlich kann ein Fußboden oder eine Bodenebene festgelegt werden, von der sich die Struktur aufwärts erstrecken kann, jedoch nicht nach unten vorragen kann.
  • Eine maximale und/oder minimale Gesamtlänge aller Vertex- bzw. Scheitelpunkte kann oder können festgelegt werden, um z.B. die Komplexität und gegebenenfalls die Kosten der resultierenden 3D-Struktur einzustellen. Entsprechend kann eine maximale und/oder minimale Gesamtmasse der resultierenden Struktur festgelegt werden. Die Masse kann im Allgemeinen auf die Zahl und die Größe der Komponenten (z.B. Scheitelpunkte und Kanten) bezogen sein. In einigen Ausführungsformen können spezifische Massenwerte für die Komponenten bereitgestellt werden, z.B. in den Regeln der VRG-Systeme. Symmetriebeschränkungen können ebenfalls festgelegt werden, wobei es z.B. erforderlich ist, dass die resultierende Struktur um eine oder mehrere Achse(n) symmetrisch ist.
  • Stabilitätsbeschränkungen können ebenfalls bereitgestellt werden. Beispielsweise kann es erforderlich sein, dass der Schwerpunkt der resultierenden Struktur innerhalb eines spezifischen Bereichs innerhalb der Struktur beschränkt ist, so dass sie selbst unter dem Einfluss der Schwerkraft oder anderen ausgeübten Kräften nicht kippt. Solche Stabilitätsbeschränkungen können ferner in jedweder gewünschten Weise auf das Vermögen der Struktur, zu stehen, ein weiteres Objekt zu stützen und/oder geschoben, gezogen oder gegriffen zu werden, erweitert werden oder sich darauf beziehen.
  • Zusätzlich können Gewichtungsskalafaktoren bereitgestellt werden, um eine oder mehrere der ausgewählten Beschränkungen in dem Verfahren des Messens der Eignung der erzeugten Struktur gemäß den offenbarten Techniken zu betonen oder abzuschwächen. Die vorstehend genannte Liste von Beschränkungen ist als ein Beispiel bereitgestellt und soll nicht allumfassend sein. Jedwede Beschränkung, die effizient bewertet werden kann, kann potenziell zum Führen des Verfahrens verwendet werden, einschließlich die Aerodynamik oder andere physikalische Eigenschaften, sowie ästhetische Kriterien, auf die ein Maß angewandt werden kann.
  • Das Prozedurerzeugungsmodul 140 ist zum Erzeugen eines Anfangssatzes von Regeln (auch als Regelgraphen bezeichnet) für eine Familie von VRG-Systemen ausgebildet. Das Prozeduranwendungsmodul 150 ist zum Anwenden dieser Regeln auf einen Satz von Vertex- bzw. Scheitelpunkten ausgebildet. Diese Regelgraphen und deren Anwendung sind in der 4 gezeigt, die Beispiele für Regelgraphen 410 und Regelgrapherweiterungen 420 gemäß einer Ausführungsform der vorliegenden Offenbarung zeigt. Der Regelgraph 410 ist in diesem vereinfachten 2-dimensionalen Beispiel so gezeigt, dass er zwei Regeln P1 und P2 umfasst, die miteinander verknüpft sind. Die Regel P1 legt die Erzeugung einer Kantenverbindung zwischen einem ersten Scheitelpunkt v und einem zweiten Scheitelpunkt u in einer Richtung von theta = 0 Grad (z.B. entlang der x-Achse) mit einer Distanzlänge (d) von 1 Einheit fest. Es sollte beachtet werden, dass in dem allgemeineren 3D-Fall die Regel zwei Richtungsvektoren festlegen kann, um eine Richtung sowohl als Polar- als auch als Azimutwinkel oder in jedwedem anderen zweckmäßigen Koordinatensystem zu beschreiben. Die Regel legt auch eine Rekursionsgrenze n = 3, wie sie nachstehend erläutert wird, im Zusammenhang mit der Regelerweiterung fest. Die Regel legt ferner fest, dass der zweite Scheitelpunkt u auf einen inaktiven Zustand eingestellt wird (durch die Schattierung angegeben), während der erste Scheitelpunkt v in einem aktiven Zustand bleibt, wie es ebenfalls nachstehend erläutert wird.
  • Die Regel P2 legt die Erzeugung einer zweiten Kantenverbindung zwischen dem aktiven Scheitelpunkt v von der Regel P1 zu einem zweiten neuen Scheitelpunkt u in einer Richtung von theta = 90 Grad (z.B. entlang der y-Achse) ebenfalls mit einer Distanzlänge (d) von 1 Einheit und einer Rekursionsgrenze von n = 3 fest. Die Regel P2 legt auch fest, dass der neue zweite Scheitelpunkt u auf einen aktiven Zustand eingestellt wird, während der erste Scheitelpunkt v auf einen inaktiven Zustand eingestellt wird (durch die Schattierung angegeben). Der Regelgraph gibt ferner an, dass die Regel P2 bezüglich des Scheitelpunkts u zurück zu der Regel P1 verknüpft ist.
  • Zusätzlich zu Verbindungsregeln können die VRG-Systeme Eigenschaftsparameter der Scheitelpunkte festlegen. In einigen Ausführungsformen umfassen diese Parameter das Aktiv/Inaktiv-Zustandskennzeichen und die Rekursionsgrenze, wie sie vorstehend erwähnt worden sind, sowie einen Orthonormalsatz von Vektoren zum Festlegen des Koordinatensystems des Scheitelpunkts, und von Radien von Zylindern und Kugeln, die bei der Erzeugung der Grundgerüstgeometrie verwendet werden sollen, wie es nachstehend beschrieben ist. Jedwede Anzahl von anderen geeigneten Parametern oder Eigenschaften kann ebenfalls einbezogen werden.
  • In einigen Ausführungsformen kann das Prozedurerzeugungsmodul 140 zum Initialisieren der Regelgraphen von jedem der VRG-Systeme mit randomisierten Verbindungen zwischen den Scheitelpunkten und mit randomisierten Eigenschaftsparametern der Scheitelpunkte ausgebildet sein. Diese anfänglichen zufälligen Werte, obwohl es unwahrscheinlich ist, dass sie in der ersten Iteration zufriedenstellende Strukturen erzeugen, werden schließlich nach einer Anzahl von Iterationen oder Evolutionen der nachstehend beschriebenen genetischen Programmiertechniken konvergieren, wie es nachstehend beschrieben ist.
  • Die 4 zeigt auch eine Erweiterung 420 eines Scheitelpunkts zu neu erzeugten Scheitelpunkten durch Kantenverbindungen auf der Basis von rekursiven Anwendungen der Regeln des Regelgraphen 410, wie es vorstehend beschrieben worden ist. Das Prozeduranwendungsmodul 150 ist zum Anwenden dieser Regeln zum Erweitern eines Anfangssatzes von Scheitelpunkten zu einem Graphen ausgebildet. In einigen Ausführungsformen kann der Anfangssatz von Scheitelpunkten an den Interaktionsoberflächen beginnen. Die Erweiterung beginnt in diesem vereinfachten Beispiel mit einem anfänglichen Scheitelpunkt, der als A bezeichnet wird, bei 420a, der mit Rekursionszählern (0,0) bezeichnet wird, um die Anzahl von rekursiven Anwendungen der Regeln P1 bzw. P2 anzugeben. Die Rekursionszähler werden anfänglich auf Null gestellt, da noch keine Regel angewandt worden ist. Als nächstes wird bei 420b die Regel P1 zum Erzeugen eines neuen Scheitelpunkts B in einer Richtung von 0 Grad bei einer Distanz von 1 Einheit in einem inaktiven Zustand angewandt. Die Rekursionszähler des Scheitelpunkts A werden auf (1,0) aktualisiert, um eine Anwendung der Regel P1 anzugeben. Als nächstes wird bei 420c die Regel P2 auf den aktiven Scheitelpunkt A gemäß dem Regelgraphen 410 angewandt (die Regeln wechseln sich bei ihrer Erweiterung ab), um einen neuen Scheitelpunkt C in einer Richtung von 90 Grad bei einer Distanz von 1 Einheit in einem aktiven Zustand zu erzeugen. Der Scheitelpunkt A wird auf inaktiv gesetzt und die Rekursionszähler werden nun mit dem aktiven Scheitelpunkt C assoziiert und auf (1,1) aktualisiert, um eine Anwendung der Regel P1 und eine Anwendung der Regel P2 anzugeben.
  • Als nächstes wird bei 420d die Regel P1 auf den aktiven Scheitelpunkt C gemäß dem Regelgraphen 410 zum Erzeugen eines neuen Scheitelpunkts D in einer Richtung von 0 Grad bei einer Distanz von 1 Einheit in einem inaktiven Zustand angewandt. Der Scheitelpunkt C bleibt aktiv und die Rekursionszähler werden auf (2,1) aktualisiert, um zwei Anwendungen der Regel P1 und eine Anwendung der Regel P2 anzugeben.
  • Als nächstes wird bei 420e die Regel P2 auf den aktiven Scheitelpunkt C gemäß dem Regelgraphen 410 zum Erzeugen eines neuen Scheitelpunkts E in einer Richtung von 90 Grad bei einer Distanz von 1 Einheit in einem aktiven Zustand angewandt. Der Scheitelpunkt C wird auf inaktiv gesetzt und die Rekursionszähler werden auf (2,2) aktualisiert, um zwei Anwendungen der Regel P1 und zwei Anwendungen der Regel P2 anzugeben.
  • Als nächstes wird bei 420f die Regel P1 auf den aktiven Scheitelpunkt E gemäß dem Regelgraphen 410 zum Erzeugen eines neuen Scheitelpunkts F in einer Richtung von 0 Grad bei einer Distanz von 1 Einheit in einem inaktiven Zustand angewandt. Der Scheitelpunkt E bleibt aktiv und die Rekursionszähler werden auf (3,2) aktualisiert, um drei Anwendungen der Regel P1 und zwei Anwendungen der Regel P2 anzugeben. An diesem Punkt wurde die Rekursionsgrenze von 3 für den Scheitelpunkt E erreicht, was alle Scheitelpunkte, die an der Erweiterung beteiligt sind, in den inaktiven Zustand versetzt. Da es keine verbleibenden aktiven Scheitelpunkte in dem Graphen gibt, stoppt die Erweiterung mit der resultierenden Struktur, die dem Großbuchstaben „E“ ähnelt, bei 420g.
  • Im Betrieb arbeitet das Prozeduranwendungsmodul 150 parallel mit jedem Anfangssatz der Scheitelpunkte zum Erzeugen eines 3D-Graphen, der mit jedem der VRG-Systeme assoziiert ist. Folglich wird eine Population von 3D-Graphen erzeugt, und zwar einer für jedes VRG-System, worauf die nachstehend beschriebenen genetischen Programmiertechniken angewandt werden können.
  • Das Grundgerüstgeometrie-Erzeugungsmodul 160 ist zum Erzeugen einer Grundgerüstgeometrie oder Oberflächendarstellung von jedem der 3D-Graphen durch Einbeziehen von Objektproxies, wie z.B. Zylindern und Kugeln, zum Darstellen der Scheitelpunkte und Kantenverbindungen ausgebildet. Die Radien der Zylinder und Kugeln können durch die Scheitelpunktparameter oder -eigenschaften, die in den Regeln der VRG-Systeme gespeichert sind, festgelegt werden.
  • Das Optimierungsmodul 170 ist zum Berechnen einer objektiven Funktion für jede der Grundgerüstgeometrien ausgebildet. Die objektive Funktion ist zum Bewerten der Eignung von jeder der Grundgerüstgeometrien auf der Basis der durch den Nutzer festgelegten Beschränkungen ausgebildet. In einigen Ausführungsformen kann die objektive Funktion als eine gewichtete Summierung von mathematischen Termen ausgedrückt werden, die zweckmäßig jede der durch den Nutzer festgelegten Beschränkungen beschreibt, wie es vorstehend beschrieben worden ist. Die objektive Funktion kann für die Graphen bewertet werden, die durch jedes der VRG-Systeme erzeugt worden sind, so dass die Systeme zur Verwendung in dem genetisches Programmieren-Verfahren bewertet und eingestuft/sortiert werden können.
  • Das genetisches Programmieren-Modul 180 ist zum Erzeugen der 3D-Struktur durch eine iterative Anwendung von genetisches Programmieren-Techniken, einschließlich eine Graphenüberschneidung und Mutation, auf die Regelgraphen eines ausgewählten Teilsatzes der Familie von VRG-Systemen ausgebildet.
  • Ein ausgewählter Bruchteil, wie z.B. zehn Prozent, der Regelgraphen der am höchsten bewerteten VRG-Systeme wird Graph-Überschneidungen unterzogen. Das Graph-Überschneidungsverfahren ist in der 5 gezeigt. In dem oberen Abschnitt der Figur sind zwei Regelgraphen gezeigt, nämlich ein Regelgraph eins 502 und ein Regelgraph zwei 504. Dann wird ein Regelgraph-Überschneidungsvorgang 510 zum Tauschen oder Wechseln von zwei zufällig ausgewählten Regeln, in diesem Beispiel der Regeln P3 und P6, zwischen den Regelgraphen zum Erzeugen von modifizierten Regelgraphen 506 und 508 durchgeführt. Das Tauschen oder Wechseln von Regeln umfasst das Tauschen von Regelparametern und Kanten. In einigen Ausführungsformen kann mehr als ein Paar von Regeln zwischen Regelgraphen getauscht werden. Die resultierenden Graph-Überschneidungen werden in die nächste Generation weiterkopiert (Iteration).
  • In einigen Ausführungsformen führt das genetisches Programmieren-Modul 180 auch einen Elitismus durch, wobei zwei oder drei der besten Regelgraphen intakt in die nächste Generation vorwärtskopiert werden. Schließlich werden zufällige Mutationen auf die nächste Generation von Regelgraphen durch zufälliges Variieren eines kleinen Prozentsatzes (z.B. von einem Prozent) der Verbindungsregeln und Scheitelpunktparameter angewandt. Diese nächste Generation von Regelgraphen wird zu dem Prozeduranwendungsmodul 150 für eine anschließende Iteration (Evolution) des Grapherzeugungsverfahrens zurückgeführt, bis die objektive Funktion eine gewünschte Schwelle erreicht, die angibt, dass gegebenenfalls eine zufriedenstellende 3D-Struktur erzeugt worden ist. Die resultierende Struktur, die eingebettet und eine Ausgabe-3D-Szene 190 sein kann, wird für den Nutzer zum Zustimmen oder zum Modifizieren dargestellt, wie es vorstehend beschrieben worden ist.
  • Die 6 zeigt Beispiele für 3D-Strukturen, die als Reaktion auf das Variieren von Beschränkungen erzeugt worden sind, gemäß einer Ausführungsform der vorliegenden Offenbarung. Ein 3D-Modell einer Teekanne 610 wird für das System bereitgestellt, für das eine Stützstruktur erzeugt werden soll. In dem Beispiel 602 waren die durch den Nutzer festgelegten Beschränkungen auf die Festlegung einer Interaktionsoberfläche beschränkt, auf der die Teekanne gestellt werden würde, ohne dass weitere Beschränkungen vorliegen. Die resultierende Stützstruktur 620 ist gezeigt und umfasst eine relativ große Anzahl von scheinbar unnötigen Komponenten.
  • Im Beispiel 604 umfassten die durch den Nutzer festgelegten Beschränkungen eine zusätzliche Beschränkung zum Minimieren der Gesamtlänge der Struktur. Wie es ersichtlich ist, ist die resultierende Struktur 622 viel einfacher und weist weniger Komponenten auf, obwohl sie instabil zu sein scheint (z.B. würde sie unter dem Gewicht der Teekanne wahrscheinlich kippen).
  • Im Beispiel 606 umfassen die durch den Nutzer festgelegten Beschränkungen ferner eine zusätzliche Beschränkung zum Stabilisieren der Struktur. Wie es ersichtlich ist, weist die resultierende Struktur 624 eine Mehrzahl von Kontaktpunkten mit der Bodenebene zum Erhöhen der Stabilität auf. Schließlich ist im Beispiel 608 eine zusätzliche Beschränkung zum Minimieren der Masse der Struktur einbezogen, während die verkürzte Länge und die erhöhte Stabilität aufrechterhalten werden. Wie es ersichtlich ist, ist die resultierende Struktur 626 stärker geglättet und kann das gewünschte Ergebnis für den Nutzer bereitstellen.
  • Verfahrensweise
  • Die 7 ist ein Flussdiagramm, das ein Verfahren 700 für die Erzeugung von 3D-Strukturen unter Verwendung eines genetischen Programmierens zum Erfüllen von funktionellen und geometrischen Beschränkungen gemäß einer Ausführungsform der vorliegenden Offenbarung zeigt. Wie es ersichtlich ist, wird das Verfahren unter Bezugnahme auf die Konfiguration des Prozedurerzeugungsmoduls 140, des Prozeduranwendungsmoduls 150, des Grundgerüstgeometrie-Erzeugungsmoduls 160, des Optimierungsmoduls 170 und des genetisches Programmieren-Moduls 180 von 1 beschrieben. Zum Implementieren des Verfahrens kann jedoch jedwede Anzahl von Modulkonfigurationen verwendet werden, wie es im Hinblick auf diese Offenbarung ersichtlich ist. Ferner sollte beachtet werden, dass die in dem Verfahren gezeigten verschiedenen Funktionen nicht den gezeigten spezifischen Beispielmodulen zugeordnet sein müssen. Zu diesem Zweck ist die beispielhafte Verfahrensweise bereitgestellt, um eine Beispielausführungsform anzugeben, und sie soll die Verfahrensweise nicht auf irgendeine physikalische oder strukturelle Konfiguration beschränken.
  • Das Verfahren fährt bei dem Vorgang 710 durch Initialisieren einer Anzahl von Scheitelpunkt-Regel-Graph (VRG)-Systemen von einer ausgewählten Population von solchen VRG-Systemen fort. Die VRG-Systeme sind zum Bereitstellen von Regeln ausgebildet, die Kantenverbindungen zwischen Scheitelpunkten und Eigenschaftsparameter der Scheitelpunkte festlegen. In einigen Ausführungsformen umfasst das Initialisieren das Initialisieren der Regeln der VRG-Systeme mit randomisierten Verbindungen zwischen den Scheitelpunkten und mit randomisierten Eigenschaftsparametern der Scheitelpunkte. Das Initialisieren wird vor einer ersten Iteration des Verfahrens (z.B. vor der ersten Iteration des genetischen Programmierens) durchgeführt.
  • Das Verfahren fährt bei dem Vorgang 720 durch Anwenden der Regeln der VRG-Systeme auf einen Anfangssatz von Scheitelpunkten zum Erzeugen von 3D-Graphen fort. Jeder der 3D-Graphen ist mit einem der VRG-Systeme assoziiert. Der Anfangssatz von Scheitelpunkten ist mit einer durch den Nutzer festgelegten Interaktionsoberfläche zwischen der zu erzeugenden Struktur und einem durch den Nutzer bereitgestellten 3D-Modell assoziiert, wie es vorstehend beschrieben worden ist.
  • Als nächstes werden bei dem Vorgang 730 Grundgerüstgeometrien für jeden der 3D-Graphen erzeugt. In einigen Ausführungsformen werden die Grundgerüstgeometrien durch Ersetzen der Kantenverbindungen der 3D-Graphen durch Zylinder und Ersetzen der Scheitelpunkte der 3D-Graphen durch Kugeln erzeugt. Die Zylinder und Kugeln können durch Scheitelpunkteigenschaften charakterisiert werden, die in die Regeln der VRG-Systeme einbezogen sind.
  • Bei dem Vorgang 740 wird eine objektive Funktion für jede der Grundgerüstgeometrien berechnet. Die objektive Funktion ist zum Bewerten der Eignung der Grundgerüstgeometrien auf der Basis der durch den Nutzer festgelegten geometrischen und funktionellen Beschränkungen ausgebildet. In einigen Ausführungsformen können die Beschränkungen eine oder mehrere eines Anpassungsvolumens, eines Vermeidungsvolumens, einer Symmetrieanforderung, der Interaktionsoberflächen, einer maximalen Gesamtlänge der Kantenverbindungen und einer maximalen Masse der 3D-Struktur umfassen.
  • Bei dem Vorgang 750 wird eine 3D-Struktur durch eine iterative Anwendung von genetisches Programmieren-Techniken auf die VRG-Systeme zum Minimieren der objektiven Funktion erzeugt. In einigen Ausführungsformen umfassen die genetisches Programmieren-Techniken das Durchführen von Graph-Überschneidungen der VRG-Systeme und Anwenden von Mutationen auf die Regeln und Scheitelpunkte der VRG-Systeme, wie es vorstehend beschrieben worden ist.
  • In einigen Ausführungsformen werden zusätzliche Vorgänge durchgeführt. Beispielsweise werden in einer Ausführungsform anfängliche Ergebnisse für den Nutzer bereitgestellt und eine Rückmeldung wird für das Einbeziehen in das iterative Verfahren erhalten. Die Nutzerrückmeldung kann aktualisierte Beschränkungen, aktualisierte Gewichtungsfaktoren für die Beschränkungen und aktualisierte Interaktionsoberflächen umfassen.
  • Beispielplattform
  • Die 8 ist ein Blockdiagramm, das schematisch eine Rechenplattform oder -vorrichtung 800 zeigt, die zum Durchführen von jedweder der Techniken verwendet wird, wie sie verschiedenartig in dieser Offenbarung beschrieben sind. Beispielsweise werden in einigen Ausführungsformen ein System zum Erzeugen von 3D-Strukturen der 1 oder jedwede Abschnitte davon und die Verfahrensweisen von 7 oder jedwede Abschnitte davon in der Rechenplattform 800 implementiert. In einigen Ausführungsformen ist die Rechenplattform 800 ein Computersystem, wie z.B. eine Workstation, ein Desktopcomputer, ein Server, ein Laptop, ein handgehaltener Computer, ein Tabletcomputer (z.B. der iPad-Tabletcomputer), eine mobile Rechen- oder Kommunikationsvorrichtung (z.B. die mobile iPhone-Kommunikationsvorrichtung, eine mobile Android-Kommunikationsvorrichtung und dergleichen) oder eine andere Form von Rechen- oder Telekommunikationsvorrichtung, die kommunizieren kann und die eine ausreichende Prozessorleistung und ein ausreichendes Speichervermögen zur Durchführung der in dieser Offenbarung beschriebenen Vorgänge aufweist. In einigen Ausführungsformen wird ein verteiltes Rechensystem bereitgestellt, das eine Mehrzahl solcher Rechenvorrichtungen umfasst.
  • Die Rechenplattform 800 umfasst eine oder mehrere Speichervorrichtung(en) 890 und/oder nicht-flüchtige computerlesbare Medien 830, auf der oder dem oder denen eine oder mehrere computerausführbare Anweisungen oder Software zum Implementieren von Techniken, wie sie in dieser Offenbarung verschiedenartig beschrieben sind, kodiert ist oder sind. In einigen Ausführungsformen umfassen die Speichervorrichtungen 890 einen Computersystemspeicher oder einen Direktzugriffsspeicher, wie z.B. einen dauerhaften Plattenspeicher (z.B. jedwede geeignete optische oder magnetische Speichervorrichtung, einschließlich RAM, ROM, Flash, ein USB-Laufwerk oder ein anderes Speichermedium auf Halbleiterbasis), eine Festplatte, einen CD-ROM oder ein anderes computerlesbares Medium zum Speichern von Daten und computerlesbaren Anweisungen und/oder Software, die verschiedene Ausführungsformen implementieren, wie sie in dieser Offenbarung gelehrt werden. In einigen Ausführungsformen umfasst die Speichervorrichtung 890 auch andere Arten von Speicher oder Kombinationen davon. In einer Ausführungsform ist die Speichervorrichtung 890 auf der Rechenplattform 800 bereitgestellt. In einer weiteren Ausführungsform ist die Speichervorrichtung 890 getrennt oder entfernt von der Rechenplattform 800 bereitgestellt. Die nicht-flüchtigen computerlesbaren Medien 830 umfassen, sind jedoch nicht beschränkt auf, eine oder mehrere Art(en) von Hardwarespeicher, nicht-flüchtige physische Medien (z.B. eine oder mehrere Magnetspeicherplatte(n), eine oder mehrere optische Platte(n), ein oder mehrere USB-Flashlaufwerk(e)) und dergleichen. In einigen Ausführungsformen speichern die nicht-flüchtigen computerlesbaren Medien 830, die in die Rechenplattform 800 einbezogen sind, computerlesbare und computerausführbare Anweisungen oder Software zum Implementieren von verschiedenen Ausführungsformen. In einer Ausführungsform sind die computerlesbaren Medien 830 auf der Rechenplattform 800 bereitgestellt. In einer weiteren Ausführungsform sind die computerlesbaren Medien 830 getrennt oder entfernt von der Rechenplattform 800 bereitgestellt.
  • Die Rechenplattform 800 umfasst auch mindestens einen Prozessor 810 zum Ausführen von computerlesbaren und computerausführbaren Anweisungen oder Software, die in der Speichervorrichtung 890 und/oder nicht-flüchtigen computerlesbaren Medien 830 gespeichert sind, und anderen Programmen zum Steuern der Systemhardware. In einigen Ausführungsformen wird eine Virtualisierung in der Rechenplattform 800 eingesetzt, so dass die Infrastruktur und die Ressourcen in der Rechenplattform 800 dynamisch geteilt werden. Beispielsweise wird eine virtuelle Maschine zum Handhaben eines Verfahrens bereitgestellt, das auf mehreren Prozessoren läuft, so dass das Verfahren nur eine Rechenressource anstatt einer Mehrzahl von Rechenressourcen zu nutzen scheint. In einigen Ausführungsformen wird mit einem Prozessor eine Mehrzahl von virtuellen Maschinen verwendet.
  • Wie es ferner ersichtlich ist, ist auch eine Verbindungseinrichtung 805 zum Ermöglichen einer Kommunikation zwischen den verschiedenen vorstehend angegebenen Komponenten und/oder anderen, nicht gezeigten Komponenten bereitgestellt. Die Rechenplattform 800 kann durch eine Netzwerkschnittstellenschaltung 840 mit einem Netzwerk 850 (z.B. einem lokalen Netzwerk oder einem Weitbereichsnetzwerk, wie z.B. dem Internet) gekoppelt sein, so dass eine Kommunikation mit anderen Rechenvorrichtungen, -plattformen, -ressourcen, Client- und Internet der Dinge (IoT)-Vorrichtungen ermöglicht wird.
  • In einigen Ausführungsformen interagiert ein Nutzer mit der Rechenplattform 800 durch ein Eingabe/Ausgabe-System 860, das mit Vorrichtungen, wie z.B. einer Tastatur und einer Maus 870 und/oder einem Anzeigeelement (Bildschirm/Monitor) 880, verbunden ist, die eine Nutzerschnittstelle zum Erhalten einer Nutzereingabe und -führung bereitstellen, wie z.B. zum Ausbilden oder Steuern der 3D-Strukturerzeugung. In einigen Ausführungsformen umfasst die Rechenplattform 800 weitere I/O-Vorrichtungen (nicht gezeigt) zum Erhalten einer Eingabe von einem Nutzer, z.B. eine Zeigevorrichtung oder ein Touchpad, usw., oder jedwede andere geeignete Nutzerschnittstelle. In einigen Ausführungsformen umfasst die Rechenplattform 800 weitere geeignete herkömmliche I/O-Peripheriegeräte. Die Rechenplattform 800 kann verschiedene geeignete Vorrichtungen zum Durchführen eines oder mehrerer der Aspekte, wie sie verschiedenartig in dieser Offenbarung beschrieben sind, umfassen und/oder funktionell mit diesen gekoppelt sein.
  • In einigen Ausführungsformen läuft auf der Rechenplattform 800 ein Betriebssystem (OS) 820, wie z.B. jedwede der Versionen von Microsoft Windows-Betriebssystemen, der verschiedenen Versionen der Unix- und Linux-Betriebssysteme, jedwede Version von MacOS für Macintosh-Computer, jedwedes eingebettete Betriebssystem, jedwedes Echtzeitbetriebssystem, jedwedes Open source-Betriebssystem, jedwedes Unternehmensbetriebssystem, jedwede Betriebssysteme für mobile Rechenvorrichtungen oder jedwedes andere Betriebssystem, das auf der Rechenplattform 800 laufen kann und die in dieser Offenbarung beschriebenen Vorgänge durchführen kann. In einer Ausführungsform läuft das Betriebssystem auf einer oder mehreren Cloudmaschineninstanz(en).
  • Wie es im Hinblick auf diese Offenbarung ersichtlich ist, können die verschiedenen Module und Komponenten des Systems, einschließlich das Prozedurerzeugungsmodul 140, das Prozeduranwendungsmodul 150, das Grundgerüstgeometrie-Erzeugungsmodul 160, das Optimierungsmodul 170 und das genetisches Programmieren-Modul 180, als Software implementiert werden, wie z.B. als Satz von Anweisungen (z.B. HTML, XML, C, C++, Objektorientiertes C, JavaScript, Java, BASIC, usw.), die auf jedwedem computerlesbaren Medium oder Computerprogrammprodukt kodiert sind (z.B. einer Festplatte, einem Server, einer Platte oder einem anderen geeigneten nicht-flüchtigen Speicher oder Satz von Speichern), die, wenn sie durch einen oder mehrere Prozessor(en) ausgeführt werden, bewirken, dass die verschiedenen Verfahrensweisen, die in dieser Offenbarung bereitgestellt werden, durchgeführt werden. In einigen Ausführungsformen können verschiedene Funktionen und Datenumwandlungen, die durch das Nutzer-Rechensystem durchgeführt werden, wie es in dieser Offenbarung beschrieben ist, durch ähnliche Prozessoren und/oder Datenbanken in verschiedenen Konfigurationen und Anordnungen durchgeführt werden, und die gezeigten Ausführungsformen sollen nicht beschränkend sein. Verschiedene Komponenten dieser Beispielausführungsform, einschließlich die Rechenplattform 800, können z.B. in einen oder mehrere von Desktop- oder Laptopcomputern, Workstations, Tablets, Smartphones, Spielekonsolen, Digitalempfängern oder anderen derartigen Rechenvorrichtungen einbezogen werden. Weitere Komponenten und Module, die für ein Rechensystem typisch sind, wie z.B. ein Ko-Prozessor, ein Prozessorkern, eine Graphikprozessoreinheit, ein Touchpad, ein Berührungsbildschirm, usw., sind nicht gezeigt, sind jedoch leicht ersichtlich.
  • In weiteren Ausführungsformen sind die funktionellen Komponenten/Module als Hardware implementiert, wie z.B. als Gateniveau-Logik (z.B. FPGA) oder als speziell aufgebauter Halbleiter (z.B. ASIC). Weitere Ausführungsformen sind mit einem Mikrocontroller mit einer Anzahl von Eingabe/Ausgabe-Ports zum Erhalten und Ausgeben von Daten und einer Anzahl von eingebetteten Routinen zum Durchführen der Funktionalität, die in dieser Offenbarung beschrieben ist, implementiert. In einem allgemeineren Sinn kann jedwede geeignete Kombination von Hardware, Software und Firmware verwendet werden, wie es ersichtlich ist.
  • Beispielausführungsformen
  • Zahlreiche Beispielausführungsformen sind ersichtlich und hier beschriebene Merkmale können in jedweder Anzahl von Konfigurationen kombiniert werden.
  • Das Beispiel 1 umfasst ein Verfahren zum Erzeugen einer 3-dimensionalen (3D) Struktur. Das Verfahren umfasst: Erhalten, durch ein System auf Prozessorbasis, einer oder mehrerer Beschränkung(en), die für eine zu erzeugende 3D-Struktur relevant ist oder sind, wobei mindestens eine der einen oder der mehreren Beschränkung(en) von einer vorgesehenen Interaktionsoberfläche eines vorgegebenen 3D-Modells abgeleitet ist; und Erzeugen, durch das System auf Prozessorbasis, der 3D-Struktur unter Verwendung der einen oder der mehreren Beschränkung(en), einschließlich der vorgesehenen Interaktionsoberfläche des vorgegebenen 3D-Modells, durch eine iterative Anwendung eines genetischen Programmierens auf eine Mehrzahl von Scheitelpunkt-Regel-Graph (VRG)-Systemen zum Entwickeln der VRG-Systeme auf der Basis der Beschränkungen.
  • Das Beispiel 2 umfasst den Gegenstand von Beispiel 1, bei dem das Erzeugen ferner umfasst: Initialisieren, durch das System auf Prozessorbasis, der Mehrzahl von VRG-Systemen, wobei die VRG-Systeme zum Bereitstellen von Regeln ausgebildet sind, die Kantenverbindungen zwischen Scheitelpunkten und Eigenschaftsparameter der Scheitelpunkte festlegen; Anwenden, durch das System auf Prozessorbasis, der Regeln der VRG-Systeme auf einen Anfangssatz von Scheitelpunkten zum Erzeugen einer Mehrzahl von 3D-Graphen, wobei jeder der 3D-Graphen mit einem der VRG-Systeme assoziiert ist, wobei der Anfangssatz von Scheitelpunkten mit der vorgesehenen Interaktionsoberfläche des vorgegebenen 3D-Modells assoziiert ist; Erzeugen, durch das System auf Prozessorbasis, einer Mehrzahl von Grundgerüstgeometrien, wobei jede der Grundgerüstgeometrien mit einem der 3D-Graphen assoziiert ist; Berechnen, durch das System auf Prozessorbasis, einer objektiven Funktion für jede der Grundgerüstgeometrien, wobei die objektive Funktion zum Bewerten der Eignung der Grundgerüstgeometrien auf der Basis von vorgegebenen Beschränkungen ausgebildet ist, wobei die vorgegebenen Beschränkungen die Interaktionsoberfläche des vorgegebenen 3D-Modells umfassen; und Erzeugen, durch das System auf Prozessorbasis, der 3D-Struktur durch eine iterative Anwendung des genetischen Programmierens auf einen ausgewählten Teilsatz der Mehrzahl von VRG-Systemen, wobei das genetische Programmieren zum Minimieren der objektiven Funktion iteriert.
  • Das Beispiel 3 umfasst den Gegenstand von Beispiel 1 oder 2, bei dem das genetische Programmieren ferner das Durchführen von Graph-Überschneidungen der VRG-Systeme und das Anwenden von Mutationen auf die Regeln und Scheitelpunkte der VRG-Systeme umfasst.
  • Das Beispiel 4 umfasst den Gegenstand von einem der Beispiele 1 bis 3, bei dem das Initialisieren ferner das Initialisieren der Regeln der Mehrzahl von VRG-Systemen mit randomisierten Verbindungen zwischen den Scheitelpunkten und mit randomisierten Eigenschaftsparametern der Scheitelpunkte umfasst, wobei das Initialisieren vor einer ersten Iteration des Verfahrens durchgeführt wird.
  • Das Beispiel 5 umfasst den Gegenstand von einem der Beispiele 1 bis 4, bei dem die VRG-Systemregeln, die Kantenverbindungen zwischen Scheitelpunkten festlegen, mindestens eines von einem Richtungsparameter, einem Distanzparameter, einem Rekursionsgrenze-Parameter und einem Symmetriekennzeichen umfassen.
  • Das Beispiel 6 umfasst den Gegenstand von einem der Beispiele 1 bis 5, bei dem die VRG-Systemregeln, die Eigenschaftsparameter der Scheitelpunkte festlegen, mindestens eines von einem Aktiv/Inaktiv-Zustandskennzeichen des Scheitelpunkts, von Orthonormalvektoren, die ein Koordinatensystem des Scheitelpunkts festlegen, und Rekursionszählern für jede der Regeln, die auf den Scheitelpunkt angewandt werden sollen, umfassen.
  • Das Beispiel 7 umfasst den Gegenstand von einem der Beispiele 1 bis 6, bei dem das Erzeugen der Grundgerüstgeometrien ferner das Ersetzen der Kantenverbindungen der 3D-Graphen durch Zylinder und das Ersetzen der Scheitelpunkte der 3D-Graphen durch Kugeln umfasst.
  • Das Beispiel 8 umfasst den Gegenstand von einem der Beispiele 1 bis 7, bei dem die Beschränkungen ferner mindestens eines von einem Anpassungsvolumen, einem Vermeidungsvolumen, einer Symmetrieanforderung, einer maximalen Gesamtlänge der Kantenverbindungen und einer maximalen Masse der 3D-Struktur umfassen.
  • Das Beispiel 9 umfasst den Gegenstand von einem der Beispiele 1 bis 8, ferner umfassend: Darstellen der erzeugten 3D-Struktur zum Anzeigen; Erhalten von einer oder mehreren aktualisierten Beschränkung(en), einschließlich eine oder mehrere aktualisierte Interaktionsoberfläche(n); Erhalten von Gewichtungsfaktoren, die mit den Beschränkungen assoziiert sind, welche die eine oder mehreren aktualisierte(n) Beschränkung(en) umfassen; und Iterieren des Verfahrens unter Verwendung der Gewichtungsfaktoren und der einen oder der mehreren aktualisierten Beschränkung(en).
  • Das Beispiel 10 ist ein System zum Erzeugen einer 3-dimensionalen (3D) Struktur. Das System umfasst: einen oder mehrere Prozessor(en); ein Prozedurerzeugungsmodul, das mindestens eines von durch den einen oder die mehreren Prozessor(en) steuerbar und ausführbar ist und zum Initialisieren einer Mehrzahl von Scheitelpunkt-Regel-Graph (VRG)-Systemen ausgebildet ist, wobei die VRG-Systeme zum Bereitstellen von Regeln ausgebildet sind, die Kantenverbindungen zwischen Scheitelpunkten und Eigenschaftsparameter der Scheitelpunkte festlegen; ein Prozeduranwendungsmodul, das mindestens eines von durch den einen oder die mehreren Prozessor(en) steuerbar und ausführbar ist und zum Anwenden der Regeln der VRG-Systeme auf einen Anfangssatz von Scheitelpunkten zum Erzeugen einer Mehrzahl von 3D-Graphen anwendbar ist, wobei jeder der 3D-Graphen mit einem der VRG-Systeme assoziiert ist, wobei der Anfangssatz von Scheitelpunkten mit einer vorgesehenen Interaktionsoberfläche eines 3D-Modells assoziiert ist; ein Grundgerüstgeometrie-Erzeugungsmodul, das mindestens eines von durch den einen oder die mehreren Prozessor(en) steuerbar und ausführbar ist und zum Erzeugen einer Mehrzahl von Grundgerüstgeometrien ausgebildet ist, wobei jede der Grundgerüstgeometrien mit einem der 3D-Graphen assoziiert ist; ein Optimierungsmodul, das mindestens eines von durch den einen oder die mehreren Prozessor(en) steuerbar und ausführbar ist und zum Berechnen einer objektiven Funktion für jede der Grundgerüstgeometrien ausgebildet ist, wobei die objektive Funktion zum Bewerten der Eignung der Grundgerüstgeometrien auf der Basis von vorgegebenen Beschränkungen ausgebildet ist, wobei die vorgegebenen Beschränkungen mindestens eines von einem Anpassungsvolumen, einem Vermeidungsvolumen, einer Symmetrieanforderung, der Interaktionsoberflächen, einer maximalen Gesamtlänge der Kantenverbindungen und einer maximalen Masse der 3D-Struktur umfassen; und ein genetisches Programmieren-Modul, das mindestens eines von durch den einen oder die mehreren Prozessor(en) steuerbar und ausführbar ist und zum Erzeugen der 3D-Struktur durch eine iterative Anwendung eines genetischen Programmierens auf einen ausgewählten Teilsatz der Mehrzahl von VRG-Systemen ausgebildet ist, wobei das genetische Programmieren zum Minimieren der objektiven Funktion iteriert, wobei das genetische Programmieren-Modul ferner zum Durchführen von Graph-Überschneidungen der VRG-Systeme und zum Anwenden von Mutationen auf die Regeln und Scheitelpunkte der VRG-Systeme ausgebildet ist.
  • Das Beispiel 11 umfasst den Gegenstand von Beispiel 10, bei dem das Prozedurerzeugungsmodul ferner zum Initialisieren der Regeln der Mehrzahl von VRG-Systemen mit randomisierten Verbindungen zwischen den Scheitelpunkten und mit randomisierten Eigenschaftsparametern der Scheitelpunkte ausgebildet ist, wobei das Initialisieren vor einer ersten Iteration des genetischen Programmierens durchgeführt wird.
  • Das Beispiel 12 umfasst den Gegenstand von Beispiel 10 oder 11, bei dem die VRG-Systemregeln Kantenverbindungen zwischen Scheitelpunkten festlegen, die mindestens eines von einem Richtungsparameter, einem Distanzparameter, einem Rekursionsgrenze-Parameter und einem Symmetriekennzeichen umfassen; und die VRG-Systemregeln, die Eigenschaftsparameter der Scheitelpunkte festlegen, mindestens eines von einem Aktiv/Inaktiv-Zustandskennzeichen des Scheitelpunkts, von Orthonormalvektoren, die ein Koordinatensystem des Scheitelpunkts festlegen, und von Rekursionszählern für jede der Regeln, die auf den Scheitelpunkt angewandt werden sollen, umfassen.
  • Das Beispiel 13 ist ein nicht-flüchtiges Computerprogrammprodukt, auf dem Anweisungen kodiert sind, die, wenn sie durch den einen oder die mehreren Computerprozessor(en) ausgeführt werden, bewirken, dass der eine oder die mehreren Computerprozessor(en) ein Verfahren durchführt oder durchführen, umfassend: Erhalten einer oder mehrerer Beschränkung(en), die für eine zu erzeugende 3D-Struktur relevant sind, wobei mindestens eine der einen oder der mehreren Beschränkung(en) von einer vorgesehenen Interaktionsoberfläche eines vorgegebenen 3D-Modells abgeleitet sind; und Erzeugen der 3D-Struktur unter Verwendung der einen oder der mehreren Beschränkung(en), einschließlich die vorgesehene Interaktionsoberfläche des vorgegebenen 3D-Modells, durch eine iterative Anwendung eines genetischen Programmierens auf eine Mehrzahl von Scheitelpunkt-Regel-Graph (VRG)-Systemen zum Entwickeln der VRG-Systeme auf der Basis der Beschränkungen.
  • Das Beispiel 14 umfasst den Gegenstand von Beispiel 13, bei dem das Erzeugen ferner umfasst: Initialisieren der Mehrzahl von VRG-Systemen, wobei die VRG-Systeme zum Bereitstellen von Regeln ausgebildet sind, die Kantenverbindungen zwischen Scheitelpunkten und Eigenschaftsparametern der Scheitelpunkte festlegen; Anwenden der Regeln der VRG-Systeme auf einen Anfangssatz von Scheitelpunkten zum Erzeugen einer Mehrzahl von 3D-Graphen, wobei jeder der 3D-Graphen mit einem der VRG-Systeme assoziiert ist, wobei der Anfangssatz der Scheitelpunkte mit der vorgesehenen Interaktionsoberfläche des vorgegebenen 3D-Modells assoziiert ist; Erzeugen einer Mehrzahl von Grundgerüstgeometrien, wobei jede der Grundgerüstgeometrien mit einem der 3D-Graphen assoziiert ist; Berechnen einer objektiven Funktion für jede der Grundgerüstgeometrien, wobei die objektive Funktion zum Bewerten der Eignung der Grundgerüstgeometrien auf der Basis von vorgegebenen Beschränkungen ausgebildet ist, wobei die vorgegebenen Beschränkungen die Interaktionsoberfläche des vorgegebenen 3D-Modells umfassen; und Erzeugen der 3D-Struktur durch eine iterative Anwendung eines genetischen Programmierens auf einen ausgewählten Teilsatz der Mehrzahl von VRG-Systemen, wobei das genetische Programmieren zum Minimieren der objektiven Funktion iteriert.
  • Das Beispiel 15 umfasst den Gegenstand von Beispiel 13 oder 14, bei dem das genetische Programmieren ferner das Durchführen von Graph-Überschneidungen der VRG-Systeme und das Anwenden von Mutationen auf die Regeln und Scheitelpunkte der VRG-Systeme umfasst.
  • Das Beispiel 16 umfasst den Gegenstand von einem der Beispiele 13 bis 15, bei dem das Initialisieren ferner das Initialisieren der Regeln der Mehrzahl von VRG-Systemen mit randomisierten Verbindungen zwischen den Scheitelpunkten und mit randomisierten Eigenschaftsparametern der Scheitelpunkte umfasst, wobei das Initialisieren vor einer ersten Iteration des Verfahrens durchgeführt wird.
  • Das Beispiel 17 umfasst den Gegenstand von einem der Beispiele 13 bis 16, bei dem die VRG-Systemregeln, die Kantenverbindungen zwischen Scheitelpunkten festlegen, mindestens eines von einem Richtungsparameter, einem Distanzparameter, einem Rekursionsgrenze-Parameter und einem Symmetriekennzeichen umfassen.
  • Das Beispiel 18 umfasst den Gegenstand von einem der Beispiele 13 bis 17, bei dem die VRG-Systemregeln, die Eigenschaftsparameter der Scheitelpunkte festlegen, mindestens eines von einem Aktiv/Inaktiv-Zustandskennzeichen des Scheitelpunkts, von Orthonormalvektoren, die ein Koordinatensystem des Scheitelpunkts festlegen, und von Rekursionszählern für jede der Regeln, die auf den Scheitelpunkt angewandt werden sollen, umfassen.
  • Das Beispiel 19 umfasst den Gegenstand von einem der Beispiele 13 bis 18, bei dem das Erzeugen der Grundgerüstgeometrien ferner das Ersetzen der Kantenverbindungen der 3D-Graphen durch Zylinder und das Ersetzen der Scheitelpunkte der 3D-Graphen durch Kugeln umfasst.
  • Das Beispiel 20 umfasst den Gegenstand von einem der Beispiele 13 bis 19, bei dem die Beschränkungen ferner mindestens eines von einem Anpassungsvolumen, einem Vermeidungsvolumen, einer Symmetrieanforderung, einer maximalen Gesamtlänge der Kantenverbindungen und einer maximalen Masse der 3D-Struktur umfassen.
  • Die vorstehende Beschreibung von Beispielausführungsformen der Offenbarung wurde für die Zwecke der Veranschaulichung und Beschreibung angegeben. Sie soll nicht erschöpfend sein oder die Offenbarung auf die genauen offenbarten Formen beschränken. Viele Modifizierungen und Variationen sind im Hinblick auf diese Offenbarung möglich. Der Umfang der Offenbarung soll nicht durch diese detaillierte Beschreibung beschränkt sein, sondern vielmehr durch die beigefügten Ansprüche.

Claims (20)

  1. Verfahren zum Erzeugen einer 3-dimensionalen (3D) Struktur, wobei das Verfahren umfasst: Erhalten, durch ein prozessorbasiertes System, einer oder mehrerer Beschränkung(en), die für eine zu erzeugende 3D-Struktur relevant ist oder sind, wobei mindestens eine der einen oder der mehreren Beschränkung(en) von einer vorgesehenen Interaktionsoberfläche eines vorgegebenen 3D-Modells abgeleitet ist; und Erzeugen, durch das prozessorbasierte System, der 3D-Struktur unter Verwendung der einen oder der mehreren Beschränkung(en), einschließlich der vorgesehenen Interaktionsoberfläche des vorgegebenen 3D-Modells, durch eine iterative Anwendung eines genetischen Programmierens auf eine Mehrzahl von Vertex- bzw. Scheitelpunkt-Regel-Graph (VRG)-Systemen zum Entwickeln der VRG-Systeme auf der Basis der Beschränkungen.
  2. Verfahren nach Anspruch 1, bei dem das Erzeugen ferner umfasst: Initialisieren, durch das prozessorbasierte System, der Mehrzahl von VRG-Systemen, wobei die VRG-Systeme zum Bereitstellen von Regeln ausgebildet sind, die Kantenverbindungen zwischen Vertex- bzw. Scheitelpunkten und Eigenschaftsparameter der Vertex- bzw. Scheitelpunkte festlegen; Anwenden, durch das prozessorbasierte System, der Regeln der VRG-Systeme auf einen Anfangssatz von Vertex- bzw. Scheitelpunkten zum Erzeugen einer Mehrzahl von 3D-Graphen, wobei jeder der 3D-Graphen mit einem der VRG-Systeme assoziiert ist, wobei der Anfangssatz von Vertex- bzw. Scheitelpunkten mit der vorgesehenen Interaktionsoberfläche des vorgegebenen 3D-Modells assoziiert ist; Erzeugen, durch das prozessorbasierte System, einer Mehrzahl von Skelett- bzw. Grundgerüstgeometrien, wobei jede der Skelett- bzw. Grundgerüstgeometrien mit einem der 3D-Graphen assoziiert ist; Berechnen, durch das prozessorbasierte System, einer objektiven Funktion für jede der Grundgerüstgeometrien, wobei die objektive Funktion zum Bewerten der Eignung der Grundgerüstgeometrien auf der Basis von vorgegebenen Beschränkungen ausgebildet ist, wobei die vorgegebenen Beschränkungen die Interaktionsoberfläche des vorgegebenen 3D-Modells umfassen; und Erzeugen, durch das prozessorbasierte System, der 3D-Struktur durch eine iterative Anwendung des genetischen Programmierens auf einen ausgewählten Teilsatz der Mehrzahl von VRG-Systemen, wobei das genetische Programmieren zum Minimieren der objektiven Funktion iteriert.
  3. Verfahren nach Anspruch 1 oder 2, bei dem das genetische Programmieren ferner das Durchführen von Graph-Überschneidungen der VRG-Systeme und das Anwenden von Mutationen auf die Regeln und Vertex- bzw. Scheitelpunkte der VRG-Systeme umfasst.
  4. Verfahren nach Anspruch 2, bei dem das Initialisieren ferner das Initialisieren der Regeln der Mehrzahl von VRG-Systemen mit randomisierten Verbindungen zwischen den Scheitelpunkten und mit randomisierten Eigenschaftsparametern der Scheitelpunkte umfasst, wobei das Initialisieren vor einer ersten Iteration des Verfahrens durchgeführt wird.
  5. Verfahren nach Anspruch 2, bei dem die VRG-Systemregeln, die Kantenverbindungen zwischen Vertex- bzw. Scheitelpunkten festlegen, mindestens eines von einem Richtungsparameter, einem Distanzparameter, einem Rekursionsgrenze-Parameter und einem Symmetriekennzeichen umfassen.
  6. Verfahren nach Anspruch 2, bei dem die VRG-Systemregeln, die Eigenschaftsparameter der Scheitelpunkte festlegen, mindestens eines von einem Aktiv/Inaktiv-Zustandskennzeichen des Scheitelpunkts, von Orthonormalvektoren, die ein Koordinatensystem des Scheitelpunkts festlegen, und Rekursionszählern für jede der Regeln, die auf den Scheitelpunkt angewandt werden sollen, umfassen.
  7. Verfahren nach Anspruch 2, bei dem das Erzeugen der Grundgerüstgeometrien ferner das Ersetzen der Kantenverbindungen der 3D-Graphen durch Zylinder und das Ersetzen der Scheitelpunkte der 3D-Graphen durch Kugeln umfasst.
  8. Verfahren nach einem der vorhergehenden Ansprüche, bei dem die Beschränkungen ferner mindestens eines von einem Anpassungsvolumen, einem Vermeidungsvolumen, einer Symmetrieanforderung, einer maximalen Gesamtlänge der Kantenverbindungen und einer maximalen Masse der 3D-Struktur umfassen.
  9. Verfahren nach einem der vorhergehenden Ansprüche, ferner umfassend: Darstellen der erzeugten 3D-Struktur zum Anzeigen; Erhalten von einer oder mehreren aktualisierten Beschränkung(en), einschließlich eine oder mehrere aktualisierte Interaktionsoberfläche(n); Erhalten von Gewichtungsfaktoren, die mit den Beschränkungen assoziiert sind, welche die eine oder mehreren aktualisierte(n) Beschränkung(en) umfassen; und Iterieren des Verfahrens unter Verwendung der Gewichtungsfaktoren und der einen oder der mehreren aktualisierten Beschränkung(en).
  10. System zum Erzeugen einer 3-dimensionalen (3D) Struktur, wobei das System umfasst: einen oder mehrere Prozessor(en); ein Prozedurerzeugungsmodul, das mindestens eines von durch den einen oder die mehreren Prozessor(en) steuerbar und ausführbar ist und zum Initialisieren einer Mehrzahl von Vertex- bzw. Scheitelpunkt-Regel-Graph (VRG)-Systemen ausgebildet ist, wobei die VRG-Systeme zum Bereitstellen von Regeln ausgebildet sind, die Kantenverbindungen zwischen Vertex- bzw. Scheitelpunkten und Eigenschaftsparameter der Vertex- bzw. Scheitelpunkte festlegen; ein Prozeduranwendungsmodul, das mindestens eines von durch den einen oder die mehreren Prozessor(en) steuerbar und ausführbar ist und zum Anwenden der Regeln der VRG-Systeme auf einen Anfangssatz von Vertex- bzw. Scheitelpunkten zum Erzeugen einer Mehrzahl von 3D-Graphen anwendbar ist, wobei jeder der 3D-Graphen mit einem der VRG-Systeme assoziiert ist, wobei der Anfangssatz von Vertex- bzw. Scheitelpunkten mit einer vorgesehenen Interaktionsoberfläche eines 3D-Modells assoziiert ist; ein Skelett- bzw. Grundgerüstgeometrie-Erzeugungsmodul, das mindestens eines von durch den einen oder die mehreren Prozessor(en) steuerbar und ausführbar ist und zum Erzeugen einer Mehrzahl von Grundgerüstgeometrien ausgebildet ist, wobei jede der Grundgerüstgeometrien mit einem der 3D-Graphen assoziiert ist; ein Optimierungsmodul, das mindestens eines von durch den einen oder die mehreren Prozessor(en) steuerbar und ausführbar ist und zum Berechnen einer objektiven Funktion für jede der Grundgerüstgeometrien ausgebildet ist, wobei die objektive Funktion zum Bewerten der Eignung der Grundgerüstgeometrien auf der Basis von vorgegebenen Beschränkungen ausgebildet ist, wobei die vorgegebenen Beschränkungen mindestens eines von einem Anpassungsvolumen, einem Vermeidungsvolumen, einer Symmetrieanforderung, der Interaktionsoberflächen, einer maximalen Gesamtlänge der Kantenverbindungen und einer maximalen Masse der 3D-Struktur umfassen; und ein genetisches Programmieren-Modul, das mindestens eines von durch den einen oder die mehreren Prozessor(en) steuerbar und ausführbar ist und zum Erzeugen der 3D-Struktur durch eine iterative Anwendung eines genetischen Programmierens auf einen ausgewählten Teilsatz der Mehrzahl von VRG-Systemen ausgebildet ist, wobei das genetische Programmieren zum Minimieren der objektiven Funktion iteriert, wobei das genetische Programmieren-Modul ferner zum Durchführen von Graph-Überschneidungen der VRG-Systeme und zum Anwenden von Mutationen auf die Regeln und Vertex- bzw. Scheitelpunkte der VRG-Systeme ausgebildet ist.
  11. System nach Anspruch 10, bei dem das Prozedurerzeugungsmodul ferner zum Initialisieren der Regeln der Mehrzahl von VRG-Systemen mit randomisierten Verbindungen zwischen den Scheitelpunkten und mit randomisierten Eigenschaftsparametern der Scheitelpunkte ausgebildet ist, wobei das Initialisieren vor einer ersten Iteration des genetischen Programmierens durchgeführt wird.
  12. System nach Anspruch 10 oder 11, bei dem die VRG-Systemregeln Kantenverbindungen zwischen Scheitelpunkten festlegen, die mindestens eines von einem Richtungsparameter, einem Distanzparameter, einem Rekursionsgrenze-Parameter und einem Symmetriekennzeichen umfassen; und die VRG-Systemregeln, die Eigenschaftsparameter der Scheitelpunkte festlegen, mindestens eines von einem Aktiv/Inaktiv-Zustandskennzeichen des Scheitelpunkts, von Orthonormalvektoren, die ein Koordinatensystem des Scheitelpunkts festlegen, und von Rekursionszählern für jede der Regeln, die auf den Scheitelpunkt angewandt werden sollen, umfassen.
  13. Nicht-flüchtiges Computerprogrammprodukt, auf dem Anweisungen kodiert sind, die, wenn sie durch den einen oder die mehreren Computerprozessor(en) ausgeführt werden, bewirken, dass der eine oder die mehreren Computerprozessor(en) ein Verfahren durchführt oder durchführen, umfassend: Erhalten einer oder mehrerer Beschränkung(en), die für eine zu erzeugende 3D-Struktur relevant sind, wobei mindestens eine der einen oder der mehreren Beschränkung(en) von einer vorgesehenen Interaktionsoberfläche eines vorgegebenen 3D-Modells abgeleitet sind; und Erzeugen der 3D-Struktur unter Verwendung der einen oder der mehreren Beschränkung(en), einschließlich die vorgesehene Interaktionsoberfläche des vorgegebenen 3D-Modells, durch eine iterative Anwendung eines genetischen Programmierens auf eine Mehrzahl von Vertex- bzw. Scheitelpunkt-Regel-Graph (VRG)-Systemen zum Entwickeln der VRG-Systeme auf der Basis der Beschränkungen.
  14. Nicht-flüchtiges Computerprogrammprodukt nach Anspruch 13, bei dem das Erzeugen ferner umfasst: Initialisieren der Mehrzahl von VRG-Systemen, wobei die VRG-Systeme zum Bereitstellen von Regeln ausgebildet sind, die Kantenverbindungen zwischen Scheitelpunkten und Eigenschaftsparametern der Scheitelpunkte festlegen; Anwenden der Regeln der VRG-Systeme auf einen Anfangssatz von Scheitelpunkten zum Erzeugen einer Mehrzahl von 3D-Graphen, wobei jeder der 3D-Graphen mit einem der VRG-Systeme assoziiert ist, wobei der Anfangssatz der Scheitelpunkte mit der vorgesehenen Interaktionsoberfläche des vorgegebenen 3D-Modells assoziiert ist; Erzeugen einer Mehrzahl von Grundgerüstgeometrien, wobei jede der Grundgerüstgeometrien mit einem der 3D-Graphen assoziiert ist; Berechnen einer objektiven Funktion für jede der Grundgerüstgeometrien, wobei die objektive Funktion zum Bewerten der Eignung der Grundgerüstgeometrien auf der Basis von vorgegebenen Beschränkungen ausgebildet ist, wobei die vorgegebenen Beschränkungen die Interaktionsoberfläche des vorgegebenen 3D-Modells umfassen; und Erzeugen der 3D-Struktur durch eine iterative Anwendung eines genetischen Programmierens auf einen ausgewählten Teilsatz der Mehrzahl von VRG-Systemen, wobei das genetische Programmieren zum Minimieren der objektiven Funktion iteriert.
  15. Nicht-flüchtiges Computerprogrammprodukt nach Anspruch 14, bei dem das genetische Programmieren ferner das Durchführen von Graph-Überschneidungen der VRG-Systeme und das Anwenden von Mutationen auf die Regeln und Scheitelpunkte der VRG-Systeme umfasst.
  16. Nicht-flüchtiges Computerprogrammprodukt nach Anspruch 14 oder 15, bei dem das Initialisieren ferner das Initialisieren der Regeln der Mehrzahl von VRG-Systemen mit randomisierten Verbindungen zwischen den Scheitelpunkten und mit randomisierten Eigenschaftsparametern der Scheitelpunkte umfasst, wobei das Initialisieren vor einer ersten Iteration des Verfahrens durchgeführt wird.
  17. Nicht-flüchtiges Computerprogrammprodukt nach einem der Ansprüche 14 bis 16, bei dem die VRG-Systemregeln, die Kantenverbindungen zwischen Scheitelpunkten festlegen, mindestens eines von einem Richtungsparameter, einem Distanzparameter, einem Rekursionsgrenze-Parameter und einem Symmetriekennzeichen umfassen.
  18. Nicht-flüchtiges Computerprogrammprodukt nach einem der Ansprüche 14 bis 16, bei dem die VRG-Systemregeln, die Eigenschaftsparameter der Scheitelpunkte festlegen, mindestens eines von einem Aktiv/Inaktiv-Zustandskennzeichen des Scheitelpunkts, von Orthonormalvektoren, die ein Koordinatensystem des Scheitelpunkts festlegen, und von Rekursionszählern für jede der Regeln, die auf den Scheitelpunkt angewandt werden sollen, umfassen.
  19. Nicht-flüchtiges Computerprogrammprodukt nach einem der Ansprüche 14 bis 18, bei dem das Erzeugen der Grundgerüstgeometrien ferner das Ersetzen der Kantenverbindungen der 3D-Graphen durch Zylinder und das Ersetzen der Scheitelpunkte der 3D-Graphen durch Kugeln umfasst.
  20. Nicht-flüchtiges Computerprogrammprodukt nach einem der Ansprüche 13 bis 19, bei dem die Beschränkungen ferner mindestens eines von einem Anpassungsvolumen, einem Vermeidungsvolumen, einer Symmetrieanforderung, einer maximalen Gesamtlänge der Kantenverbindungen und einer maximalen Masse der 3D-Struktur umfassen.
DE102018007145.7A 2017-11-29 2018-09-10 Erzeugen von 3D-Strukturen unter Verwendung eines genetischen Programmierens zum Erfüllen von funktionellen und geometrischen Beschränkungen Pending DE102018007145A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/825,959 US11244502B2 (en) 2017-11-29 2017-11-29 Generating 3D structures using genetic programming to satisfy functional and geometric constraints
US15/825,959 2017-11-29

Publications (1)

Publication Number Publication Date
DE102018007145A1 true DE102018007145A1 (de) 2019-05-29

Family

ID=64013122

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018007145.7A Pending DE102018007145A1 (de) 2017-11-29 2018-09-10 Erzeugen von 3D-Strukturen unter Verwendung eines genetischen Programmierens zum Erfüllen von funktionellen und geometrischen Beschränkungen

Country Status (5)

Country Link
US (1) US11244502B2 (de)
CN (1) CN109840936B (de)
AU (1) AU2018226401B2 (de)
DE (1) DE102018007145A1 (de)
GB (1) GB2568993B (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10990879B2 (en) * 2019-09-06 2021-04-27 Digital Asset Capital, Inc. Graph expansion and outcome determination for graph-defined program states
US11132403B2 (en) 2019-09-06 2021-09-28 Digital Asset Capital, Inc. Graph-manipulation based domain-specific execution environment
CN115107280B (zh) * 2022-06-24 2024-07-16 重庆大学 一种Voronoi多孔结构智能生成方法

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000057184A (ja) * 1998-08-06 2000-02-25 Nissan Motor Co Ltd 3次元形状モデルの作成方法
US6898560B1 (en) * 1999-06-02 2005-05-24 Solidworks Corporation Maintaining a computer-generated design model
US20040177139A1 (en) * 2003-03-03 2004-09-09 Schuba Christoph L. Method and apparatus for computing priorities between conflicting rules for network services
US20080172208A1 (en) * 2006-12-28 2008-07-17 Dassault Systems Method and computer program product of computer aided design of a product comprising a set of constrained objects
EP2031564B1 (de) * 2007-06-25 2018-08-29 Dassault Systèmes Verfahren zum computergestützten Entwurf eines durch Geometrien modellierten 3D-Objekts
US8253726B1 (en) * 2008-01-09 2012-08-28 Spaceclaim Corporation, Inc. Systems and methods for modifying three dimensional geometry using an arbitrary cross-section plane
US20130013534A1 (en) * 2011-07-07 2013-01-10 International Business Machines Corporation Hardware-assisted approach for local triangle counting in graphs
US20130346294A1 (en) * 2012-03-21 2013-12-26 Patrick Faith Risk manager optimizer
CN102664787B (zh) * 2012-04-01 2014-10-08 华为技术有限公司 决策树的生成方法和装置
CN104205095B (zh) * 2012-04-05 2017-11-17 微软技术许可有限责任公司 用于连续图更新和计算的平台
WO2014172687A2 (en) * 2013-04-18 2014-10-23 Massachusetts Institute Of Technology, Inc. Methods and apparati for implementing programmable pipeline for three-dimensional printing including multi-material applications
EP2811463B1 (de) * 2013-06-04 2018-11-21 Dassault Systèmes Entwurf eines 3D-modellierten Objekts mit 2D-Ansichten
FR3010812A1 (fr) * 2013-09-13 2015-03-20 Eads Europ Aeronautic Defence Procede de conception assistee par ordinateur comportant une etape de modelisation
EP2921978B1 (de) * 2014-03-19 2021-09-29 Dassault Systèmes Entwurf von Industrieprodukten mit durch geometrische Constraints verbundenen Geometrien
CN103942795B (zh) * 2014-04-22 2016-08-24 浙江大学 一种图像物体的结构化合成方法
US10372713B1 (en) * 2014-07-10 2019-08-06 Purdue Pharma L.P. Chemical formula extrapolation and query building to identify source documents referencing relevant chemical formula moieties
CN104183008B (zh) 2014-07-31 2017-01-18 浙江大学 一种基于表面信号拟合和曲面细分的着色器简化方法、装置及图形渲染方法
CA2963154C (en) * 2014-09-30 2020-05-05 Cae Inc. Rendering plausible images of 3d polygon meshes
WO2016049730A1 (en) * 2014-09-30 2016-04-07 Cae Inc. Rendering damaged-enhanced images in a computer simulation
WO2016077798A1 (en) * 2014-11-16 2016-05-19 Eonite Perception Inc. Systems and methods for augmented reality preparation, processing, and application
CN104504177A (zh) * 2014-12-04 2015-04-08 上海海事大学 大型集装箱起重机快速配置设计方法
EP3032495B1 (de) * 2014-12-10 2019-11-13 Dassault Systèmes Texturierung eines 3D-modellierten Objekts
EP3179389B1 (de) * 2015-12-07 2019-05-22 Dassault Systèmes Nachweis von aussparungen
WO2017113260A1 (zh) * 2015-12-30 2017-07-06 中国科学院深圳先进技术研究院 一种三维点云模型重建方法及装置
US20170312634A1 (en) * 2016-04-28 2017-11-02 Uraniom System and method for personalized avatar generation, especially for computer games
US10229533B2 (en) * 2016-11-03 2019-03-12 Mitsubishi Electric Research Laboratories, Inc. Methods and systems for fast resampling method and apparatus for point cloud data
US10839585B2 (en) * 2018-01-05 2020-11-17 Vangogh Imaging, Inc. 4D hologram: real-time remote avatar creation and animation control

Also Published As

Publication number Publication date
CN109840936A (zh) 2019-06-04
GB2568993B (en) 2021-05-19
CN109840936B (zh) 2023-10-17
AU2018226401A1 (en) 2019-06-13
US20190164342A1 (en) 2019-05-30
GB2568993A (en) 2019-06-05
US11244502B2 (en) 2022-02-08
GB201814952D0 (en) 2018-10-31
AU2018226401B2 (en) 2021-11-11

Similar Documents

Publication Publication Date Title
DE112018006189T5 (de) Robuste gradienten-gewichtskomprimierungsschemata für deep-learning-anwendungen
DE112019005750T5 (de) Erlernen des Erzeugens synthetischer Datensätze zum Trainieren neuronalerNetze
DE102020000810A1 (de) 3D-Objektrekonstruktion unter Nutzung einer fotometrischen Netzdarstellung
DE112006000938T5 (de) Dynamischer Lösungsfinder mit fester Zeitschrittgrösse für interagierende Teilchensysteme
DE102018007145A1 (de) Erzeugen von 3D-Strukturen unter Verwendung eines genetischen Programmierens zum Erfüllen von funktionellen und geometrischen Beschränkungen
DE102005010169A1 (de) Aktives Polyeder für 3D-Bildsegmentierung
DE102008034518B4 (de) Verfahren zur Konstruktion einer Fläche einer auf einer Partikelmethode basierenden Fluidkörpersimulation und Speichermedium mit Programm dafür
DE602004011749T2 (de) Umschlagsdeformation mittels unterteilten Oberflächen
DE102017007967A1 (de) Verarbeiten und rendern eines dreidimensionalen Modells
DE112016007331T5 (de) Erzeugen von daten für ein dreidimensionales (3d) druckbares objekt
DE202020005498U1 (de) Vorrichtung zur klassensensitiven adversariellen Lungenknotensynthese
DE102018005610A1 (de) Diffusionsfärben unter Verwendung von gewichteten Farbpunkten
DE102019005517A1 (de) Von änderungsbasierten Heuristiken getriebene automatische und interaktive Animation
DE602004008102T2 (de) Dreidimensionale segmentierung durch verwendung deformierbarer oberflächen
DE69800321T2 (de) Infinites elektromagnetisches 3-D Element
DE102009042326A1 (de) Interaktive Veränderung der Darstellung eines mittels Volume Rendering dargestellten Objekts
DE112016007098T5 (de) Indexierung von voxeln für das 3d-drucken
DE102014006549B4 (de) Technik zur Verarbeitung einer Zeichenfolge zur graphischen Darstellung an einer Mensch-Maschine-Schnittstelle
DE202016009145U1 (de) Deep-Learning-basierte funktionale Korrelation von volumetrischen Designs
DE112018000347T5 (de) Verfahren und System für automatische Erzeugung von Kurven mit Zwangsbedingungen für Computergraphik
DE112019002095T5 (de) TECHNIKEN ZUR VISUALISIERUNG UND SONDIERUNG VON GROßVOLUMIGEN GENERATIVEN DESIGNDATENSÄTZEN
DE102022112888A1 (de) Benutzerschnittstellen und Verfahren zum Erzeugen eines neuen Artefakts auf der Grundlage vorhandener Artefakte
DE60320453T2 (de) Verfahren zur segmentierung eines dreidimensionalen datensatzes mit ermöglichung von benutzerkorrekturen
WO2006061185A1 (de) Verfahren zur ableitung von technischen zeichnungen aus 3d modellen mit mindestens zwei kollidierenden 3d körpern
DE102018216787A1 (de) Verfahren, Computerprogrammprodukt und Computervorrichtung zum Auswerten volumetrischer Subdivisionsmodelle

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: MUELLER-BORE & PARTNER PATENTANWAELTE PARTG MB, DE

R012 Request for examination validly filed