A unified approach to grown structures

Design Patterns, Erklärungen zu Algorithmen, Optimierung, Softwarearchitektur
Forumsregeln
Wenn das Problem mit einer Programmiersprache direkt zusammenhängt, bitte HIER posten.
Antworten
joggel

Re: A unified approach to grown structures

Beitrag von joggel »

Was ist SDF?
Habe mal gegoogelt, aber finde keinen passenden Zusammenhang^^
Benutzeravatar
Zudomon
Establishment
Beiträge: 2253
Registriert: 25.03.2009, 07:20
Kontaktdaten:

Re: A unified approach to grown structures

Beitrag von Zudomon »

@Joggel
Ja, geht mir genauso. Englisch bereitet mir schon leichte Schwierigkeiten, dazu verstehen, was die da überhaupt machen. Und ich habe auch mal gehört, dass diese Paper zwar oft den Zweck der Publikation erfüllen, aber man trotzdem an manchen stellen schwammig bleibt, einfach damit es nicht so leicht nachgemacht werden kann. Oder man einfach mal nen klitzekleinen Fehler einbaut, der dann dazu führt, dass etwas nicht hin haut. Oder wichtige Infos einfach unter dem Tisch fallen.

@joeydee
Vielen dank für das zusammenfassen.
Wäre natürlich krass, wenn die Eigenkollsion tatsächlich durch das SDF gelöst wird.
Ja, ich bin natürlich weder an Mikrobenwachstum, noch an Kleidungsstücke interessiert. Aber die Strukturen, die da raus kommen, sind hochgradig natürlich. Wie will man z.B. prozedural eine Koralle erzeugen? Scheint da ganz einfach zu gehen, indem man die richtigen Stellen "wachsen" lässt.
Ich kann ja mal sagen, was ich in den Strukturen sehe:
1. erinnert mich an Tumore, Muttermale. Vielleicht auch eine Pilzart
2. Eindeutig Gedärme... will man ein Objekt erzeugen, was wie ein Darm aussieht, muss man das wohl einfach nur so in einer Bauchhöhle wachsen lassen :D
3. Pilze, Seetang
5. Mineralien
6. Blattadern
7. Irgend eine Pflanze, die wahrscheinlich auch eher Pilz ist...
8. Pilze
9. Korallen, vielleicht auch eine Moospflanze, wenn man es etwas Varriert
11. Korallen
14. Korallen
15. Bakterienkollonie
Also ich denke schon, dass gerade in dem Bereich, den ich da mache, dass äußerst interessant ist. Ich sehe das als gutes Grundwerkzeug, was sich sicher auf viele andere Dinge noch anwenden lässt.
Mal sehen, ob ich das in nächster Zeit auch mal ausprobieren werde. :D
Benutzeravatar
Zudomon
Establishment
Beiträge: 2253
Registriert: 25.03.2009, 07:20
Kontaktdaten:

Re: A unified approach to grown structures

Beitrag von Zudomon »

joggel hat geschrieben:Was ist SDF?
Habe mal gegoogelt, aber finde keinen passenden Zusammenhang^^
Signed Distance Field. Wenn man ein SDF rendert, kann man durch einfache Ausdrücke irre komplexe Strukturen erzeugen.
Dabei werden Formeln angewendet, die dir zu einer Struktur den Abstand geben... also etwas anders, als Raytracing, wo man den Schnittpunkt mit der Fläche berechnet. Hat man eine Kugel in einem SDF beschrieben, so kann man an jeder Raumposition sagen, wie weit es zu dessen Oberfläche weg ist. Damit kann man dann auch sehr einfach Ambient Occlusion, Schatten und weiche Schatten berechnet, ohne öfter Sampeln zu müssen.
Benutzeravatar
Krishty
Establishment
Beiträge: 8229
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: A unified approach to grown structures

Beitrag von Krishty »

Alexander Kornrumpf hat geschrieben:Und ich vermute mal stark, dass er auf dem Gebiet von 3D gedruckten Kleidungsstücken als Habitat für Mikroben genauso Laie ist, wie du.
Zufällig ist 3D-Druck mit SDFs meine berufliche Expertise ;) Die Erklärungen müssen aber noch mindestens bis zum Wochenende warten.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Zudomon
Establishment
Beiträge: 2253
Registriert: 25.03.2009, 07:20
Kontaktdaten:

Re: A unified approach to grown structures

Beitrag von Zudomon »

Krishty hat geschrieben:
Alexander Kornrumpf hat geschrieben:Und ich vermute mal stark, dass er auf dem Gebiet von 3D gedruckten Kleidungsstücken als Habitat für Mikroben genauso Laie ist, wie du.
Zufällig ist 3D-Druck mit SDFs meine berufliche Expertise ;) Die Erklärungen müssen aber noch mindestens bis zum Wochenende warten.
Auch auf die Gefahr hin, das offensichtliche zu verraten, dem guten Alexander scheint entgangen zu sein, dass es mir nicht um "3D gedruckte Kleidungsstücke als Habitat für Mikroben" geht, sondern um das "wachsen von 3D Modellen" :lol:
Alexander Kornrumpf
Moderator
Beiträge: 2106
Registriert: 25.02.2009, 13:37

Re: A unified approach to grown structures

Beitrag von Alexander Kornrumpf »

Krishty hat geschrieben:
Alexander Kornrumpf hat geschrieben:Und ich vermute mal stark, dass er auf dem Gebiet von 3D gedruckten Kleidungsstücken als Habitat für Mikroben genauso Laie ist, wie du.
Zufällig ist 3D-Druck mit SDFs meine berufliche Expertise ;) Die Erklärungen müssen aber noch mindestens bis zum Wochenende warten.
Das ist in der Tat ein glücklicher Zufall. Aber wenn du jetzt gesagt hättest, dass auch Kleidungsstücke und Mikroben zu deiner Expertise gehören, wäre ich doch überrascht gewesen.
Zudomon hat geschrieben:
Krishty hat geschrieben:
Alexander Kornrumpf hat geschrieben:Und ich vermute mal stark, dass er auf dem Gebiet von 3D gedruckten Kleidungsstücken als Habitat für Mikroben genauso Laie ist, wie du.
Zufällig ist 3D-Druck mit SDFs meine berufliche Expertise ;) Die Erklärungen müssen aber noch mindestens bis zum Wochenende warten.
Auch auf die Gefahr hin, das offensichtliche zu verraten, dem guten Alexander scheint entgangen zu sein, dass es mir nicht um "3D gedruckte Kleidungsstücke als Habitat für Mikroben" geht, sondern um das "wachsen von 3D Modellen" :lol:
Wir warten vielleicht wirklich besser ab, was Krishty zu sagen hat, aber nach meiner laienhaften Einschätzung ist der hier präsentierte Ansatz nicht der optimale Ausgangspunkt für irgendwas anderes als das was die da gemacht haben, weil eben, ich sagte es schon, das alles sehr speziell ist. Wahrscheinlich dürfte es sich eher lohnen mal von den dort genannten Quellen 9-11 aus weiterzusuchen, insbesondere das SIGGRAPH Paper[11] sollte schon allein dem Outlet nach deutlich näher an deinen Interessen liegen.

Im Übrigen hast du wohl Recht, dass die ein bisschen geizig mit den Informationen sind, die dich vermutlich am meisten interessieren, aber ausgerechnet deine eingangs gestellten Fragen sind halt, nach meinem Verständnis, beantwortet.
joeydee
Establishment
Beiträge: 1039
Registriert: 23.04.2003, 15:29
Kontaktdaten:

Re: A unified approach to grown structures

Beitrag von joeydee »

Zudomon hat geschrieben:Wäre natürlich krass, wenn die Eigenkollsion tatsächlich durch das SDF gelöst wird.
Ich denke mal (eine Kette aus Liniensegmenten auf einer Fläche betrachtend), da ja jedes Liniensegment einem "Hügel" im SDF entspricht: Wenn sich die Displacementvektoren einfach entlang des Gradienten (also das Gefälle den "Hügel" hinunter) bewegen, dann werden die Vertices der Kette mehr oder weniger automatisch durch die "Täler" des SDF "gedrückt". Dadurch dürfte dieses "Ausweichen" und Zusammenfalten zustandekommen, so müsste man eine Fläche bzw. einen Raum mit einem Darm-/Pilz-/Korall-/Flechtengebilde zuwuchern lassen können. Die Linienmitten wirken praktisch wie ein abstoßendes Kraftfeld auf die Vertices, und wenn eine Linie zu groß wird oder zwei Segmente zu spitz zusammenstoßen, wird das über die Retopologie abgefangen, danach ein neues SDF für den nächsten Schritt generiert. Muss ich mal ausprobieren ob das schon als Grundregel ausreicht, oder ob sich da die Vertices irgendwann selbst überholen. Jedenfalls scheint mir sowas aber im Kern drinzustecken.
Entsprechend funktioniert das auch für Dreiecke und das Wachstum von Blasengebilden. Der Rest dürften einfach Parameter sein, z.B. gebunden an eine Oberfläche/Raumgrenze, lokale Vorzugsrichtungen, und vielleicht räumliche oder gar vererbbare Wachstumsparameter usw.
Alexander Kornrumpf
Moderator
Beiträge: 2106
Registriert: 25.02.2009, 13:37

Re: A unified approach to grown structures

Beitrag von Alexander Kornrumpf »

joeydee hat geschrieben:
Zudomon hat geschrieben:Wäre natürlich krass, wenn die Eigenkollsion tatsächlich durch das SDF gelöst wird.
Ich denke mal (eine Kette aus Liniensegmenten auf einer Fläche betrachtend), da ja jedes Liniensegment einem "Hügel" im SDF entspricht: Wenn sich die Displacementvektoren einfach entlang des Gradienten (also das Gefälle den "Hügel" hinunter) bewegen, dann werden die Vertices der Kette mehr oder weniger automatisch durch die "Täler" des SDF "gedrückt". Dadurch dürfte dieses "Ausweichen" und Zusammenfalten zustandekommen, so müsste man eine Fläche bzw. einen Raum mit einem Darm-/Pilz-/Korall-/Flechtengebilde zuwuchern lassen können. Die Linienmitten wirken praktisch wie ein abstoßendes Kraftfeld auf die Vertices, und wenn eine Linie zu groß wird oder zwei Segmente zu spitz zusammenstoßen, wird das über die Retopologie abgefangen, danach ein neues SDF für den nächsten Schritt generiert. Muss ich mal ausprobieren ob das schon als Grundregel ausreicht, oder ob sich da die Vertices irgendwann selbst überholen. Jedenfalls scheint mir sowas aber im Kern drinzustecken.
Entsprechend funktioniert das auch für Dreiecke und das Wachstum von Blasengebilden. Der Rest dürften einfach Parameter sein, z.B. gebunden an eine Oberfläche/Raumgrenze, lokale Vorzugsrichtungen, und vielleicht räumliche oder gar vererbbare Wachstumsparameter usw.
So habe ich es auch verstanden. Und aus dem Handgelenk scheint mir, dass die Magie in den Parametern steckt und nicht in dem Algorithmus an sich.
joeydee
Establishment
Beiträge: 1039
Registriert: 23.04.2003, 15:29
Kontaktdaten:

Re: A unified approach to grown structures

Beitrag von joeydee »

growth02.jpg
growth03.jpg
Schnelles Proof of Concept, ziemlich Brute Force und nicht ganz wasserdicht mit der Selbstkollision, aber der Ansatz (Distance Field als Korrektur- und Abbruchfunktion gegen Selbstkollision) scheint richtig.
Weiß: Die Liniensegment-Kette.
Blau: lokal begrenzte kreisförmige Distanzfunktion je Segmentmitte.
Benutzeravatar
Zudomon
Establishment
Beiträge: 2253
Registriert: 25.03.2009, 07:20
Kontaktdaten:

Re: A unified approach to grown structures

Beitrag von Zudomon »

Sehr gut!
Vielleicht kannst du es noch verbessern, wenn du auf einem Liniensegment mehr Kugeln verteilst...
Antworten