3D->2D Koordinaten umrechnen

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

hazumu-kun

Betreff: 3D->2D Koordinaten umrechnen

BeitragDi, Mai 04, 2010 19:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

ich wollte mich mal dranmachen ein kleines Beispiel für perspektivische Projektion zu schreiben, habe bisher aber nicht auf die Reihe bekommen den englischen Wikipedia-Artikel funktionierend umzusetzten.
Mir geht es auch nicht darum zu verstehen wie es funktioniert, sondern mehr darum eine Liste von Punkten im 3D Raum, in eine Liste von Punkten in einer 2D Ebene umzuwandeln.

Für Denkanstöße oder Code würde ich mich sehr freuen.

MFG,
Hazumu.
Warum kann es keine omnipotente Macht geben?
Weil diese omnipotente Macht in der Lage sein müsste, einen so schweren Stein zu schaffen, dass sie ihn nicht heben kann
-> nicht omnipotent

ZaP

BeitragDi, Mai 04, 2010 20:01
Antworten mit Zitat
Benutzer-Profile anzeigen
CameraProject kann das. Mit ProjectedX und ProjectedY hast Du die Koordinaten.
Starfare: Worklog, Website (download)

hazumu-kun

BeitragDi, Mai 04, 2010 20:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Naja, ich hab nur BlitzPlus, und mir geht es darum es wirklich manuell zu machen, nicht über ne Blitz3D Funktion.
Warum kann es keine omnipotente Macht geben?
Weil diese omnipotente Macht in der Lage sein müsste, einen so schweren Stein zu schaffen, dass sie ihn nicht heben kann
-> nicht omnipotent

Noobody

BeitragDi, Mai 04, 2010 21:15
Antworten mit Zitat
Benutzer-Profile anzeigen
BlitzBasic: [AUSKLAPPEN]
Local AOV# = 60.0 ;Angle of view

Local PlaneDist# = 1.0/Tan( AOV#/2.0 )

Local AspectRatio# = GraphicsHeight()/Float( GraphicsWidth() )

Local ProjX# = ( VertexX#*PlaneDist/VertexZ# + 1 )*GraphicsWidth()*0.5
Local ProjY# = ( AspectRatio# - VertexY#*PlaneDist/VertexZ# )*GraphicsWidth()*0.5

Berücksichtigt den Sichtwinkel der Kamera und Verzerrung aufgrund des Fensterseitenverhältnisses.

VertexX#, -Y#, und -Z# müssen im lokalen Koordinatenraum der Kamera sein.
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun

hazumu-kun

BeitragDi, Mai 04, 2010 21:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Gott!
Danke Noobody *niederknie*
Warum kann es keine omnipotente Macht geben?
Weil diese omnipotente Macht in der Lage sein müsste, einen so schweren Stein zu schaffen, dass sie ihn nicht heben kann
-> nicht omnipotent

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group