Ответы типа «это всегда было так» на самом деле не отвечают на вопрос «почему», поэтому я не понимаю, почему ответы с наибольшим количеством голосов касаются повторения статус-кво с дополнительной информацией.
Эрик упоминает, что «[назад] в дни сборки, пиксель один всегда был в верхнем левом углу», но он не упоминает почему . Он продолжает объяснять, что если мы начнем с левого нижнего угла и захотим добавить новую строку в текст, то нам придется сделать это, переписав все на экране снизу вверх (если вы начали в левом нижнем углу в прошлый раз, тогда вы не оставили места для этой новой строки; материал должен быть сдвинут вверх, чтобы добавить новые строки). Пользователь Unreputable отметил, что это имеет смысл только с некоторыми языками (но я не знаю языков, которые начинаются снизу вверх, что в любом случае имеет значение), и что это не имеет особого смысла, когда речь идет об изображениях или графика; и я согласен, он прав насчет последнего.
Убието дает, пожалуй, самый полезный ответ: возможно, это связано с тем, как электронная пушка ЭЛТ-мониторов рисует изображение сверху вниз, слева направо.
Однако во всех этих ответах, возможно, пропущен один важный момент: причина, по которой люди задают такой вопрос о том, что верхний левый угол является источником осей, связана не только с точкой, находящейся в верхнем левом углу, но и потому, что, в отличие Декартова система координат, которую мы все используем, начиная с начальной школы, где ось Y увеличивается вверх, эта компьютерная графика и система координат Java увеличивают ось Y вниз! Это один из самых неприятных и запутанных аспектов этой системы. Если бы система имела начало координат в верхнем левом углу экрана, но уменьшала ось Y (и имела отрицательные числа) вниз, то электронная пушка монитора ЭЛТ действительно объяснила бы всю тайну, по крайней мере, для меня. В конце концов, мы бы тогда поняли, почему точка (0,0) находится слева вверху, а все остальное работает так, как мы ожидаем от нашего математического образования.
Однако это не относится к системе координат Java и компьютерной графики 2D; как ни удивительно, ось Y этой системы увеличивается вниз. Зачем? Я думаю, что это самая большая загадка после того, как мы рассмотрим CRT или происхождение экранных технологий. И, пытаясь ответить на этот вопрос «почему», я могу подумать только об одной возможности: ученые-компьютерщики хотели, чтобы система координат 2D-графики была проще, чтобы избежать путаницы, когда координата оси x всегда положительна с отрицательной осью y. Если мы предположим, что верхний левый источник был необходим из-за технологии экрана того времени с его электронной пушкой (избегайте разрывов экрана с этой технологией), то мы понимаем, что у компьютерных ученых была возможность:
Обработка экрана как его 4-го квадранта, как и для декартовой системы координат, где каждый пиксель в этом квадранте (на экране) имеет положительную координату оси x и отрицательную координату оси y, как (5, -5); или
Они могут перевернуть ось Y поперек оси X (вертикально вниз), перенеся 1-й квадрант вниз, и каждый пиксель на экране будет иметь как положительные координаты оси X, так и положительные координаты оси Y. вроде (5,5). Возможно, ученые-компьютерщики просто сочли это удобством и способом выполнения действий, сводящим к минимуму путаницу; два положительных числа, возможно, гораздо менее запутаны и их легче вычислить и визуализировать, чем положительное и отрицательное число.
В итоге, у этого вопроса есть два аспекта: загадка местоположения (0,0) в верхнем левом углу вместо нижнего левого и загадка оси y, увеличивающаяся вниз. Первая загадка, вероятно, лучше всего объясняется технологией ранних мониторов, которая работала сверху вниз, слева направо. И вторую загадку, вероятно, лучше всего объяснить стремлением к простоте и ясности, приняв систему координат с двумя положительными числами для координат x и y, а не потенциально запутанную систему, которая будет постоянно полагаться на положительную координату оси x в паре с отрицательная координата оси Y.