
Grafy
Jednou z dalších funkcí našeho CADu by mělo být generování 3D grafů. Tedy naprogramovat nástroje pro import matice dat třeba z Excelu, přidat měřítka pro přiměřené zobrazení v pixelech, možnost různých typů os, obarvení plochy grafu podle hodnot na některé z os – a podobné úpravy.
Bohužel s úplně jemnými grafy zatím počítat nemůžeme. Počet zobrazitelných stran v CSS 3D je omezen výkonem prohlížeče.
Při otáčení grafu si všimněte, že písmena tvořící popisky os sice mění pozici podle natočení grafu, ale neotáčí se bokem – zůstávají stále čelem k pozorovateli. Vytvoření tohoto efektu je mnohem složitější, než se zdá, a určitě se k němu vrátíme podrobněji.
Fonty
Další funkcí našeho CADu by mělo být generování těles na základě fontů. Na to se opravdu těším, protože fonty byly vždy mojí oblíbenou doménou. Od počešťování jehličkových tiskáren, přes fonty pro HP PCL, PostScript, ATM, TTF, až po webové formáty. I v tomto CADu chci najít způsob, jak z písmen různých fontů vytvářet 3D tělesa.
Cesta, kterou volím, vede od vykreslení nápisu daným fontem na canvas, přes vektorizaci obrázku (jen lomené čáry), až po vytvoření tělesa z plošek v CSS 3D.
Vektorizace obrázku na lomené čáry je zajímavý programátorský úkol. Existuje několik známých algoritmů, ale určitě zapojíme i kreativitu a vymyslíme vlastní – optimalizovaný tak, aby výsledek vypadal hezky a plošek bylo co nejméně.
Téma grafů i fontů krásně ukazuje, jak široké možnosti nám CSS 3D nabízí – ale zároveň i kde narážíme na limity. V příštím článku se podíváme na kombinaci CSS a JavaScriptu a na to, jak můžeme do scény zapojit IFRAME
. Otevírá se tím další úroveň interaktivity – nejen vizuální, ale i funkční.