Normalisierte Gerätekoordinate: Unterschied zwischen den Versionen
K (Rechtschreibung) |
(Bereich korrigiert: Vorher [0..1] (inkl.), jetzt [-1..1] (inkl).) |
||
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | + | '''Normalisierte Gerätekoordinaten''' (engl. normalized device coordinates, auch '''NDC''') bilden den Bereich eines Ausgabemediums (in Verbindung mit OpenGL eigentlich immer der Viewport auf einem Fenster) auf die Koordinatenspanne -1..1 auf jeder Achse ab. Man kann sie ähnlich wie auch die [[Normale]] eines Vektors dann beliebig skalieren. | |
− | Normalisierte Gerätekoordinaten (engl. | ||
− | + | In der Praxis besteht der Hauptnutzen darin, dass man weitestgehend Auflösungsunabhängige Koordinaten verwenden kann (solange das Seitenverhältnis gleich bleibt). Das ist vorallem bei Vektorgrafiken, die beliebig skalierbar sein sollten, wichtig. | |
− | + | ||
+ | Nehmen wir an, wir haben einen Viewport mit einer Fläche von 1024 Pixeln in der Breite und 768 Pixeln in der Höhe. Ein Punkt P mit den absoluten, also nicht normalisierten, Koordinaten P(350/210) würde in normalisieren Gerätekoordinaten gerundet P(-0.32/-0.59) ergeben. Diese Koordinaten könnte man jetzt auf einen Viewport mit einer Fläche von 800x600 Pixeln projizieren, indem man die normalisieren Gerätekoordinaten ähnlich wie beim Skalieren von Vektoren mit den Ausmaßen des Viewports multipliziert. In diesem Fall ergäbe das gerundet: P(273/164). |
Aktuelle Version vom 5. September 2008, 20:14 Uhr
Normalisierte Gerätekoordinaten (engl. normalized device coordinates, auch NDC) bilden den Bereich eines Ausgabemediums (in Verbindung mit OpenGL eigentlich immer der Viewport auf einem Fenster) auf die Koordinatenspanne -1..1 auf jeder Achse ab. Man kann sie ähnlich wie auch die Normale eines Vektors dann beliebig skalieren.
In der Praxis besteht der Hauptnutzen darin, dass man weitestgehend Auflösungsunabhängige Koordinaten verwenden kann (solange das Seitenverhältnis gleich bleibt). Das ist vorallem bei Vektorgrafiken, die beliebig skalierbar sein sollten, wichtig.
Nehmen wir an, wir haben einen Viewport mit einer Fläche von 1024 Pixeln in der Breite und 768 Pixeln in der Höhe. Ein Punkt P mit den absoluten, also nicht normalisierten, Koordinaten P(350/210) würde in normalisieren Gerätekoordinaten gerundet P(-0.32/-0.59) ergeben. Diese Koordinaten könnte man jetzt auf einen Viewport mit einer Fläche von 800x600 Pixeln projizieren, indem man die normalisieren Gerätekoordinaten ähnlich wie beim Skalieren von Vektoren mit den Ausmaßen des Viewports multipliziert. In diesem Fall ergäbe das gerundet: P(273/164).