Wireframe Berechnung
-
Hallo Leute,
ich Programmiere schon seit langem Mikrocontroller und bin jetzt seit einem halben Jahr von ASM auf C umgestiegen.
Nun suche ich eine Homepage auf der erklärt wird wie man eine Wireframe Programmiert, ambesten natürlich mit mathematischer Erlkärung. Ich möchte nämlich auf einem Handy-Display, das ich mit einem µC ansteuere, eine kleine 3D Engine anzeigen, nur nen paar Quader oder so. Jetzt möchte ich die "Umrechnung" von 3D auf 2D-Anzeige gerne Programmieren könnt ihr mir dazu ein paar Infos geben? Wäre echt toll.Gruß lightninglord
-
-
Wenn du es allgemein wissen willst: google mach 3D Pipeline.
Konkret für dein Problem: Wenn du wirklich nur ein paar Quader in Wireframe rendern willst, brauchst du eigentlich nur eine Projektion von 3D auf 2D. Sprich du definierst die Eckpunkte deiner Quader in 3D relativ zur Kamera, die fix bei (0,0,0) steht und berechnest dir dann die (x,y)-Koordinaten mittels Strahlensatz. Zwischen den projizierten Punkten zeichnest du dann deine Linien (Stichwort Bresenham-Algorithmus).
-
naja aber mit der "Strahlensatz"-Methode kann man den Quader doch nicht drehen oder doch?
-
lightninglord schrieb:
naja aber mit der "Strahlensatz"-Methode kann man den Quader doch nicht drehen oder doch?
klar, genau so geht das. 3D modell drehen, neue projektion berechnen, feddich.
zum drehen google mal nach "homogene transformation"
-
Um den Quader zu Drehen musst du lediglich vor der Projektion durch den Strahlensatz die lokalen Koordinaten entsprechend transformieren (z.B. mit einer Rotationsmatrix). Dazu brauchst du übrigens NICHT zwingend homogene Koordinaten.