Ik ben nu een tijdje bezig met mezelf verdiepen in de werking van een 3d engine (3d -> 2d). Ik heb in PHP (in php ja
) de volgende vars:
$camera[1]: camera x positie
$camera[2]: camera y positie
$camera[3]: camera z positie
$vector[1]: vertex x positie
$vector[2]: vertex y positie
$vector[3]: vertex z positie
$width: imagebreedte
$height: imagehoogte
$fov: field of view factor
Vooralsnog kijkt de camera maar in 1 richting.
Ik werk met polygonen met 2 punten (gewoon rechte lijnen). Nu kan ik redelijk eenvoudig een 3d beeld voor de camera creeeren:
Dit gebeurt voor elke vertex, en daar kan ik dan lijntjes tussen trekken. Nu kom ik echter op een probleem als ik een lijn van bijvoorbeeld 10,10,-10 naar 10,10,10 wil tekenen en de camera op punt 10,10,5 staat. Het punt achter de camera wordt niet juist gerendered. Iemand suggesties?
[edit]
Foute topictitel
matrices = vertexen tnx
$camera[1]: camera x positie
$camera[2]: camera y positie
$camera[3]: camera z positie
$vector[1]: vertex x positie
$vector[2]: vertex y positie
$vector[3]: vertex z positie
$width: imagebreedte
$height: imagehoogte
$fov: field of view factor
Vooralsnog kijkt de camera maar in 1 richting.
Ik werk met polygonen met 2 punten (gewoon rechte lijnen). Nu kan ik redelijk eenvoudig een 3d beeld voor de camera creeeren:
PHP:
1
2
3
4
5
6
| $zfactor = $vector[2] - $camera[2]; $x = $fov * ($vector[0] - $camera[0]) / $zfactor * ($width / 2) + ($width / 2); $y = $fov * ($vector[1] - $camera[1]) / $zfactor * ($height / 2) + ($height / 2); |
Dit gebeurt voor elke vertex, en daar kan ik dan lijntjes tussen trekken. Nu kom ik echter op een probleem als ik een lijn van bijvoorbeeld 10,10,-10 naar 10,10,10 wil tekenen en de camera op punt 10,10,5 staat. Het punt achter de camera wordt niet juist gerendered. Iemand suggesties?
[edit]
Foute topictitel

[ Voor 4% gewijzigd door Verwijderd op 31-07-2003 23:28 ]