Hi,
ich bin momentan damit beschäftigt selbst eine 3D-Engine zu programmieren. Mit der Theorie an sich, wie ich die neuen Koordinaten der Punkte, Linien und Ebenen bei der Veränderung der Kameraperspektive berechne, habe ich keinerlei Probleme. Ich weiß allerdings nicht, wie ich anhand der 3 dimensionalen Koordinaten eines Punktes, den dazugehörigen Punkt auf dem Bildschirm bestimmen kann.
Ich habe schon verschiedene Möglichkeiten ausprobiert, die mir in den Sinn kamen, allerdings wurden die Punkte bei allen Versuchen zu den Bildschirm-Seiten hin verzerrt. Dies sieht man vor allem an den Linien. Ich habe momentan keine Ahnung mehr, wie ich das sonst noch umrechnen könnte. Ich hoffe ihr könnt mir hierbei helfen.
Zusatzinformationen: Die Kamera ist der Koordinatenursprung. Die z-Achse ist die Tiefe (in Blickrichtung der Kamera), die x-Achse verläuft bei mir nach oben (von der Blickrichtung ausgehend) und die y-Achse verläuft nach rechts (ebenfalls von der Blickrichtung ausgehend). Nach jeder Änderung der Kameraposition werden alle anderen Punkte im Koordinatensystem dementsprechend umgerechnet und erhalten die neuen Positionsdaten.
>spEEd>