Zbierka - Kochova kocka: Rozdiel medzi revíziami

Zo stránky Parametrické a Generatívne 3D modelovanie
Bez shrnutí editace
Bez shrnutí editace
Riadok 1: Riadok 1:
[[File:Koch_cube.png|alt=Kochova kocka|top|left|256px]]
 
V tejto aktivite sa naučíte ako fungujú cykly, pomocou ktorých si vytvoríte kocku podobajúcu sa Kochovým fraktálom a ilustrujeme koľko cyklov je priveľa cyklov.
V tejto aktivite sa naučíte ako fungujú cykly, pomocou ktorých si vytvoríte kocku podobajúcu sa Kochovým fraktálom a ilustrujeme koľko cyklov je priveľa cyklov.


Riadok 34: Riadok 34:
<h2>'''Vysvetlenie:'''</h2>
<h2>'''Vysvetlenie:'''</h2>
Pri tomto modeli sme si ilustrovali ako funguje zanáranie cyklov a aké je dôležité optimalizovať svoj kód.
Pri tomto modeli sme si ilustrovali ako funguje zanáranie cyklov a aké je dôležité optimalizovať svoj kód.
<div class="worksheet">
    [[File:Koch_cube.png|alt=Kochova kocka|top|left|256px]] <h1>Kochova kocka iteratívne</h1>
    <div class="section">
    <div class="lesson-plan-text">
        <div><div>Trvanie:</div><span>1 hod</span></div>
        <div><div>Náročnosť:</div><span>ľahký</span></div>
        <div><div>Zručnosti:</div><span>transformácie, cykly, množinové operácie</span></div>
        <div><div>Nástroj:</div><span>[https://openscad.org/ OpenSCAD]</span></div>
    </div>
        <p>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.</p>
    </div>
<br clear=all>
    <div class="section">
        <h3>Zadanie úlohy</h3>
        <p>
            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.
        </p>
    </div>
    <div class="section">
        <h3>Inštrukcie</h3>
        <ol>
            <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>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>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 množinovej 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é vyerzanie.</li>
            <li>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.</li>
            <li>Všímajte si, že pri každom zanorenom cykle trvá dlhšie renderovanie daného objektu.</li>
        </ol>
    </div>
    <div class="section">
        <h3>Testovanie a úpravy</h3>
        <p>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:</p>
        <ul>
            <li>vyskúšať implementovať iné prepočítavanie parametrov a sledovať ako sa aplikovaním parametrického dizajnu mení celý model</li>
            <li>vyskúšajte namiesto kociek pracovať s inými základnými modelmi</li>
            <li>vyskúšajte implementovať viac cyklov a pozorovať ako rapídne sa renderovanie modelu spomaľuje</li>
        </ul>
    </div>
    <div class="section">
        <h3>Spätná väzba</h3>
        <p>
            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.
        </p>
    </div>
    <div class="section">
        <h3>Odkazy na materiály</h3>
        <p>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:</p>
        <ul>
            <li>[https://en.wikibooks.org/wiki/OpenSCAD_User_Manual 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</li>
        </ul>
    </div>
    <div class="section">
        <h3>Vzorové riešenie</h3>
        <p>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ť:</p>
        <ul>
            <li>[https://github.com/Achinys-out/ParametricAndGenerativeDesign/blob/main/OpenSCAD/koch_cube.scad OpenSCAD]</li>
        </ul>
    </div>
    <div class="section">
        <h3>Záver</h3>
        <p>
            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.
        </p>
    </div>
</div>

Verzia z 21:17, 25. apríl 2024

V tejto aktivite sa naučíte ako fungujú cykly, pomocou ktorých si vytvoríte kocku podobajúcu sa Kochovým fraktálom a ilustrujeme koľko cyklov je priveľa cyklov.


Potrebné materiály:

  • počítač
  • softvér OpenSCAD
  • učebné materiály (návody, videá, atď.)

Inštrukcie:

Skúmanie:

Pred začatím tvorby 3D modelu objektu pripomínajúceho Kochov fraktál preskúmame, čo je fraktál a aké sú jeho charakteristiky. Tiež sa zameriame na pochopenie toho, ako sa vytvára Kochov fraktál pomocou zanorených cyklov.

Brainstorming:

Spoločne premýšľame o spôsoboch, ako vyrezávať menšie kocky z pôvodnej kocky tak, aby výsledok pripomínal Kochov fraktál. Diskutujeme o tom, ako dosiahnuť symetriu a detaily, ktoré definujú fraktál.

Návrh:

Navrhujeme algoritmus, ako pomocou zanorených cyklov (alebo rekurzie) vytvoriť objekt pripomínajúci Kochov fraktál. Plánujeme detaily, ako budeme postupne vyrezávať kocky a aké parametre budeme potrebovať na začatie.

Doladenie:

Testujeme algoritmus s rôznymi parametrami a úrovňami zanorenia. Snažíme sa optimalizovať algoritmus tak, aby sme dosiahli požadovaný vzhľad Kochovho fraktálu a zároveň minimalizovali zložitosť procesu.

Zdieľanie:

Zdieľame náš postup a algoritmus s ostatnými študentmi a diskutujeme o ich skúsenostiach a úspechoch pri tvorbe Kochovej kocky. Spoločne hľadáme riešenia problémov a vylepšení.

Prezentovanie:

Prezentujeme hotový 3D model objektu pripomínajúceho Kochov fraktál vytvorený pomocou zanorených cyklov. Vysvetľujeme náš algoritmus a jeho fungovanie prostredníctvom prezentácie alebo demonštrácie. Poskytneme priestor na otázky a diskusiu.

Zdroje modelov:

OpenSCAD

Vysvetlenie:

Pri tomto modeli sme si ilustrovali ako funguje zanáranie cyklov a aké je dôležité optimalizovať svoj kód.




Kochova kocka

Kochova kocka iteratívne

Trvanie:
1 hod
Náročnosť:
ľahký
Zručnosti:
transformácie, cykly, množinové operácie
Nástroj:
OpenSCAD

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.

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. 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.
  4. 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 množinovej operácie rozdielu.
  5. Ak ste dokázali impementovať samotnú kocku, z ktorej ste vyrezali menšie kocky, tak sa pokúste implementovať pomocou ďalšieho cyklu podobné vyerzanie.
  6. 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.
  7. 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.