PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Der Grund für das Engine-Koordinatensystem


{655321}-Hades
2003-10-17, 22:56:48
Hi!

Kennt jemand von euch den genauen Grund dafür, warum die y-Achse bei Grafikprogrammierung entgegengesetzt zu dem kartesischen Koordinatensystem verläuft?

Wird überall auf Monitoreigenschaften geschoben, aber keiner will es näher erläutern...

???

Danke, soweit,

Hades

x-dragon
2003-10-17, 23:32:09
Da mir das kartesische Koordonatensystem nichts sagte, hab ich mal eben nachgeschlagen und bin auf eine sehr interessane Webseite gestoßen wo unteranderem dies steht:

Das Koordinatensystem

Die meisten Anwendungen benutzen zwei Arten des kartesischen Koordinatensystems: das linkshändige oder das rechtshändige Koordinatensystem. Beiden gemeinsam ist die Tatsache, dass die x-Achse nach rechts und die y-Achse nach oben verläuft. ...

DirectX8.0 nutzt das linkshändige Koordinatensystem. Falls Sie also Anwendungen mit einem rechtshändigen Koordinatensystem nach DirectX übertragen wollen, ist es notwendig, dass Sie bestimmte Änderungen an Ihren 3D-Objekten vornehmen. ...

Quelle: http://www.minfos.de/SelfDXD/DirectXGraphics/theorie/dg_ele.html (da gibts auch Bilder dazu) :kratz2: meintest du wirklich y oder doch z?

{655321}-Hades
2003-10-17, 23:49:32
Ja, ich rede schließlich auch von 2d-Engines, das hätte ich erwähnen sollen ;)

Dr.Doom
2003-10-17, 23:53:48
(Ultra-salopp-Mode)
Der Ursprung (x=y=0) ist beim kartesischen Dings "unten links", x wächst nach rechts, y wächst nach oben.

Es gibt aber auch "Gelegenheiten", da ist der Ursprung "oben link".
Beim CRT-Monitor könnte das der Fall sein, da der Strahl, der das Bild aufbaut, ein Bild Punkt für Punkt (von links nach rechts) und zeilenweise (von oben nach unten) aufbaut. Und da hat man das einfach übernommen. :D

{655321}-Hades
2003-10-18, 14:43:23
Original geschrieben von Dr.Doom
(Ultra-salopp-Mode)
Der Ursprung (x=y=0) ist beim kartesischen Dings "unten links", x wächst nach rechts, y wächst nach oben.

Es gibt aber auch "Gelegenheiten", da ist der Ursprung "oben link".
Beim CRT-Monitor könnte das der Fall sein, da der Strahl, der das Bild aufbaut, ein Bild Punkt für Punkt (von links nach rechts) und zeilenweise (von oben nach unten) aufbaut. Und da hat man das einfach übernommen. :D

Sowas hätte ich mir fast gedacht... :D Danke!

Xmas
2003-10-18, 16:54:30
Reine Definitionssache der Grafikbibliothek. Da Grafikkarten im 2D-Modus das Bild zeilenweise von oben nach unten speichern, ist die Berechnung der Pixeladresse als (y * Breite + x) etwas einfacher denn als ((Höhe - y) * Breite + x)

Gast
2003-10-20, 21:42:27
bei der gui programmierung ist die festlegung von (0/0) in die obere linke ecke sehr praktisch. wer schonmal in matlab ne gui designed hat und dann das fenster vergößert/verkleinert hat weiß was ich meine