Nach allem, was ich gesehen habe, verwenden fast alle Dinge Koordinaten, bei denen (0, 0) oben links steht und die positive Y-Achse in der Abwärtsrichtung Ihres Bildschirms verläuft.
Warum ist es so? Warum geht die konventionelle positive Y-Achse nicht nach oben, wie in Diagrammen in einfachen Matheklassen gezeigt?
coordinates
graph
user3387566
quelle
quelle
Antworten:
Dies ist in der Geschichte verursacht. Frühe Computer hatten Kathodenstrahlröhren (CRTs), die das Bild mit einem Kathodenstrahl von der oberen linken Ecke zur unteren rechten Ecke "zeichnen".
Um die Schnittstelle zwischen Grafikkartenspeicher und CRT zu vereinfachen, wurde der Speicher von Anfang an gelesen und das Bild von links oben (mit der niedrigsten Speicheradresse) nach rechts unten (mit der höchsten Speicheradresse) gezeichnet.
Erweiterung (basierend auf den Kommentaren)
Die CRTs basieren auf analogen Fernsehgeräten, die zu diesem Zeitpunkt verfügbar waren.
Die Fernsehgeräte erstellen das Bild zeilenweise von links nach rechts und dann von oben nach unten . Der Grund hierfür kann nur in Anlehnung an den Schreibstil in westlichen Ländern vermutet werden.
quelle
Das ist eine großartige Frage, an die ich schon oft gedacht habe. Die einfache Antwort auf das "Warum" ist, dass TV-Formate ihre Zeilen auch von links nach rechts und dann von oben nach unten gezeichnet haben. Ursprüngliche Computermonitore waren CRT-Bildschirme (kleine Fernseher), so dass das Format natürlich gleich blieb. Als aus Monitoren Flachbildschirme wurden (und aus Fernsehgeräten auch Flachbildschirme), war es ebenso selbstverständlich, dass zur Vereinfachung der Kompatibilität dasselbe Format beibehalten wurde.
Dann können Sie sich natürlich fragen: Warum zeichnen Fernsehgeräte so? Sie wurden im frühen 20. Jahrhundert erfunden, sodass Sie sich vorstellen können, wie viel Gedanken oder Mangel daran in das Design geflossen sind, wenn es überhaupt in Frage gestellt wurde. Hinweis: Dies ist kein Grund zur Respektlosigkeit, da es ungemein schwieriger ist, Gleichungen für die magnetische Ablenkung von Strahlen auf die richtigen Linien auf einem Bildschirm zu erhalten, im Gegensatz zu einer einfachen Matrix aus winzigen "Glühbirnen". (Dies wirft die Frage auf, wie um alles in der Welt sie CRTs vor der einfachen Punktematrix im frühen 20. Jahrhundert erfunden haben?)
Meine Vermutung ist jedoch, dass es wahrscheinlich nie in Frage gestellt wurde (eine schlechte Sache), da die westlichen Sprachen Wörter von links nach rechts und von oben nach unten schreiben. Wahrscheinlich hat niemand die Möglichkeit erdacht, es anders zu machen.
Persönlich mag ich dieses Format nicht. Diese Einstellung habe ich durch das Programmieren von Spielen und anderen Simulationen mit elliptischen Bahnen erhalten. Wenn Sie nach Gleichungen mit sin, cos oder tan suchen, müssen Sie die Vorzeichen, die sich mit den Parametern der y-Achse befassen, sorgfältig umkehren. Andernfalls wird das Falsche gezeichnet. Ein Beispiel wären die parametrischen Gleichungen für eine Ellipse, die in einem beliebigen 2D-Winkel gezeichnet wird. Es kann ein wahrer Albtraum sein, der die Sünde, den Sünde- Lattich und ähnliche Dinge zerlegt.
Kurz gesagt, der Bildschirm befindet sich in Quadrant 4 anstelle von Quadrant 1. Dies ist unnötig kompliziert.
Übrigens, wenn Sie 3 Dimensionen erreichen, wird davon ausgegangen, dass die z-Achse in der positiven Richtung "aufwärts" geht. Ein bisschen ironisch. [BEARBEITEN]: Vielleicht nicht, siehe meinen Kommentar unten.
2 weitere Dinge, die mir aufgefallen sind:
Sonnenuhren auf der nördlichen Hemisphäre (mit nach Norden gerichteten Zeigern und Scheiben parallel zum Boden) drehen sich immer im Uhrzeigersinn . Wenn wir also die Stunde Null oben auf das "Zifferblatt" setzen, bewegt sich der Schattenzeiger nach rechts. Dies könnte der Ursprung der Links-Rechts-Richtung in westlichen Sprachen sein, die sich auf kartesische Koordinaten und Fernseh- / Computerbildschirme ausbreitet.
Alte Computer zeichneten weniger grafische Objekte. Sie zeichneten Text in einer Eingabeaufforderung. Es ist also natürlich, Zeile 0 bei y = 0 zu setzen. Wenn wir einen Ursprung von links unten hätten, wäre die Mathematik des Zeichnens von Textlinien etwas komplizierter, und es hätte eine große Sache für jene alten langsamen Computer sein können (die sogar eine Abkürzung für das Inkrementieren um 1 gemacht haben, um Himmels willen, genannt "++"). Außerdem müssen Sie die Auflösung des Bildschirms kennen, während Sie die Auflösung nicht kennen müssen, wenn Sie bei y = 0 nur Zeile 0 eingeben.
quelle
Nachtrag: Frühe Grafiken wurden auf Vektormonitoren erstellt , nur einen Schritt von den Oszilloskopen entfernt, die im Labor zu sehen waren. Dabei befand sich (0,0) genau in der Mitte des Bildschirms / Y-Versatz und möglicherweise X / Y-Inversion.
Die dedizierte Hardware von Atari "Asteroids" (1979) verwendete beispielsweise einen Vektorschirm; Es wäre interessant zu wissen, was es für ein Programmkoordinatensystem hielt.
Ivan Sutherlands "Sketchpad" -System (1963) basierte auf einer TX-2- Vektoranzeige, und in "Sketchpad: Ein grafisches Mensch-Maschine-Kommunikationssystem" (Dissertation, Januar 1963) schreibt er auf Seite 70ff:
Abbildung 5.2 auf Seite 73 zeigt, dass das "Seitenkoordinatensystem" die mathematische Konvention des kartesischen X / Y-Koordinatensystems verwendet. (Man könnte fragen, warum diese Konvention so ist, wie sie ist ...)
quelle
Nicht alles ist oben links.
OpenGL gibt zum Beispiel an, dass der Ursprung von unten nach links ist, und dies ist in der gesamten API allgegenwärtig: Texturkoordinaten, Ansichtsfenster, Texelrechtecke, die Standard-Orthoprojektion: ganz links unten.
Hier gibt es einen Unterschied im Denken.
Auf Computerbildschirmen wird wie bei Büchern von links nach rechts und von oben nach unten gelesen, wenn Menschen lesen (und ich nehme hier eine Sprache wie Englisch an). Sie haben es selbst gemacht, als Sie diese Frage geschrieben haben, und Sie tun es, wenn Sie Antworten darauf lesen.
In Mathematik und Design haben Sie beim Zeichnen eines Diagramms eine X- und eine Y-Achse mit einem positiven X nach links und einem positiven Y nach oben.
Wenn Sie in einem Spiel so etwas wie eine 2D-Benutzeroberfläche erstellen, kann es für viele Menschen einfacher und intuitiver sein, die Oberfläche so zu gestalten, dass der Ursprung oben links liegt.
Wenn Sie etwas erstellen, um ein Design oder Layout auf Millimeterpapier zu imitieren, kann es für viele Menschen einfacher und intuitiver sein, es so zu gestalten, wie es der Ursprung ist (unten links).
Tatsächlich handelt es sich bei beiden um recht informelle Konventionen, und wenn Sie eine Orthoprojektion einrichten, können Sie tatsächlich festlegen, dass Ihr Ursprung an einem beliebigen Punkt auf dem Bildschirm (oder außerhalb des Bildschirms) liegt, wobei das positive X entweder nach links oder rechts und positiv verläuft Du gehst entweder rauf oder runter. Es ist nur eine Frage der Anpassung Ihrer Projektionsmatrix.
Das einzig Wichtige ist daher, auszuwählen, welche Konvention Sie verwenden möchten, und sie konsequent anzuwenden.
quelle
Weil Bildschirme das Bild von der oberen linken Ecke rendern. Es wäre einfacher, das Rendern oder Zeichnen der Koordinatenachse in Beziehung zu setzen, wenn (0,0,0) sich in der oberen linken Ecke befindet und die + Y-Achse auf dem Bildschirm angezeigt wird.
quelle
Ein Argument FÜR: (Mit Beispiel)
Code stimmt mit den Ergebnissen auf dem Bildschirm überein :
Der rote Pfeil wäre verkehrt herum, wenn Sie NICHT den Ursprung oben links verwenden würden.
Ich kann nicht sagen, ob dies das "Warum" ist. Nur das, es ist ein guter Grund für die Herkunft von oben links.
quelle