Zbierka - Voronoiove objekty - OpenSCAD

Zo stránky Parametrické a Generatívne 3D modelovanie
Verzia z 14:58, 27. apríl 2024, ktorú vytvoril Admin (diskusia | príspevky) (Vytvorená stránka „<div class="worksheet"> <h1>Voronoiove objekty - časť: OpenSCAD</h1> <div class="section">alt=Voronoiov objekt 1|228px alt=Voronoiov objekt 2|243px alt=Voronoiov objekt 3|233px <br><br> <div class="lesson-plan-text"> <div><div>Trvanie:</div><span>1.5 hod</span></div> <div><div>Náročnosť:</div><span>ťažký</span></div> <div><div>Zručnost…“)
(rozdiel) ← Staršia verzia | Aktuálna úprava (rozdiel) | Novšia verzia → (rozdiel)

Voronoiove objekty - časť: OpenSCAD

Voronoiov objekt 1 Voronoiov objekt 2 Voronoiov objekt 3

Trvanie:
1.5 hod
Náročnosť:
ťažký
Zručnosti:
cykly, transformácie, množinové operácie, podmienky, cyklometrické/goniometrické funkcie
Nástroj:
OpenSCAD a Blender

V generatívnom dizajne veľmi často vidíme modely, ktoré sú dieravé, táto dierovosť sa implementuje z viacerých dôvodov, napríklad kvôli šetreniu na materiáli, kvôli nižšej hmotnosti objektov, vyššej priepustnosti a podobne. Môžete si prezrieť takéto generatívne modely vyhľadaním fráy "generative design" a pochopíte ako často sa táto technika využíva. Pre pochopenie toho ako sa vytvárajú Voronoiove objekty si implementujeme nasledujúci model.


Zadanie úlohy

Budeme vytvárať viac Voronoiových objektov, ktoré budú mať spoločný základ implementácie. Tento základ bude tvoriť rozdelenie priestoru na určité náhodne rozmiestnené časti pomocou kvázi algoritmu, ktorý sa snaží napodobniť robustnejšie algoritmy implementujúce rozdelenie 3D priestoru pomocou Voronoiových diagramov. Pre predstavu a pochopenie pred implementáciou odporúčame vyhľadať si obrázky "voronoi object" a naštudovať si Voronoiove diagramy.

Inštrukcie

  1. Otvorte si nástroj OpenSCAD.
  2. Skúste si vyhľadať vovonoiove objekty a analyzovať ako vyzerajú a ako to asi môžeme docieliť.
  3. Takéto diery sa budeme snažiť vytvoriť najmä odčítaním určitých objektov z priestoru od nejakého nášho celistvého objektu. Preto najprv treba takéto objekty v riestore vytvoriť.
  4. Tieto objekty sú pravdepodobne náhodne generované na určitých pozíciach v priestore, ktorý si nejakým spôsobom ohraničíme. Pre náhodnosť môžeme použiť funkciu rands. Počet týchto pozícii musíme ale generovať roumne aby sa nestalo, že na renderovanie budeme čakať príliš dlho.
  5. Aby sa tieto objekty čo najviac podobali náhodnému prerozdeleniu priestoru a aby sa neprekrývali, potrebujeme implementovať nejaké natočenia, deformácie a medzery medzi nimi. Takže budeme museiť počítať vzdialenosti medzi bodmi a taktiež si treba porieť ako fungujú goniometrické a cyklometrické funkcie v OpenSCADe. Zamyslite sa ako a pokúste sa o implementáciu.
  6. Ak sme implementovali generovanie takýchto objektov a sme s ním spokojní, môžeme postupovať k hlavnému objektu, od ktorého pomocou množinových operácií odrátame vygenerované náhodné objekty.

Testovanie a úpravy

Prezrite a skontrolujte si objekt a odpovedzte si na to či daný 3D model zodpovedá zadaniu a či ste s ním spokojní. Ak chcete skúsiť model upraviť, navrhujeme:

  • namiesto rozdelenia skúsiť rôzne kombinácie viacerých množinových operácií a hlavných objektov ako v zakomentovaných ukážkach
  • vyskúšať si generovať objekty v menšom priestore s viac bodmi a naopak
  • vytvoriť inú implementáciu dierovosti ako je vo vzorovom riešení
  • vyskúšať zmeniť parametre a pozície, s ktorými algoritmus pracuje

Spätná väzba

Ak ste spokojní so svojím výsledným modelom, prezentujte ho ostatným, zhodnoťte koncepty, ktoré ste použili a ako ste ho implementovali, buďte otvorení k hodnoteniam od ostatných a k prípadným návrhom na zlepšenie.

Odkazy na materiály

V tejto sekcii nájdete odkazy na materiály, ktoré vám môžu pomôcť pri riešení daných problémov a naučia vás ako používať požívané nástroje:

Vzorové riešenie

Ak budete potrebovať motiváciu alebo si skontrolovať váš výsledný model, v nasledujúcich odkazoch nájdete implementáciu daného modelu v nástrojoch, ktoré ste na implementáciu mohli použiť:

Záver

Pri týchto objektoch sme si ukázali jeden z mnohých spôsobov akými sa dajú generovať Voronoiove objekty aj v OpenSCADe. Voronoiove objekty sú základom pre mnoho generatívnych dizajnov a využívajú sa do veľkej miery pri optimalizácií modelov. Dajú sa vytvárať viacerými algoritmami, ktoré implementujú Voronoiov diagram a teda dierovosť objektu. Taktiež sme prišli na to, že myšlienkové pochody sú často najzdĺhavejšou fázou programovania a že OpenSCAD nie je ideálnym nástrojom, s ktorým by sme chceli generovať naozaj komplexné objekty rýchlo.