Die übersetzung zwischen kartesischen und Bildschirm-Koordinaten

Für mein Spiel brauche ich Funktionen übersetzen zwischen zwei Koordinatensystemen. Nun, es ist vor allem Mathe Frage, aber was ich brauche, ist der C++ - code, es zu tun und ein bisschen Erklärung, wie Sie zu lösen mein Problem.

Bildschirm-Koordinaten:

a) die Obere linke Ecke ist 0,0

b) keine minus-Werte

c) rechts += x (die mehr ist x-Wert, desto mehr rechts ist Punkt)

d) unten +y =

Kartesische 2D-Koordinaten:

a) mittlere Punkt (0, 0)

b) minus-Werte existieren

c) rechts += x

d) unten= y (weniger ist y, der mehr an der Unterseite ist der Punkt)

Ich brauche eine einfache Möglichkeit, zu übersetzen, von einem system zu einem anderen und Umgekehrt. Um das zu tun, (ich denke) muss ich einige Kenntnisse, wie, wo ist die (0, 0) [oben Links im Bildschirm-Koordinaten] gesetzt in den kartesischen Koordinaten.

Allerdings gibt es ein problem, dass für einige Punkt in kartesischen Koordinaten nach der übersetzung auf dem Bildschirm, die position in Bildschirmkoordinaten kann minus, das ist Unsinn. I cant linken oberen Ecke der Bildschirm-Koordinaten in (-inifity, +unendlich) kartesischen Koordinaten...

Wie kann ich dieses Problem lösen? Die einzige Lösung, die ich denken kann, ist auf Platz Bildschirms (0, 0) im kartesischen (0, 0) und nur der IV Quartal des kartesischen Systems, aber in diesem Fall mit kartesischen system ist sinnlos...

Ich bin sicher, es gibt Möglichkeiten für die übersetzung der Bildschirm-Koordinaten in kartesische Koordinaten und Umgekehrt, aber ich mache etwas falsch in meinem denken mit, die minus-Werte.

der Bildschirm-Koordinate ist kartesische? Wann hat es sich nicht-kartesische?
er will negative Koordinaten
die Y-Achse ist anders, Bildschirm und Kartesisch.
Ich nehme Ihr Wort für es, aber ich dachte, Kartesisch bedeutet nur, es ist R^2 mit L2-Metrik (en.wikipedia.org/wiki/Cartesian_coordinate_system). Sie können es drehen wie man will, so lange, wie das Umblättern/transformation ist eine Isometrie.
gut du hast Recht, aber ich denke, die Frage ist understable.

InformationsquelleAutor user1873947 | 2013-02-14

Schreibe einen Kommentar