Projekce těles na canvas v Javascriptu
Kód programu umožňuje vykreslit základní geometrická tělesa na canvas:
- jedná se o čistý Javascript, žádné další knihovny nejsou použity
- na tělesa jsou aplikovány základní afinní transformace
- všechny transformace [včetně promítání na průmětnu] se provádějí pomocí maticových operací
- tělesa jsou zobrazována přes paralelní [horní řada] i středové promítání [dolní řada]
- pro lepší názornost jsou tělesa animována pomocí rotace ve třech rozměrech
- animace je prováděna přes timer nastavený na 30 FPS
- základní parametry těles lze měnit za běhu programu pomocí HTML prvků
Vykreslování do průmětny lehce trpí kvůli efektu, který se nazývá Z-fight. Během vykreslování polygonů jsou primitiva seřazena podle souřadnice Z, což ovšem nestačí. Pokud budete chtít tento problém odstranit, je nutné pro každou plochu spočítat její normálu a zjistit, jestli je plocha natočena směrem ke kameře nebo od ní. Směr normály se pak musí zohlednit během třídění primitiv.
Galerie

Stáhnout
Stažením následujícího souboru souhlasíš s licenčními podmínkami
Staženo 177x (2.76 kB)
Aplikace je včetně zdrojových kódů v jazyce JavaScript