Zbierka - Kochova kocka: Rozdiel medzi revíziami
Bez shrnutí editace |
Bez shrnutí editace |
||
Riadok 1: | Riadok 1: | ||
<div class="worksheet"> | <div class="worksheet"> | ||
[[File:Koch_cube.png|alt=Kochova kocka|top|left|256px]] <h1>Kochova kocka iteratívne</h1> | [[File:Koch_cube.png|alt=Kochova kocka|top|left|256px]] <h1>Kochova kocka iteratívne</h1> | ||
Riadok 45: | Riadok 4: | ||
<div class="lesson-plan-text"> | <div class="lesson-plan-text"> | ||
<div><div>Trvanie:</div><span>1 hod</span></div> | <div><div>Trvanie:</div><span>1 hod</span></div> | ||
<div><div>Náročnosť:</div><span> | <div><div>Náročnosť:</div><span>pokročilý</span></div> | ||
<div><div>Zručnosti:</div><span>transformácie, cykly, množinové operácie</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><div>Nástroj:</div><span>[https://openscad.org/ OpenSCAD]</span></div> |
Verzia z 21:18, 25. apríl 2024
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.
Inštrukcie
- Otvorte si nástroj OpenSCAD
- Všetky koncepty, ktoré k zostrojeniu takéhoto modelu potrebujete už poznáte z predošlých úloh.
- 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.
- 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.
- 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.
- 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.
- 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.