Suchergebnisse
Suchergebnisse 1-8 von insgesamt 8.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
-
Guten Tag liebes Forum, ich programmiere gerade eine Mathematik Klasse das fundamentale Methoden zur Verfügung stellt, und will nun die Projektion eines 3D Punktes auf eine Ebene(Bildschirm) implementieren_ Ich fand diesen gelungenen Wikipedia Artikel, en.wikipedia.org/wiki/3D_projection das ich auch anfangs implementiert hatte... Nur gab es eben Probleme mit der World-Matrix weshalb ich hernach beschloss einfach die Projektion aus XNA zu übernehmen ( Viewport.Project). Nun habe ich bemerkt, das…
-
das Z *(1.0 - 0.0) + 0.0 entspricht Z * (maxDepth - minDepth) + minDepth aus der dekompilierten Viewport Klasse des MonogameFrameworks. Ist dein Link äquivalent zu en.wikipedia.org/wiki/3D_projection#Perspective_projection ? Macht nämlich Sinn. EDIT: Ich habe nun den Wikipedia Eintrag folgendergestalt implementiert: C#-Quellcode (30 Zeilen) Erhalte jedoch für den Vektor (2,1, 0) NaN was Sinn macht, denn die Z-Komponente ist ja 0 und durch diese wird dividiert. Wie kommen die auf (2,1)?! Ahso, ha…
-
Hi, danke vielmals für deine Antworten. Also, die Position wird nun direkt berechnet: C#-Quellcode (44 Zeilen) Wenn ich nun eine ZRotation auf einen Punkt anwenden und diese dann projiziere klappt alles wunderbar. Sobald jedoch eine XRotation, oder YRotation appliziert wird sieht das sehr ominös aus.... Hier die Methoden für die Rotation: C#-Quellcode (33 Zeilen) ParseToNumeric<T>() erlaubt es mit T mathematische Operationen durchzuführen. Das Projekt im Anhang ( nicht kompiliert). Interessant i…
-
Nun, entschuldigt das ich es zum dritten Male frage: Wie macht es XNA?
-
Naja, in XNA ist die maximale Länge - wenn um X oder Y rotiert wird - Eins ( das dann beliebig skaliert wird). Anders als bei meiner Implementierung: Die maximale Länge variiert zwischen width und height.
-
@~blaze~ Das Problem ist folgendes: Gegeben seien drei Punkte: 0,0,2 1,0,2 0,1,2 Und folgende Matrizen: View: Matrix.CreateLookAt(new Vector3(0, 0, 0), new Vector3(0, 0, 1), new Vector3(0, 1, 0)) Projection: Matrix.CreatePerspectiveFieldOfView(MathHelper.PiOver4, GraphicsDevice.Viewport.AspectRatio, 0.1f, 1000.0f) World: Matrix.Identity Werden diese nun gezeichnet resultieren folgende Szenen: Meine Implementierung: vb-paradise.de/index.php/Attachment/39450/ Wie es auszusehen hat: vb-paradise.de/…
-
Ne, ist einkalkuliert: C#-Quellcode (14 Zeilen)
-
Hey Leute vielen Dank, Wieso irritiert es dich? Jede Struktur verlangt ein Typ-Parameter. Um mit den Typ-Parameter zu rechnen, wird der Typ-Parameter in sein jeweiligen Typ konvertiert( double, float, integer et cetera) und mittels dynamic Rückgabewert dann dynamisch in ein Datentyp konvertiert. "Müsste es nicht 1.0 statt 2.0 sein, sodass das in die Mitte wandert? Es wäre sonst doch ganz rechts, oder?" Der Wert liegt im Intervall -1 und 1. Wenn ich um 1.0 addieren liegt es zwischen 0 und 2. Prob…