Język modelowania generatywnego - Generative Modelling Language

Język generatywnego modelowania (GML) w grafice komputerowej i generatywnym programowaniu komputerowym jest bardzo prostym językiem programowania do zwięzłego opisu złożonych kształtów 3D. Jest to zgodne z paradygmatem „generatywnego modelowania”, w którym złożone zbiory danych są reprezentowane przez „listy operacji”, a nie przez listy obiektów, co ma miejsce na przykład w relacyjnej bazie danych .

Przegląd

Zwykłe formaty plików 3D opisują świat wirtualny w kategoriach prymitywów geometrycznych . Mogą to być kostki i kule w drzewie CSG , łatki NURBS , zestaw funkcji niejawnych , siatka trójkątów lub po prostu chmura punktów . Termin „generatywne modelowanie 3D” opisuje inny paradygmat opisu kształtu. Główną ideą jest zastąpienie obiektów 3D operacjami generowania obiektów: kształt jest opisywany sekwencją kroków przetwarzania, a nie trójkątami, które są końcowym wynikiem zastosowania tych operacji. Projektowanie kształtów staje się projektowaniem zasad. Podejście to można ogólnie zastosować do dowolnej reprezentacji kształtu, która zapewnia podstawowy zestaw funkcji generujących, nazywanych w tym kontekście „operatorami kształtu elementarnego”. Jego skuteczność została wykazana m.in. w dziedzinie generowania siatek proceduralnych , z operatorami Eulera jako kompletnym i domkniętym zbiorem funkcji generujących kształt odwracalny dla siatek, operujących na poziomie półkrawędzi.

Modelowanie generatywne zwiększa wydajność dzięki możliwości tworzenia wysokopoziomowych operatorów kształtu z niskopoziomowych operatorów kształtu. Dowolna sekwencja kroków przetwarzania może być zgrupowana w celu utworzenia nowego połączonego operatora . Może używać operatorów podstawowych, jak również innych operatorów połączonych. Konkretne wartości można łatwo zastąpić parametrami, co umożliwia oddzielenie danych od operacji: tę samą sekwencję przetwarzania można zastosować do różnych zestawów danych wejściowych. Te same dane mogą być wykorzystywane do tworzenia różnych kształtów przez zastosowanie różnych połączonych operatorów z np. biblioteki operatorów modelowania zależnych od domeny. Umożliwia to tworzenie bardzo złożonych obiektów z zaledwie kilku parametrów wejściowych wysokiego poziomu, takich jak na przykład biblioteka stylów.

Język modelowania generatywnego

GML jest konkretną implementacją podejścia generatywnego. Jest to oparty na stosie, interpretowany język programowania , bardzo podobny do PostScriptu Adobe , ale bez żadnego z operatorów układu 2D. Zamiast tego zapewnia szereg operatorów do tworzenia modeli 3D ( wielokąty , b-reps , powierzchnie podziału ). Jako „język programowania kształtów” jest prawdziwym uogólnieniem „płaskich” formatów plików 3D, takich jak OBJ , DXF lub VRML , które zawierają tylko listy elementów geometrycznych.

Wraz z silnikiem uruchomieniowym opartym na OpenGL , GML może być również postrzegany jako przeglądarka ze zintegrowanym modelerem, aby przezwyciężyć zwyczajowe oddzielanie modelowania 3D od interaktywnej wizualizacji . Oba są przeplatane zamiast tego. GML umożliwia zwięzłe przedstawienie sparametryzowanych obiektów 3D, które można oceniać w locie w czasie wykonywania, renderować z adaptacyjnym poziomem szczegółowości i umożliwia interaktywną manipulację wszystkimi parametrami.

Przykład GML

1:     (0,0,-2) (1,1,0) 2 quady
2: /cyan setcurrentmaterial
5 poly2doubleface
3: (0,1,1) wyciągnij
4: (0,0,1) (1,0,1) normalizuj
0 project_ringplane
5: (2,0,0) (0,1,-1) 2 quady
6: /żółty setcurrentmaterial
5 poly2doubleface
7: 0 mostków
  GML-przyklad-gehrung.png

Aplikacje

Model proceduralny katedry w Kolonii

W przypadku modeli proceduralnych złożoność modelu nie jest już bezpośrednio (tj. liniowo) związana z rozmiarem pliku. Proceduralne Katedra , podstawowy model katedry w Kolonii , zawiera 70 maswerk okna, a jedno okno w najwyższej rozdzielczości zawiera około 7 milionów trójkątów. Są one "rozwinięte" z zaledwie 126 KB kodu GML (18 KB spakowane).

Maswerk z gotyckim oknem

Architektura gotycka jest doskonałym przykładem skuteczności projektowania kształtów proceduralnych: w stylu gotyckim wszystkie konstrukcje geometryczne są wykonywane wyłącznie za pomocą cyrkla i linijki . Odmiany uzyskano przez łączenie proceduralne w ciągle zmieniający się sposób zestawu prostych podstawowych sparametryzowanych operacji geometrycznych. Dlatego praktycznie niemożliwe jest znalezienie dwóch okien maswerkowych w różnych budynkach, które mają identyczną konstrukcję geometryczną.

Interaktywny projektant JASKINI

Interactive Designer CAVE pomaga dopasować CAVE do małego pokoju. Ze względu na betonowe pręty pod stropem trudno jest umieścić go tylko na rzutach 2D pomieszczenia. Stopnie swobody (niebieskie strzałki) to pozycja i orientacja obudowy ekranu projekcyjnego, kąt otwarcia projektorów oraz pozycja/orientacja górnego lustra. DOFs są łagodnie ograniczone do przyjmowania tylko prawidłowych wartości. Dofs są utrzymywane na stałym poziomie, tj. podczas przesuwania boksów, środki projektora również się poruszają (lub odbijają się od ścian).

Generacyjny model obręczy samochodu

Mając zestaw około 30 modeli CAD felg samochodowych, zadaniem było znalezienie wspólnej parametryzacji, która jest w stanie wygenerować każdą z indywidualnych instancji ( generatywna rekonstrukcja powierzchni ). W rezultacie nowe, podobne felgi można zsyntetyzować w przestrzeni projektowej obejmującej dane 30 felg, które zostały ręcznie podzielone na 3 główne kategorie. Niektórymi wysokopoziomowymi parametrami można bezpośrednio manipulować za pomocą suwaków i przycisków (strzałek i kulek).

Struktura krzesła

Modelowanie generatywne sugeruje rozróżnienie między „strukturą” a „wyglądem” (np. stylem) modeli 3D. Zaskakująco wiele przedmiotów ma taką samą strukturę jak krzesło , tj. są one "blisko" krzesła na poziomie strukturalnym . Zróżnicowanie pozwala następnie (w zasadzie) zastosować wygląd jednego obiektu w tej klasie do innego.

Dydaktyczny aplet diagramu Voronoi

Aplet dydaktyczny pokazujący budowę diagramów Woronoja : Czy można zrekonstruować centra komórek Woronoja z granic regionu? Interaktywny aplet przekazuje dobre wyczucie idei kryjącej się za formalnym dowodem.

Zobacz też

Bibliografia

Dalsza lektura

  • Michaela Leytona. Generatywna teoria kształtu (dostępna na jego stronie internetowej )
  • Johna Snydera. Modelowanie generatywne w grafice komputerowej i CAD: Projektowanie symbolicznych kształtów przy użyciu analizy interwałowej

Linki zewnętrzne