2016-06-27 43 views
1

x = 0, y = 0 befinden sich in der oberen linken Ecke des Bildschirms. Es ist werid, denn wenn ich Grafiken zeichne, verwende ich positive Zahlen und nicht negativ, um etwas zu zeichnen, aber nach der Tatsache, dass x = 0, und y = 0 sind oben links und nicht unten links, macht es keinen Sinn. PS: Es ist unten links in OpenGL und es ist logisch.Warum befinden sich die x- und y-Koordinaten in der oberen linken Ecke statt unten links?

+1

Ich würde argumentieren, dass es ziemlich vernünftig ist, wenn Sie mit Koordinaten in Grafiken arbeiten, sagen Sie x Pixel von hier und y Pixel von hier. Dies gilt insbesondere, wenn Sie es von einem CSS-Standpunkt betrachten, wo Dinge immer von oben/links und nicht von der Mitte des Bildschirms definiert werden. – durbnpoisn

+0

Durbnpoisn, fair genug. Ich habe nicht viel Erfahrung mit Grafiken, also könnte es sinnvoll sein, aber dennoch, OpenGL-System macht mehr Sinn für mich in diesem Moment. – Caleb

+1

Versteh mich nicht falsch, @Caleb. Es ist eine gute Frage. Ich vergleiche es damit, warum einige Sprachen 0 als ersten Index in einem Array verwenden, wo andere 1 verwenden. Beide sind aus verschiedenen Gründen sinnvoll. Sie müssen nur mit der Konvention für welche Plattform gehen. – durbnpoisn

Antwort

1

Dies liegt daran, dass durch JAVA AWT-Konvention die x- und y-Achsen anders als in der regulären Algebra definiert sind. Die Y-Achse geht von oben nach links, mit steigenden Zahlen nach UNTEN, im Gegensatz zur normalen Koordinatenebene, wo sich die steigenden y-Werte nach OBEN bewegen würden.

diesen Link Getreu Siehe: http://docs.oracle.com/javase/tutorial/2d/overview/coordinate.html

1

Für Bilder, wie für Matrizen, ist die allgegenwärtige Konvention top-down.

In der üblichen Zeichnung werden Ordinaten positiv nach oben gezählt, da der Boden als Nullreferenz dient.

Aber beim Umgang mit Raster-Scans ist es viel natürlicher, beim Scannen aus der obersten Reihe zu denken, wie beim Schreiben.