Zbierka - Kochova kocka: Rozdiel medzi revíziami

Zo stránky Parametrické a Generatívne 3D modelovanie
Bez shrnutí editace
Bez shrnutí editace
 
(7 medziľahlých úprav od rovnakého používateľa nie je zobrazených.)
Riadok 7: Riadok 7:
         <div><div>Náročnosť:</div><span>pokročilý</span></div>
         <div><div>Náročnosť:</div><span>pokročilý</span></div>
         <div><div>Zručnosti:</div><span>[https://kempelen.dai.fmph.uniba.sk/design/index.php/Transform%C3%A1cie transformácie], [https://kempelen.dai.fmph.uniba.sk/design/index.php/Cykly cykly], [https://kempelen.dai.fmph.uniba.sk/design/index.php/CSG_oper%C3%A1cie CSG operácie]</span></div>
         <div><div>Zručnosti:</div><span>[https://kempelen.dai.fmph.uniba.sk/design/index.php/Transform%C3%A1cie transformácie], [https://kempelen.dai.fmph.uniba.sk/design/index.php/Cykly cykly], [https://kempelen.dai.fmph.uniba.sk/design/index.php/CSG_oper%C3%A1cie CSG operácie]</span></div>
         <div><div>Nástroj:</div><span>[https://openscad.org/ OpenSCAD]</span></div>
         <div><div>Nástroje:</div><span>[https://openscad.org/ OpenSCAD]</span></div>
         <div><div>Inštrukcie pre učiteľov:</div><span>[https://kempelen.dai.fmph.uniba.sk/design/index.php/In%C5%A1trukcie_-_Kochova_kocka_iterat%C3%ADvne Kochova kocka iteratívne]</span></div>
         <div><div>Inštrukcie pre učiteľov:</div><span>[https://kempelen.dai.fmph.uniba.sk/design/index.php/In%C5%A1trukcie_-_Kochova_kocka_iterat%C3%ADvne učitelia - kochova kocka iteratívne]</span></div>
     </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>
         <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>
Riadok 18: Riadok 18:
             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: [https://www.google.com/search?sca_esv=ee33e09d020e77e6&sxsrf=ADLYWIKYuO2L_yZeRCTjysSiKLCJKUwbvA:1714872786315&q=fractals+in+nature&uds=ADvngMgNG4qWEcyOv6mZ7d9R1NXiCe0knOAEIMdBUj_P4Tbqfy35nzreHpoKtBkm_iPk1r2e92N7NrqunV-CiKfUv-ahBeGdihip1uJwTTBD6dL-x9UHzgTsNoO-rBMzrNPvJb2RQ5hsZKB2jRkFCFq7HO6qxRkj-18Lvo-5EAHsLKtpDPEXQc-oMCp0W2JCBwfjgqWSH4eOsqAyI9hwzzLlFhISqQDi5BVdolyus4wTEqPAUOC6_a1H30zE_a-bDz86XsD7NFxqwhbudiAs8klyZ8RXjWTaSQ&udm=2&prmd=isvnbz&sa=X&ved=2ahUKEwjIo436rvWFAxVp7bsIHWudDl4QtKgLegQIDBAB&biw=1920&bih=945&dpr=1 vyhľadávanie Google - "fractals in nature"]. Príklad kochovej kocky: [https://www.google.com/search?q=koch+cube&sca_esv=ee33e09d020e77e6&udm=2&biw=1920&bih=945&sxsrf=ADLYWILKv_kTIl0SeyhnIDoM9-VaY8TDzQ%3A1714873408744&ei=QOQ2ZoaKLeH_7_UPid2J-AQ&ved=0ahUKEwiGqvOisfWFAxXh_7sIHYluAk8Q4dUDCBA&uact=5&oq=koch+cube&gs_lp=Egxnd3Mtd2l6LXNlcnAiCWtvY2ggY3ViZTIEECMYJzIIEAAYExgIGB5I0QxQiAZY3AtwAngAkAEBmAG_AaAB3gaqAQM0LjS4AQPIAQD4AQGYAgmgArQFwgIKEAAYgAQYQxiKBcICBhAAGAcYHsICCBAAGIAEGLEDwgIFEAAYgATCAgQQABgewgIHEAAYgAQYE8ICCBAAGBMYBRgemAMAiAYBkgcDNi4zoAfcLA&sclient=gws-wiz-serp vyhľadávanie Google - "koch cube"]
             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: [https://www.google.com/search?sca_esv=ee33e09d020e77e6&sxsrf=ADLYWIKYuO2L_yZeRCTjysSiKLCJKUwbvA:1714872786315&q=fractals+in+nature&uds=ADvngMgNG4qWEcyOv6mZ7d9R1NXiCe0knOAEIMdBUj_P4Tbqfy35nzreHpoKtBkm_iPk1r2e92N7NrqunV-CiKfUv-ahBeGdihip1uJwTTBD6dL-x9UHzgTsNoO-rBMzrNPvJb2RQ5hsZKB2jRkFCFq7HO6qxRkj-18Lvo-5EAHsLKtpDPEXQc-oMCp0W2JCBwfjgqWSH4eOsqAyI9hwzzLlFhISqQDi5BVdolyus4wTEqPAUOC6_a1H30zE_a-bDz86XsD7NFxqwhbudiAs8klyZ8RXjWTaSQ&udm=2&prmd=isvnbz&sa=X&ved=2ahUKEwjIo436rvWFAxVp7bsIHWudDl4QtKgLegQIDBAB&biw=1920&bih=945&dpr=1 vyhľadávanie Google - "fractals in nature"]. Príklad kochovej kocky: [https://www.google.com/search?q=koch+cube&sca_esv=ee33e09d020e77e6&udm=2&biw=1920&bih=945&sxsrf=ADLYWILKv_kTIl0SeyhnIDoM9-VaY8TDzQ%3A1714873408744&ei=QOQ2ZoaKLeH_7_UPid2J-AQ&ved=0ahUKEwiGqvOisfWFAxXh_7sIHYluAk8Q4dUDCBA&uact=5&oq=koch+cube&gs_lp=Egxnd3Mtd2l6LXNlcnAiCWtvY2ggY3ViZTIEECMYJzIIEAAYExgIGB5I0QxQiAZY3AtwAngAkAEBmAG_AaAB3gaqAQM0LjS4AQPIAQD4AQGYAgmgArQFwgIKEAAYgAQYQxiKBcICBhAAGAcYHsICCBAAGIAEGLEDwgIFEAAYgATCAgQQABgewgIHEAAYgAQYE8ICCBAAGBMYBRgemAMAiAYBkgcDNi4zoAfcLA&sclient=gws-wiz-serp vyhľadávanie Google - "koch cube"]
         </p>
         </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://kempelen.dai.fmph.uniba.sk/design/index.php/Te%C3%B3ria Teória] - rozcestník stručnej teórie pre koncepty, ktoré potrebujeme</li>
            <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>


Riadok 25: Riadok 34:
             <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>Princíp fungovania fraktálov môžeme vidieť na nasleudjúcic obrázkoch:<br clear=all>
             <li>Princíp fungovania fraktálov môžeme vidieť na nasledujúcich obrázkoch:<br clear=all>


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ť:
Z tohto 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ť:<br>
[[File:Iteracie_fraktal.png|alt=obrázok s iteráciami fraktálov|500px]]<br clear=all>
[[File:Iteracie_fraktal.png|alt=obrázok s iteráciami fraktálov|500px]]<br clear=all>
<br clear=all>
<br clear=all>
Na tomto gif obrázku môžeme zas vidieť ako sa nekonečne zanoruje bežný fraktál:
Na tomto gif obrázku môžeme zas vidieť ako sa nekonečne zanára bežný fraktál:<br>
[[File:recursion_fractal.gif|alt=gif fraktálu|200px]]<br>Na tomto gif obrázk môžeme zas vidieť ako sa nekonečne zanoruje bežný fraktál.
[[File:recursion_fractal.gif|alt=gif fraktálu|200px]]
</li>
</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>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>
Riadok 61: Riadok 70:
             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.
             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>
         </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>



Aktuálna revízia z 04:24, 9. 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ástroje:
OpenSCAD
Inštrukcie pre učiteľov:
učitelia - 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". Príklad kochovej kocky: vyhľadávanie Google - "koch cube"

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:

  • Teória - rozcestník stručnej teórie pre koncepty, ktoré potrebujeme
  • 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

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 nasledujúcich obrázkoch:
    Z tohto 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ť:
    obrázok s iteráciami fraktálov

    Na tomto gif obrázku môžeme zas vidieť ako sa nekonečne zanára bežný fraktál:
    gif fraktálu
  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.

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.