7. Grafy, písmena v CSS 3D

Ilustrační obrázek k článku: Grafy, písmena v CSS 3D
Umíme-li umístit libovolný polygon do 3D, tak toto můžeme využít pro vyváření grafů či těles na základě fontů.

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.

Graf s měnitelnou průhledností, čisté CSS

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.

Najetí myší nad písmenko způsobí jeho rotaci

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í.

Předchozí   Následující