Představuji Map2Model: Od reálné mapy po 3D model krajiny u vás doma
Jedním z mých nejzajímavějších projektů, na kterých jsem v poslední době pracoval, je aplikace Map2Model. Jde o webovou platformu, která dokáže vzít reálná výšková data jakéhokoliv kousku planety, spojit je s vaší trasou z výletu (GPX) a vygenerovat z nich perfektní 3D model připravený pro 3D tisk. A co víc? Celé to funguje jako plnohodnotný e-shop, takže si zákazníci mohou vygenerovaný model rovnou nechat vytisknout a poslat domů.
Co Map2Model vlastně umí?
Cílem bylo vytvořit nástroj, který bude maximálně jednoduchý pro běžného uživatele, ale pod kapotou bude řešit velmi komplexní generování 3D sítě (meshe). Zde jsou hlavní funkce, které platforma nabízí:
Interaktivní výběr na mapě: Uživatel si pomocí mapy jednoduše tažením označí výsek krajiny, který chce přenést do 3D. Zpracování reálných výškových dat: Aplikace automaticky stahuje a zpracovává SRTM data od NASA o rozlišení 90 metrů, ze kterých generuje precizní terénní povrch. GPX trasy: Vrcholným prvkem je možnost nahrát vlastní GPX soubor, například ze Stravy. Aplikace trasu přesně namapuje na terén a v modelu ji vystoupne jako reliéfní stužku. Vlastní 3D texty: K modelu lze přidat vlastní vyražený nebo vystouplý text, což je ideální pro pamětní nápisy. Interaktivní 3D náhled: Vše se před objednáním renderuje přímo v prohlížeči, takže si zákazník může svůj budoucí výtisk prohlédnout ze všech úhlů.
Od generátoru po plnohodnotný E-shop
Kromě samotného generování je Map2Model i kompletním e-commerce řešením. Uživatelé si nemusí stahovat jen podklady k tisku, ale mohou si objednat fyzický produkt. Aplikace má integrované dynamické nacenění (podle spotřeby materiálu a času tisku), platební bránu Stripe pro bezpečné online platby a integraci se Zásilkovnou (Packeta) pro pohodlné doručení napříč Evropou. Generují se takzvané dvoubarevné 3MF soubory připravené pro multi-materiálový tisk, kdy je samotný terén v jedné barvě a trasa nebo nápis ve druhé.
Pohled pod kapotu: Jaké technologie to pohání?
Jako vývojář rád kombinuji efektivní moderní nástroje. Architektura je postavena čistě na cloudu a rozděluje výpočetně náročné úlohy od rychlého uživatelského rozhraní.
Frontend: Uživatelské rozhraní je postavené na Reactu 19 s build nástrojem Vite. O vzhled se stará TailwindCSS 4. Zobrazení interaktivního 3D modelu má na starosti knihovna Three.js.
Backend a výpočty: Vše běží na Firebase. Konkrétně využívám Firebase Cloud Functions druhé generace napsané v Pythonu. Python jsem zvolil záměrně kvůli perfektnímu ekosystému knihoven pro práci s matematikou a 3D geometrií. Python skript vezme výšková data, vymodeluje vodotěsný 3D mesh, vloží do něj trasu a vygeneruje finální 3MF soubor.
Infrastruktura a služby: Pro ukládání dat a modelů používám Cloud Firestore a Firebase Storage. O bezpečnost se starají striktní Security Rules ve Firebase pro ochranu dat a oddělení administrátorských práv od těch uživatelských. Systém je také napojen na Stripe, Packeta API a službu Resend pro transakční e-maily.
Závěr
Map2Model byl obrovskou výzvou, protože spojoval webový vývoj, matematickou manipulaci se 3D modely, zpracování geografických dat a e-commerce logiku. Výsledkem je platforma, která dokáže hmatatelně zachytit vzpomínky z cest a expedic.
Zatím žádné komentáře. Buďte první!