Re: SDL-Koordinaten umrechnen
Verfasst: 25.08.2011, 00:01
HA... das weiß ich:
Nun ja...
Also, wenn Du eine Auflösung von, sagen wir mal, 800x600 hast, dann erstrecken sich die 800, in X-Richtung, von (-1) bis (+1). Und auf Y-Seite (+1) bis (-1).
Also immer um einen Betrag von 2!
(-1) => (+1) == 2 (X-Richtung)
(+1) => (-1) == 2 (Y-Richtung)
Angenommen Du möchtest dun herausbekommen, wo im OGL-KO-System sich der Punkt (200,100) befindet:
simple Verhältnisgleichung:
800/2 = 200/x ==> 2/800 = x/200;
x = 2*200/800;
x = 400/800 = 0.5;
das saleb für Y:
600/2 = 100/y ==> 2/600 = y/100;
y = 2*100/600;
y = 200/600 = 0.333;
Da oben Links im GL-KO-System ja (-1,1) ist, einfach die neuen Werte dazu addieren.
für X:
-1 + 0.5 = -0.5;
für Y:
1 + 0.33 = 1.33;
Sooo... ich hoffe mein Taschenrechner hat keine Fehler gemacht.
Nun ja...
Also, wenn Du eine Auflösung von, sagen wir mal, 800x600 hast, dann erstrecken sich die 800, in X-Richtung, von (-1) bis (+1). Und auf Y-Seite (+1) bis (-1).
Also immer um einen Betrag von 2!
(-1) => (+1) == 2 (X-Richtung)
(+1) => (-1) == 2 (Y-Richtung)
Angenommen Du möchtest dun herausbekommen, wo im OGL-KO-System sich der Punkt (200,100) befindet:
simple Verhältnisgleichung:
800/2 = 200/x ==> 2/800 = x/200;
x = 2*200/800;
x = 400/800 = 0.5;
das saleb für Y:
600/2 = 100/y ==> 2/600 = y/100;
y = 2*100/600;
y = 200/600 = 0.333;
Da oben Links im GL-KO-System ja (-1,1) ist, einfach die neuen Werte dazu addieren.
für X:
-1 + 0.5 = -0.5;
für Y:
1 + 0.33 = 1.33;
Sooo... ich hoffe mein Taschenrechner hat keine Fehler gemacht.