Zbierka - Valec z polygónov
Valec z plygónov
Pri 3D modelovaní v pomocou programovania vo veľkom využívame funkcie a opakovanie modelov. Do funkcií si môžeme posielať parametre a následne s nimi pracovať a upravovať ich. Môžeme si aj vytvoriť závislosti medzi parametrami, to znamená napríklad to, že ak sa zmení hodnota jedného parametra, zmení sa aj hodnota iného jedného či viacerých parametrov. Taktiež v CAD systémoch využívame opakovanie určitých modelov v rámci tvorby väčšieho modelu, v tomto príklade si ukážeme ako - pomocou funkcií (modulov) vo všetkých troch nástrojoch na modelovanie.
Zadanie úlohy
V tejto úlohe budeme vytvárať model valca, ktorý je poskladaný z určitých polygónov. Každý z polygónov by mal tvoriť samostatnú funkciu a následne vieme túto funckiu volať aj v iných funkciách a zostaviť z týchto polygónov opäť väčší objekt, takto postupujeme až kým si nevytvoríme valec, ktorý pozostáva z týchto polygónov. Úloha ukazuje ako používať funkcie, preposielanie parametrov a ako vieme skladať menšie objekty do väčších.
Inštrukcie
- Otvorte si daný nástroj - BlocksCAD alebo OpenSCAD, ktorý ste si na implementáciu vybrali a naštudujte si ako sa dajú vytvárať funkcie - v Tinkercade ich nájdeme pomenované ako "Object" a v BlocksCADe a OpenSCADe ako "Module"
- Vysúšajte si vytvoriť vlastné jednoduché funkcie a následne ich zavolať a vytvoriť si tak základný objekt.
- Porozmýšľajte ako tento princíp viete využiť na implementáciu vášho modelu.
- Postupne začnite pridávať vaše objekty, transformácie či parametre do jednotlivých funkcií a sakldať tak komplexnejšie modely.
- Následne sa posuňme vyššie a skúsme v rámci funkcii volať iné funkcie a takto si poskladať o čosi komplexejší model.
- Pri tvorbe modelu čo najviac používame parametre, prvým parametrom by mal byť počet uhlov v mnohouholníku (polygone), ktorý vytvárame, taktiež tu môžeme využiť parameter pre počet poschodí, parameter rotácie jednotlivých poschodí a podobne. Vyskúšajte si ich pridať čo najviac a spraviť medzi nimi súvislosti.
- Všimnite si závislosti vo vzorových riešeniach medzi parametrami - napríklad na parametri p.
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úšajte iné stupne polygónov alebo ďalšie funkcie, ktoré by ste k modelu mohli pridať
- skúste jednotlivé mnohouholníky v rámci jednej úrovne rozšíriť od seba tak ďaleko aby sa nespájali a spojiť ich nejakým ďalším objektom alebo funkciou implementujúcou objekt, ktoré by ich spojili do jednotného modelu
- vyskúšajte do parametrov dosadzovať rzne hodnoty a sledujte ako sa celkový dizajn mení - niekedy viac, inokedy menej
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:
- Tinkercad learn - vzdelávacie centrum Tinkercad codeblocks modelov - na príkladoch ilustrované základné koncepty a používanie Tinkercad Codeblocks
- BlocksCAD lessons - lekcie pre tvorbu modelov - tu si môžete vyskúšat modelovanie v BlocksCADe na úlohách s rôznymi modelmi, kde si viete triediť výber úloh podľa toho čo potrebujete, alebo vás zaujíma
- 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
V tejto úlohe sme si predstavili tvorbu funkcií a ako veľmi si tým vieme rozšíriť implemetáciu modelov, taktiež sme sa naučili lepšie vidieť súvislosti medzi parametrami, ako ich používať vo funkciách a ako sa náš parametrizovaný objekt vie rýchlo meniť pri zmene jednotlivých vstupov.