Я хотел бы предложить альтернативу хорошо продуманному ответу Дэвида Постилла. В своем ответе он подошел к вопросу о квадратах пикселей, как и предполагалось в названии. Тем не менее, он сделал очень проницательный комментарий в своем ответе:
Некоторые утверждают, что они никогда не бывают квадратными («Пиксель - это точечный образец. Он существует только в определенный момент. ")
Эта позиция может на самом деле породить совершенно другой ответ. Вместо того, чтобы фокусироваться на том, почему каждый пиксель является квадратом (или нет), он может сосредоточиться на том, почему мы склонны организовывать эти точечные выборки в прямоугольные сетки. На самом деле так было не всегда!
Чтобы привести этот аргумент, мы будем играть взад-вперед между обработкой изображения как абстрактных данных (таких как сетка точек) и его реализацией в аппаратном обеспечении. Иногда одна точка зрения более значима, чем другая.
Для начала давайте пойдем довольно далеко назад. Традиционная пленочная фотография вообще не имела "сетки", и это одна из причин, почему фотографии всегда выглядели такими четкими по сравнению с современными цифровыми. Вместо этого он имел "зерно", которое представляло собой случайное распределение кристаллов на пленке. Это было примерно равномерно, но это не было хорошим прямолинейным массивом. Организация этих зерен возникла в процессе производства пленки, используя химические свойства. В результате у фильма действительно не было "направления". Это было просто 2-е распространение информации.
Перейдем к телевизору, в частности к старым сканирующим электронно-лучевым трубкам. ЭЛТ нуждались в чем-то отличном от фотографий: они должны были иметь возможность представлять свой контент в виде данных. В частности, это должны быть данные, которые могут передаваться аналоговым образом по проводам (обычно в виде непрерывно меняющегося набора напряжений). Фотография была двухмерной, но нам нужно было превратить ее в одномерную структуру, чтобы она могла варьироваться в одном измерении (времени). Решением было нарезать изображение по линиям (а не по пикселям!). Изображение было закодировано построчно. Каждая строка представляла собой аналоговый поток данных, а не цифровую выборку, но линии были отделены друг от друга. Таким образом, данные были дискретными в вертикальном направлении, но непрерывными в горизонтальном направлении.
Телевизоры должны были визуализировать эти данные с использованием физических люминофоров, а цветному телевизору требовалась сетка для разделения их на пиксели. Каждый телевизор может делать это по-разному в горизонтальном направлении, предлагая больше пикселей или меньше пикселей, но они должны иметь одинаковое количество строк. Теоретически, они могли бы сместить любой второй ряд пикселей в точности так, как вы предлагаете. Однако на практике это было не нужно. На самом деле они пошли еще дальше. Было быстро понято, что человеческий глаз обрабатывал движение таким образом, что он фактически посылал только половину изображения в каждом кадре! В одном кадре они отправляли нечетные строки, а в следующем кадре отправляли четные строки и соединяли их вместе.
С тех пор оцифровка этих чересстрочных изображений стала хитростью. Если бы у меня было 480-строчное изображение, то из-за чересстрочной развертки у меня фактически была только половина данных в каждом кадре. Результат этого является очень заметен , когда вы пытаетесь увидеть что - то двигаться быстро по экрану: каждая строка временно сдвигается на 1 кадр из других, создавая горизонтальные полосы в быстро двигающихся вещах. Я упоминаю об этом, потому что это довольно забавно: ваше предложение смещает каждую вторую строку в сетке на полпикселя вправо, а чересстрочное смещение сдвигает каждую вторую строку в сетке вдвое!
Честно говоря, эти штуки лучше сделать из прямоугольных сеток. Без каких-либо технических причин, чтобы сделать что-то лучше, он застрял. Тогда мы достигли компьютерной эры. Компьютеры должны были генерировать эти видеосигналы, но у них не было аналоговых возможностей для записи аналоговой линии. Решение было естественным, данные были разбиты на пиксели. Теперь данные были дискретными как по вертикали, так и по горизонтали. Осталось только выбрать способ изготовления сетки.
Изготовление прямоугольной сетки было чрезвычайно естественным. Во-первых, каждый телевизор там уже делал это! Во-вторых, математика для рисования линий на прямоугольной сетке намного проще, чем на шестиугольной. Вы можете сказать: «но вы можете нарисовать плавные линии в 3 направлениях на шестиугольной сетке, но только 2 в прямоугольной». Тем не менее, прямоугольные сетки позволяют легко рисовать горизонтальные и вертикальные линии. Шестиугольные сетки могут быть сделаны только для рисования одного или другого. В ту эпоху не многие люди использовали гексагональные формы для любых своих не вычислительных усилий (прямоугольная бумага, прямоугольные двери, прямоугольные дома ...). Способность делать гладкие горизонтальные и вертикальные линии намного превосходила ценность создания гладких полноцветных изображений ... особенно с учетом того, что первые дисплеи были монохромными, и прошло бы много времени, прежде чем плавность изображений сыграла важную роль в мышлении.
Оттуда у вас есть очень сильный прецедент для прямоугольной сетки. Графическое оборудование поддерживало то, что делало программное обеспечение (прямоугольные сетки), а программное обеспечение предназначалось для оборудования (прямоугольные сетки). Теоретически, некоторые аппаратные средства могли пытаться создать гексагональную сетку, но программное обеспечение просто не вознаграждает их, и никто не хотел платить за вдвое больше оборудования!
Это быстро отправляет нас на сегодня. Нам все еще нужны красивые плавные горизонтальные и вертикальные линии, но с высококачественными дисплеями сетчатки это становится все проще и проще. Тем не менее, разработчики все еще обучены думать в терминах старой прямоугольной сетки. Мы видим, что некоторые новые API поддерживают "логические координаты" и выполняют сглаживание, чтобы создать впечатление, что есть полностью непрерывное 2-мерное пространство для игры, а не сетка из жестких 2-мерных пикселей, но она медленная. В конце концов, мы можем увидеть гексагональные сетки.
Мы на самом деле видим их, но не с экранами. В печати очень распространено использование шестиугольной сетки. Человеческий глаз воспринимает шестиугольную сетку гораздо быстрее, чем прямоугольную. Это связано с тем, как линии "псевдоним" в разных системах. Псевдоним шестиугольных сеток менее жестким способом, с которым глазу удобнее (если шестнадцатеричная сетка должна идти на один ряд вверх или вниз, они делают это плавно по диагональному переходу. Прямоугольные сетки нужно пропускать, создавая очень четкие разрывы)