Zbierka - Kochova kocka: Rozdiel medzi revíziami

Zo stránky Parametrické a Generatívne 3D modelovanie
Bez shrnutí editace
Bez shrnutí editace
Riadok 25: Riadok 25:
             <li>Otvorte si nástroj OpenSCAD</li>
             <li>Otvorte si nástroj OpenSCAD</li>
             <li>Všetky koncepty, ktoré k zostrojeniu takéhoto modelu potrebujete už poznáte z predošlých úloh.</li>
             <li>Všetky koncepty, ktoré k zostrojeniu takéhoto modelu potrebujete už poznáte z predošlých úloh.</li>
             <li>Dobre si pozrite obrázok, alebo sa inšpirujte vyhľadaním obrázkov "koch cube" a uvažujte aké princípy sa pri modelovaní takéhoto objektu využili.</li>
            <li>Princíp fungovania fraktálov môžeme vidieť na nasleudjúcom obrázku:<br clear=all>
[[File:Iteracie_fraktal.png|alt=obrázok s iteráciami fraktálov|500px]]<br>Z obrázku môžeme vyčítať, že fraktál má definovanú nejakú základnú štruktúru, ktorá sa postupne pri každej iterácii prepoužíva s určitými zmenami, toto sa pokúsime implementovať.
</li>
             <li>Dobre si pozrite model, alebo sa inšpirujte vyhľadaním obrázkov "koch cube" alebo "fractal" a uvažujte aké princípy sa pri modelovaní takéhoto objektu využili.</li>
            <li>Základná štruktúra programu na vykreslenie fraktálu zahŕňa:<br>
*Definovanie matematických vzorcov alebo pravidiel, ktoré určujú tvar a štruktúru fraktálu.
*Implementácia algoritmu na vykreslenie fraktálu, ktorý využíva tieto vzorce a pravidlá.
*Aplikácia transformácií podľa definovaných pravidiel.
*Opakovanie procesu pre každú úroveň detailu alebo potrebnú úroveň zväčšenia alebo zmeny.</li>
             <li>Objekt začnite implementovať pridaním samostatnej kocky a postupujte princípmi, ktoré ste si zvolili - ak ste si dobre všimli, základným modelom je hlavná kocka, z ktorej sa robí rozdiel menších kociek, dobrým spôsobom pri implementácii je teda použitie CSG operácie rozdielu.</li>
             <li>Objekt začnite implementovať pridaním samostatnej kocky a postupujte princípmi, ktoré ste si zvolili - ak ste si dobre všimli, základným modelom je hlavná kocka, z ktorej sa robí rozdiel menších kociek, dobrým spôsobom pri implementácii je teda použitie CSG operácie rozdielu.</li>
             <li>Ak ste dokázali impementovať samotnú kocku, z ktorej ste vyrezali menšie kocky, tak sa pokúste implementovať pomocou ďalšieho cyklu podobné vyrezanie.</li>
             <li>Ak ste dokázali impementovať samotnú kocku, z ktorej ste vyrezali menšie kocky, tak sa pokúste implementovať pomocou ďalšieho cyklu podobné vyrezanie.</li>

Verzia z 01:41, 5. máj 2024

   https://kempelen.dai.fmph.uniba.sk/design/images/8/88/Koch_cube.stl 

Kochova kocka iteratívne

Trvanie:
1 hod
Náročnosť:
pokročilý
Nástroj:
OpenSCAD
Inštrukcie pre učiteľov:
Kochova kocka iteratívne

Pri tvorbe 3D modelov často potrebujeme dbať na optimálnu implementáciu. Ak máme náročných operácií veľa a navyše ak ich kombinujeme, naše riešenie nebude dostatočne odladené a bude príliš náročné na výpočet. Je možné, že nám "spadne" program, alebo sa bude objekt modelovať veľmi dlho.


Zadanie úlohy

V tejto aktivite si ukážeme ako vyzerá taký fraktál a ako sa dá iteratívne zapísať pomocou cyklov. Vytvoreným modelom si predvedieme ako rapídne rastie zložitosť programov pri zanáraní cyklov a prečo je v tomto prípade lepšie použiť rekurzívny prístup, ktorý si precvičíme v nasledovných príkladoch. Fraktály sú matematické objekty, ktoré vykazujú opakujúce sa vzory na rôznych mierkach. Tieto vzory sú vytvorené iteratívnym procesom, kde sa malá časť obrazu opakuje vo väčšej štruktúre. Fraktály majú komplexnú a často nádherne detailnú geometriu, ktorá sa podobá prírodným javom a procesom. Sú využívané v rôznych oblastiach, od matematiky a fyziky po umenie a počítačovú grafiku, a slúžia ako nástroj na skúmanie chaosu, sebopodobnosti a zložitosti vo svete okolo nás. Príklad fraktálu v prírode: vyhľadávanie Google - "fractals in nature"

Inštrukcie

  1. Otvorte si nástroj OpenSCAD
  2. Všetky koncepty, ktoré k zostrojeniu takéhoto modelu potrebujete už poznáte z predošlých úloh.
  3. Princíp fungovania fraktálov môžeme vidieť na nasleudjúcom obrázku:
    obrázok s iteráciami fraktálov
    Z obrázku môžeme vyčítať, že fraktál má definovanú nejakú základnú štruktúru, ktorá sa postupne pri každej iterácii prepoužíva s určitými zmenami, toto sa pokúsime implementovať.
  4. Dobre si pozrite model, alebo sa inšpirujte vyhľadaním obrázkov "koch cube" alebo "fractal" a uvažujte aké princípy sa pri modelovaní takéhoto objektu využili.
  5. Základná štruktúra programu na vykreslenie fraktálu zahŕňa:
    • Definovanie matematických vzorcov alebo pravidiel, ktoré určujú tvar a štruktúru fraktálu.
    • Implementácia algoritmu na vykreslenie fraktálu, ktorý využíva tieto vzorce a pravidlá.
    • Aplikácia transformácií podľa definovaných pravidiel.
    • Opakovanie procesu pre každú úroveň detailu alebo potrebnú úroveň zväčšenia alebo zmeny.
  6. Objekt začnite implementovať pridaním samostatnej kocky a postupujte princípmi, ktoré ste si zvolili - ak ste si dobre všimli, základným modelom je hlavná kocka, z ktorej sa robí rozdiel menších kociek, dobrým spôsobom pri implementácii je teda použitie CSG operácie rozdielu.
  7. Ak ste dokázali impementovať samotnú kocku, z ktorej ste vyrezali menšie kocky, tak sa pokúste implementovať pomocou ďalšieho cyklu podobné vyrezanie.
  8. Motivujte sa vzorovým riešením a všimnite si použitie parametrov. Tieto parametre skúste upraviť aby ste pochopili ich význam.
  9. Všímajte si, že pri každom zanorenom cykle trvá dlhšie renderovanie daného objektu.

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:

  • vyskúšať implementovať iné prepočítavanie parametrov a sledovať ako sa aplikovaním parametrického dizajnu mení celý model
  • vyskúšajte namiesto kociek pracovať s inými základnými modelmi
  • vyskúšajte implementovať viac cyklov a pozorovať ako rapídne sa renderovanie modelu spomaľuje

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, spomeňte pozorované zmeny rýchlostí, 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:

  • OpenSCAD manuál - miesto kde nájdete všetky potrebné informácie k OpenSCADu vrátane všetkých príkazov, dokumentácie či syntaxe

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

Týmto modelom sme ilustrovali potrebu optimalizácie vašej implementácie a taktiež sme si vizualizovali jeden zo základných fraktálov, tzn. "Kochovu kocku" pri čim vidíme opakovanie určitých či podobných operácií dokola. Fraktály sú geometrické objekty budované pomocou rekurzie. Často sa s nimi stretávame v prírode a vieme ich zapísať pomocou matematických vzorcov, no sú náročné pri 3D modelovaní. V tomto prípade sme model implementovali iteratívne, ďalej si ukážeme ako funguje rekurzia.