Není 3D jako 3D, záleží také, jakou chcete projekci - ve škole jste určitě brali volné rovnoběžné promítání, existuje třeba izometrie (např. staré SimCity, Age of Empires), anebo ve 3D hrách asi nejpoužívanější perspektiva. U každé se 3D souřadnice na 2D přepočítávají trochu jinak a ještě se tam typicky definuje kamera, tedy pohled, odkud se na scénu díváte (abyste nemusel měnit souřadnice všech objektů ve scéně). Úplně jednoduchá perpektiva se dělá takhle: X,Y,Z ... souřadnice ve 3D x,y ... souřadnice ve 2D w ... výška obrazovky h ... šířka obrazovky d ... "depth faktor" - jak moc se prostor zúžuje x = X / Z * d * w + w / 2 y = Y / Z * d * h + h / 2 Počítá se s tím, že prostředek obrazovky je bod 0,0,0, proto se k x a y přičítá w / 2 a h / 2. Typicky se to ale takhle nepočítá, používají se na to transformační matice a operace násobení matic - doporučuju prostudovat tutoriál o XNA na zdejším webu (není ale pro aktuální verzi XNA, matematika tam ale popsaná trochu je), anebo lepší na www.riemers.net. y = Y / Z * d * h
|