Пиксели в изображении отличаются друг от друга формой

Обновлено: 02.07.2024

Художник Матеуш Retro Ян, рисующий в стиле пиксель-арт, написал для издания Retronator Magazine статью, в которой попытался ответить на вопрос, в чём разница между пикселями и вокселями, но при этом рассказал намного больше.

Ян объяснил, чем игры девяностых отличаются от современных 2D и 3D-игр в пиксельной стилистике, а также изучил разные варианты такого подхода к созданию графики.

Редакция DTF публикует перевод материала.

Предупреждение: в тексте много картинок и GIF-анимаций, поэтому он может долго прогружаться. Особенно с мобильных устройств.

Ранее в этом году мне задали такой вопрос: в чём разница между пикселями и вокселями?

Иногда бывает сложно удержаться, поэтому вместо прямого ответа я написал по этому поводу целую статью.

Вопрос вполне логичен. Общество вываливает на вас что-то вроде постера к фильму «Пиксели», и вы не понимаете, что происходит. Это вот пиксели? Или это воксели? Это птица? Самолёт? Никто вам ничего не объясняет.

Я до сих пор не могу решить, должен ли я из своей любви к старым играм посмотреть этот фильм, или наоборот НЕ смотреть его.

Но не бойтесь, пока я с вами, всё будет хорошо. К моменту, как вы прочитаете этот материал, вы будете знать всё про пиксели, воксели и всё, что находится между ними. Расслабьтесь, заварите чаю.

Начнём с основ, иначе вы не сможете понять общей картины. Есть два основных способа представления компьютерной графики: векторный и растровый.

Математическая точность векторной графики (слева) против дискретной природы растровой (справа).

Векторная графика описывает изображение с помощью математических формул, обычно с помощью таких вещей как прямые, кривые и различные геометрические формы.

Растровая графика представляет изображение как массив цветных точек, расположенных друг за другом по сетке.

Второе различие — способ представления компьютерной графики в двумерном и трёхмерном пространстве. Если разделить их, а заодно векторную и растровую графику, то мы получим такую таблицу:

В двумерной векторной графике каждая точка на линии или фигуре описывается вектором с двумя составляющими (x и y). В общем, именно поэтому двумерная графика так и называется.

Именно так двухмерная векторная графика строит изображение с помощью двухмерных векторов.

А вот пример низкополигонального двухмерного векторного изображения.

Оно построено исключительно из двумерных полигонов (в данном случае — треугольников). Изображение называется низкополигональным из-за сравнительно небольшого числа составных элементов. Именно поэтому треугольники легко заметны.

Добавим ещё одно измерение. В трёхмерной векторной графике всё работает так же, но добавляется ещё одна компонента — z. Три компоненты — три измерения.

Концепт игры Racetrack для iOS, Автор: Тимоти Рейнольдс

Разница между двумерным изображением Улуру и трёхмерной моделью гоночного трека в том, что на трек мы можем посмотреть под любым углом.

Чтобы отобразить трек на вашем экране (то есть на двумерной поверхности), мы выбрали несколько углов и отобразили трёхмерную геометрию на плоском изображении.

Так и получается двумерное изображение.

Но есть одна хитрость, позволяющая показать трёхмерную геометрию в 2D. Просто измените угол угол обзора или повращайте объект.

Да, действительно, перед нами трёхмерный объект. И даже очки не нужны!

Так, немного разогрелись. Теперь разберёмся с тем, как растровая графика работает в 3D и 2D.

Растровое двумерное изображение представляется массивом с определённым количеством столбцов и строк.

Каждая клетка в таком массиве называется пикселем (от слов picture element — pixel). Помимо его координат в массиве пиксель определяется цветом.

Мы уже узнали, что низкополигональное векторное изображение состоит из заметных полигонов. Если мы сделаем то же самое с растровой графикой и заметными пикселями, то получим пиксель-арт.

На двумерной пиксельной сетке можно изобразить трёхмерные объекты вроде автомобиля Lotus Esprit или X-Wing из «Звездных войн», но для изображения они не трёхмерны. Их нельзя покрутить и рассмотреть с разных сторон, как гоночный трек или машинку. Точно так же мы не можем вертеть рисунок Улуру — изображение состоит из полигонов, но они располагаются не в трёхмерном пространстве, а в двумерном.

Итак, мы поговорили о двумерной и трехмерной векторной графике и 2D-растровой графике. Не хватает только 3D-растровой графики.

В трёхмерной растровой графике всё пространство разделено на колонки и строчки по всем трём направлениям (высота, ширина и глубина). В результате трёхмерное пространство становится набором разноцветных кубов-вокселей (volume element — voxel, элемент объёма). Каждый воксель определяется цветом и расположением.

Мы уже знаем, как выглядит пиксель-арт. Воксель-арт выглядит похожим образом.

Похоже на LEGO, не правда ли?

Так как теперь мы смотрим на трёхмерное изображение, сцену можно рассмотреть с разных сторон. Вот так выглядит воксельный Татуин под другим углом:

Можно даже делать анимации. Вот это, например, анимированный воксельный персонаж от Sir Carma:

Сравните его с двумерным пиксельным персонажем:

То есть в воксельном изображении анимация изменяет цвет (или расположение) определённых маленьких кубов, а в пиксельном — меняется цвет квадратов-пикселей.

Теперь вам известна разница между пикселями и вокселями (и много чего ещё… прошу прощения).

Но давайте пойдём ещё дальше. Не время останавливаться. Я рассказал это всё потому, что на современных мониторах любая графика в конечном итоге отображается на двумерной растровой сетке.

Для нас это интересно потому, что люди, увлекающиеся пиксель-артом, создают его с помощью всех возможных видов графики.

«Я что, могу превращать воксели и трёхмерные модели в пиксель-арт?» — спросите вы. Именно так. С помощью особых техник рендеринга и шейдинга можно создавать совершенно уникальный пиксель-арт.

Схема наверху отображает не совсем полную картину. Двумерное векторное изображение можно отображать и сразу, без преобразований. Но всё не так просто.

Двумерное векторное изображение может отображаться напрямую только на векторном мониторе. Они, например, использовались на некоторых аркадных автоматах Atari.

Вот как оно бы выглядело на осциллографе.

Похожим образом иногда отображается трёхмерное векторное изображение.

Как я уже говорил, сначала трёхмерное изображение нужно отобразить на плоскости. Так получается двумерное векторное изображение, которое можно вывести на векторный монитор.

Настоятельно рекомендую глянуть трейлер аркадной игры VEC9:

В наши дни вы вряд ли найдёте векторный монитор где-нибудь за пределами музея. Люди используют мониторы, на которых отрисовываются… пиксели!

Современные ЖК-дисплеи окрашивают каждый отдельный пиксель в определённый цвет, включая или выключая маленькие красные, зелёные и синие жидкие кристаллы на каждую клетку. Если что, в старых ЭЛТ-мониторах работал похожий механизм: на каждый пиксель три разноцветных трубки зажигались под воздействием луча электронов.

Итак, что же мы делаем, если нам надо отобразить векторное изображение на растровом мониторе? Для этого используется техника растрирования. Каждый полигон (чаще всего треугольник) отображается на массив пикселей.

Трёхмерная графика прорисовывается на плоском мониторе так: сначала трёхмерные треугольники отображаются на плоскость и становятся двумерными полигонами, а затем полигоны растрируются и становятся набором пикселей.

Но что насчёт вокселей? Сегодня они чаще всего представляются как трёхмерные векторные кубы. Мы создаём трёхмерную модель с треугольниками по каждой стороне воксельного куба.

Так же, как и в прошлый раз, трёхмерные треугольники затем отображаются на плоское пространство, после чего растрируются в двумерное изображение.

Сегодня практически весь воксельный арт создаётся таким образом, чаще всего с помощью бесплатной программы MagicaVoxel.

Есть ещё один подход. Каждый воксель можно представить как точку в трёхмерном пространстве, то есть как кусочек объёма. Можно отрисовать воксель на плоском пространстве, если расположить пиксель в том же месте. Или наоборот: взять пиксель с экрана и отыскать в пространстве воксель, находящийся на том же месте.

Обратный подход называется ray casting («бросание лучей»). Луч направляется прямо в трёхмерное пространство, и летит, пока не наткнётся на воксель. На практике в пространство «бросается» столько лучей, сколько надо, чтобы покрыть все необходимые точки.

Впервые эта техника была использована в игре Wolfenstein 3D. В ней комнаты целиком состояли из вокселей. Рендеринг работал довольно быстро, потому что один луч отображал целую колонку пикселей на экране. Результат, по сути, получался двумерным, поэтому такую 3D-графику иногда называют 2.5D (потому что третье измерение вроде как не настоящее).

Сейчас Wolfenstein обычно не называют воксельной игрой, но именно она дала толчок к развитию воксельных движков девяностых.

Поначалу воксели использовались только для создания локаций. Из-за нехватки ресурсов разработчики не могли хранить информацию о каждой клетке пространства, но могли записывать высоту расположения вокселей на плоской карте (также известной как карта высот).

Карта высот (слева) показывает насколько высоко поднимаются колонки вокселей (чёрный – низкие колонки, белый - высокие).

Так как вся информация о вокселях могла содержаться только в картах высот, то игры не могли создавать нависающие над игроком скалы. Но, господи, насколько же детализированными получались локации!

Ray casting был не единственной технологией воксельного рендеринга в девяностых. Существовали и другие. Каждая с собственными сильными сторонами: разрушаемое окружение, поддержка обработки моделей машин и персонажей и так далее. Это было что-то невероятное! Но, что иронично, именно такое разнообразие в итоге и привело к закату технологии.

В 2000 году началась эпоха графических карт или графических процессоров. Специальные встроенные в компьютер устройства, которые сейчас называются GPU, отлично справлялись с обработкой 3D-полигонов. Они делали это очень быстро, но больше ничего не умели. К несчастью, различные алгоритмы рендеринга вокселей (включая ray casting) остались за бортом.

Воксельные движки переехали на центральный процессор, но и у него хватало собственных проблем. Процессор думал о таких важных вещах, как физика, геймплей и игровой ИИ. Графические карты создавались для того, чтобы «переселить» рендеринг на отдельную микросхему. В результате рендеринг значительно ускорился, а у процессора освободились ресурсы на выполнение других задач. Воксельные движки не смогли угнаться за полигональной графикой. Так они и умерли.

С тех пор прошло 10 лет, и вдруг воксели вернулись. Помощь пришла с неожиданной стороны. Появилась игра, которая нашла к вокселям совершенно новый подход. Воксель – это куб, верно? И теперь эти кубы уже могли спокойно обрабатываться видеокартой. А дальше вы и сами всё знаете.

Давайте вспомним всё, о чём я рассказал, и попытаемся ответить на вопрос, с которого всё началось. Что же такое пиксели и что такое воксели?

Пиксель — мельчайший элемент двумерного пространства, разделённого дискретно на множество равных частей.

Каждый пиксель определяется вектором с двумя целыми числами X и Y. Именно поэтому пиксельное пространство дискретно, в то время как в векторной графике координаты определяются вещественными числами.

Соответственно, воксель — мельчайший элемент трёхмерного дискретного пространства, где все элементы имеют одинаковый размер.

Ну что, на этом всё? А вот и нет!

Как видите, определение довольно общее, а потому пиксели и воксели могут быть очень разными. Давайте попробуем соединить все четыре элемента таблицы вместе: растровое/векторное, а также 2D/3D.

В прежние времена для отображения 2D-спрайта на экране приходилось напрямую копировать биты из памяти, в которой хранились цвета спрайта, в память, хранящую данные об отображенных на экране цветах. Эта технология называется bit blit или bit BLT - bit block transfer (перенос блоков битов). Сейчас почти никто не рендерит двухмерную графику именно так.

Виртуальная консоль PICO-8 — один из немногих современных движков, работающих на блиттинге, но в прошлом двумерная графика не могла отображаться иначе.

PICO-8, Lexallofle Games (а также авторы показанных игр)

Сейчас большинство графических движков работает с векторами, потому что видеокарты заточены именно под них. В таких условиях, чтобы отобразить изображение на плоском экране, его нужно нанести на полигон с помощью карты текстур.

Текстуры — двумерные растровые изображения, размещённые на трёхмерном полигоне.

Если не вдаваться в подробности, то именно так и работает трёхмерная графика.

Вот, например, как выглядит высокополигональная 3D-модель без текстуры и с текстурой высокого разрешения:

Благодаря шейдингу и картам текстур нам даже не нужно слишком много полигонов, чтобы получить приятно выглядящего персонажа.

Вот низкополигональная трёхмерная модель с качественной текстурой:

А если взять текстуру с низким разрешением, то получится приятная на вид низкополигональная модель с текстурами в стиле пиксель-арт:

Снова можно вспомнить Minecraft. Её блоки — воксели по определению (мельчайшие дискретные элементы игры), и по сторонам они покрыты пиксельными текстурами. Однако, обратите внимание, что не все блоки в игре — простые кубы.

Mirror’s Edge (слева-сверху), Max Payne (слева-снизу) и Minecraft (справа-снизу)

А теперь разберёмся с 2D. Если натянуть текстуру на плоский прямоугольник, мы получим современную 2D-графику. На современном железе каждое 2D-изображение (чаще всего в данном контексте мы называем его спрайтом) отображается на прямоугольнике, состоящем из двух треугольников. Два треугольника (их пара называется квадом) рендерятся с натянутым на них спрайтом. И так изображение оказывается на своём месте.

С изображениями высокого разрешения всё понятно.

Но вот с текстурами в стиле пиксель-арта всё становится немного сложнее. Всё зависит от разрешения экрана, на котором отображаются спрайты.

Braid (слева-сверху), Path to the Sky (справа-сверху), Kingdom (снизу-справа)

Мы уже знаем, что пиксельные текстуры без проблем наносятся на трёхмерные низкополигональные модели даже на экранах с большим разрешением. Снова подумайте о Minecraft. Ведь низкополигональные кубы всё равно рендерятся на дисплеях с разрешением 1920×1080.

То же самое можно сделать и с полигонами на плоскости. Возможно взять пиксель-арт, нацепить его на 2D-квад и отреднерить результат на мониторе с высоким разрешением. Тогда каждый пиксель на исходном изображении окрасит несколько пикселей на дисплее в определённый цвет.

Это называется пиксель-артом с большими пикселями. Каждый пиксель на спрайте увеличивается в размерах и становится большим квадратом на изображении.

Каждый пиксель на спрайте занимает квадрат в 3 на 3 пикселя на экране.

Если спрайт вдруг наклоняется или поворачивается, то сразу становится заметно, что квадраты на экране состоят из нескольких пикселей:

Посмотрите на листву на этом изображении и сравните с вращающимся спрайтом при низком разрешении:

Обратите внимание, что пиксели на колесе остаются на одной линии и горизонтально, и вертикально, а на гифке из Path to the Sky большие пиксели на листве, птице и мосту заметно искажаются при движении.

Чтобы достичь этого, Kingdom полностью рендерится при низком разрешении и растягивает пиксели только на итоговом изображении. В то же время Path to the Sky, Hotline Miami и Moonman рендерят спрайты на монитор напрямую.

Kingdom — двумерная игра, но такой же подход можно применить и в трёх измерениях.

Если нацепить пиксель-арт текстуры на трёхмерные модели и отрендерить их при низком разрешении, получится что-то такое:

Техническое демо Pixel Art Academy, Matej ‘Retro’ Jan

С тенями всё нормально. Хотя на первый взгляд кажется, что перед вами пиксель-арт, на самом деле это полноценная 3D-сцена в низком разрешении с пиксельными текстурами.

Техническое демо Pixel Art Academy (под другим углом)

Анимации, основанные на векторах (со скелетным ригом), могут использовать пиксельный стиль себе на пользу:

И если запустить рендер на низком разрешении, то анимация ещё сильнее начнёт напоминать пиксель-арт, почти как в случае с Kingdom.

Может быть, эта анимация и не кажется слишком качественной, но у неё есть свой стиль. Почти как в старых добрых играх девяностых.

А теперь снова поговорим о высоком разрешении. Существует игра, которая по полной использует свою трёхмерную природу, сохраняя двухмерный стиль. Это The Last Night от студии Odd Tales.

Их модели нарисованы в 2D, но наложены на трёхмерный мир со всеми современными графическими эффектами: динамическим освещением, bloom, depth of field, кинематографичными ракурсами камеры, отражениями и так далее.

Таким образом, разработчики создали трёхмерный мир, на который можно посмотреть с разных углов.

А вот ещё один пример качественного динамического 3D-освещения. Невероятно атмосферная игра с печальной судьбой — Confederate Express:

Все модели отрисованы в 2D, но каждый объект хранит данные по шейдингу для света, идущего с любого угла. Свет обрабатывается модулем Sprite Lamp, и благодаря ему кажется, что лучи попадают на трёхмерные объекты.

Проблема в том, что с таким подходом мы получаем только шейдинг для спрайтов, но тени всё равно не отобразятся корректно без трёхмерной геометрии объекта. А что может дать нам трёхмерную геометрию? Правильно. Воксели!

Отличным примером такого подхода является недавно анонсированная игра Pathway:

Кажется, словно графика состоит исключительно из плоских спрайтов, но на самом деле модельки в игре полностью объёмные. Разработчики девяностых пытались сделать свою графику максимально реалистичной и современной. Но разработчики из студии Robotality не собираются заходить так далеко, им достаточно, чтобы воксель на экране соответствовал размеру пикселя на мониторе. В результате графика выглядит как очень приятный для глаза пиксель-арт, но у движка есть вся необходимая ему 3D-информация.

В подходе к отображению вокселей в стиле пиксель-арта нет ничего инновационного. Впервые такая технология была использована в игре FEZ. Авторы называли кубики, из которых состояла игра, трикселями (3D-пикселями). Триксель — это куб со сторонами в 16 вокселей.

В каждый отдельный момент времени игрок видит FEZ только с одного угла, и поэтому ему кажется, что он видит мир в 2D. Именно поэтому FEZ выглядит как пиксель-арт, но мир всё равно может вращаться.

Пиксели на экранах квадратные, но я не уверен почему.

Оба пиксельных изображения выглядят довольно плохо, но я не уверен, что здесь есть какое-либо преимущество квадратов перед шестиугольниками.

Шестиугольники также делятся на 3 цвета:


Так в чем же преимущество квадратов в ЖК / ЭЛТ-дисплее?

Пиксели на экранах квадратные, но я не уверен почему.

Они не (обязательно) квадратные.

Некоторые утверждают, что они никогда не бывают квадратными («Пиксель - это точечный образец. Он существует только в определенный момент. ")

Так в чем же преимущество квадратов в ЖК / ЭЛТ-дисплее?

Другие устройства (такие как треугольники, шестиугольники или другие многоугольники заполнения пространства) являются более дорогостоящими в вычислительном отношении.

Каждый формат изображения основан на пикселях (независимо от их формы), расположенных в виде прямоугольного массива.

Если бы мы выбрали какую-то другую форму или макет, многие программы пришлось бы переписать.

Все заводы, которые в настоящее время производят дисплеи с прямоугольной компоновкой пикселей, должны быть переоборудованы для какой-то другой компоновки.

Практические аспекты использования гексагональной системы координат

Проблемы с гексагональной системой координат

Были ли опробованы другие формы или макеты?

Простое определение пикселя

Любая из очень маленьких точек, которые вместе образуют картинку на экране телевизора, мониторе компьютера и т.д.

пиксель

Пиксельное соотношение сторон

Пиксель - это не маленький квадрат!

Источник Пиксель - это не маленький квадрат! (Техническое примечание Microsoft 6, Элви Рэй Смит, 17 июля 1995 г.)

Я хотел бы предложить альтернативу хорошо продуманному ответу Дэвида Постилла. В своем ответе он подошел к вопросу о квадратах пикселей, как и предполагалось в названии. Тем не менее, он сделал очень проницательный комментарий в своем ответе:

Эта позиция может на самом деле породить совершенно другой ответ. Вместо того, чтобы фокусироваться на том, почему каждый пиксель является квадратом (или нет), он может сосредоточиться на том, почему мы склонны организовывать эти точечные выборки в прямоугольные сетки. На самом деле так было не всегда!

Чтобы привести этот аргумент, мы будем играть взад-вперед между обработкой изображения как абстрактных данных (таких как сетка точек) и его реализацией в аппаратном обеспечении. Иногда одна точка зрения более значима, чем другая.

Для начала давайте пойдем довольно далеко назад. Традиционная пленочная фотография вообще не имела "сетки", и это одна из причин, почему фотографии всегда выглядели такими четкими по сравнению с современными цифровыми. Вместо этого он имел "зерно", которое представляло собой случайное распределение кристаллов на пленке. Это было примерно равномерно, но это не было хорошим прямолинейным массивом. Организация этих зерен возникла в процессе производства пленки, используя химические свойства. В результате у фильма действительно не было "направления". Это было просто 2-е распространение информации.

Перейдем к телевизору, в частности к старым сканирующим электронно-лучевым трубкам. ЭЛТ нуждались в чем-то отличном от фотографий: они должны были иметь возможность представлять свой контент в виде данных. В частности, это должны быть данные, которые могут передаваться аналоговым образом по проводам (обычно в виде непрерывно меняющегося набора напряжений). Фотография была двухмерной, но нам нужно было превратить ее в одномерную структуру, чтобы она могла варьироваться в одном измерении (времени). Решением было нарезать изображение по линиям (а не по пикселям!). Изображение было закодировано построчно. Каждая строка представляла собой аналоговый поток данных, а не цифровую выборку, но линии были отделены друг от друга. Таким образом, данные были дискретными в вертикальном направлении, но непрерывными в горизонтальном направлении.

Телевизоры должны были визуализировать эти данные с использованием физических люминофоров, а цветному телевизору требовалась сетка для разделения их на пиксели. Каждый телевизор может делать это по-разному в горизонтальном направлении, предлагая больше пикселей или меньше пикселей, но они должны иметь одинаковое количество строк. Теоретически, они могли бы сместить любой второй ряд пикселей в точности так, как вы предлагаете. Однако на практике это было не нужно. На самом деле они пошли еще дальше. Было быстро понято, что человеческий глаз обрабатывал движение таким образом, что он фактически посылал только половину изображения в каждом кадре! В одном кадре они отправляли нечетные строки, а в следующем кадре отправляли четные строки и соединяли их вместе.

С тех пор оцифровка этих чересстрочных изображений стала хитростью. Если бы у меня было 480-строчное изображение, то из-за чересстрочной развертки у меня фактически была только половина данных в каждом кадре. Результат этого является очень заметен , когда вы пытаетесь увидеть что - то двигаться быстро по экрану: каждая строка временно сдвигается на 1 кадр из других, создавая горизонтальные полосы в быстро двигающихся вещах. Я упоминаю об этом, потому что это довольно забавно: ваше предложение смещает каждую вторую строку в сетке на полпикселя вправо, а чересстрочное смещение сдвигает каждую вторую строку в сетке вдвое!

Честно говоря, эти штуки лучше сделать из прямоугольных сеток. Без каких-либо технических причин, чтобы сделать что-то лучше, он застрял. Тогда мы достигли компьютерной эры. Компьютеры должны были генерировать эти видеосигналы, но у них не было аналоговых возможностей для записи аналоговой линии. Решение было естественным, данные были разбиты на пиксели. Теперь данные были дискретными как по вертикали, так и по горизонтали. Осталось только выбрать способ изготовления сетки.

Изготовление прямоугольной сетки было чрезвычайно естественным. Во-первых, каждый телевизор там уже делал это! Во-вторых, математика для рисования линий на прямоугольной сетке намного проще, чем на шестиугольной. Вы можете сказать: «но вы можете нарисовать плавные линии в 3 направлениях на шестиугольной сетке, но только 2 в прямоугольной». Тем не менее, прямоугольные сетки позволяют легко рисовать горизонтальные и вертикальные линии. Шестиугольные сетки могут быть сделаны только для рисования одного или другого. В ту эпоху не многие люди использовали гексагональные формы для любых своих не вычислительных усилий (прямоугольная бумага, прямоугольные двери, прямоугольные дома . ). Способность делать гладкие горизонтальные и вертикальные линии намного превосходила ценность создания гладких полноцветных изображений . особенно с учетом того, что первые дисплеи были монохромными, и прошло бы много времени, прежде чем плавность изображений сыграла важную роль в мышлении.

Оттуда у вас есть очень сильный прецедент для прямоугольной сетки. Графическое оборудование поддерживало то, что делало программное обеспечение (прямоугольные сетки), а программное обеспечение предназначалось для оборудования (прямоугольные сетки). Теоретически, некоторые аппаратные средства могли пытаться создать гексагональную сетку, но программное обеспечение просто не вознаграждает их, и никто не хотел платить за вдвое больше оборудования!

Это быстро отправляет нас на сегодня. Нам все еще нужны красивые плавные горизонтальные и вертикальные линии, но с высококачественными дисплеями сетчатки это становится все проще и проще. Тем не менее, разработчики все еще обучены думать в терминах старой прямоугольной сетки. Мы видим, что некоторые новые API поддерживают "логические координаты" и выполняют сглаживание, чтобы создать впечатление, что есть полностью непрерывное 2-мерное пространство для игры, а не сетка из жестких 2-мерных пикселей, но она медленная. В конце концов, мы можем увидеть гексагональные сетки.

Мы на самом деле видим их, но не с экранами. В печати очень распространено использование шестиугольной сетки. Человеческий глаз воспринимает шестиугольную сетку гораздо быстрее, чем прямоугольную. Это связано с тем, как линии "псевдоним" в разных системах. Псевдоним шестиугольных сеток менее жестким способом, с которым глазу удобнее (если шестнадцатеричная сетка должна идти на один ряд вверх или вниз, они делают это плавно по диагональному переходу. Прямоугольные сетки нужно пропускать, создавая очень четкие разрывы)

Плотность пикселей PPI — что это такое и как влияет на изображение

Четкость изображения — первое, что требуется от экрана любого электронного устройства. Плотность пикселей или PPI как раз характеризует этот показатель. Что такое PPI, как этим параметром пользоваться и каким он должен быть для различных устройств — расскажем в этой статье.

Что такое PPI

Большинство владельцев электронных устройств знает, что экран состоит из множества квадратиков, способных менять цвет — пикселей. Пока мы не пытаемся изобразить на экране ничего сложнее «черного квадрата», проблем нет. Но как только появляются диагональные линии, на экране становятся заметны зубцы.


Очевидно, что чем меньше размер пикселей, тем менее они заметны. Однако с уменьшением размера пикселя неизбежно вырастет их количество (мы же не хотим, чтобы экран тоже уменьшался). О количестве пикселей говорит такой параметр, как разрешение экрана. Например, разрешение 2400х1080 означает, что на экране умещается 2400 пикселей по горизонтали и 1080 по вертикали. Много это или мало?

Чтобы ответить на этот вопрос, одного разрешения недостаточно, ведь неизвестна величина экрана. А вот если поделить количество пикселей по горизонтали на ширину экрана (или по вертикали – на высоту), то получится PPI — количество пикселей на дюйм длины (по-английски PPI так и расшифровывается — «Pixel Per Inch», в переводе на русский — «Пикселей На Дюйм»). Так, 200 PPI означает, что на дюйм экрана приходится 200 пикселей.


PPI, разрешение и размер экрана

Легко понять, что эти три параметра связаны между собой. Но связь не настолько однозначна, насколько может показаться с первого взгляда. Дело в том, что разрешение говорит о количестве пикселей по горизонтали и вертикали, а размер обычно указывается по диагонали. Поэтому для подсчета PPI по разрешению и диагонали экрана следует воспользоваться теоремой Пифагора:


Так, для смартфона Samsung Galaxy S21+ с 6.7-дюймовым экраном, имеющим разрешение 2400 на 1080, плотность пикселей будет составлять


Сколько PPI нужно на самом деле

Установлено, что большинство людей с остротой зрения 10/10 способны различить объекты размером 1 угловую минуту. Это проистекает из устройства нашего глаза, точнее, из количества колбочек, воспринимающих свет.


Чем ближе объект к глазу, тем более мелкие детали мы можем распознать. Но только до определенного предела. Наша «оптическая система» также имеет пределы по подстройке фокусного расстояния. На объекты, расположенные ближе 25 см, глаз фокусируется с трудом, и чем ближе — тем хуже. На расстоянии наилучшего зрения (250 мм) линейный размер одной угловой минуты составляет


Значение плотности пикселей, соответствующее этому размеру, равно 358 PPI. Таким образом, для большинства людей более высокая плотность пикселей смысла просто не имеет.

PPI и тип устройства

Теперь для сравнения возьмем другое устройство. Например, 65-дюймовый телевизор Sony KD65A8BR2.

При разрешении в 3840х2160 плотность пикселей составляет всего 67! Почему так мало? Потому что телевизор мы смотрим на расстоянии 2-5 метров, а не 25 сантиметров. А та же 1 угловая минута на 2 метрах соответствует 0,5 мм. Т.е. максимальный PPI на таком расстоянии составит всего 50.

Выходит, что для каждого типа устройств имеется свой «хороший» показатель PPI. Ведь смартфон мы держим чуть ли не вплотную к лицу, планшет — подальше, монитор компьютера — уже почти в метре от глаз, а дальше всего — телевизор. Так какой же должна быть плотность пикселей экрана для каждого устройства?


С учетом всего вышеизложенного, на сегодняшний день оптимальные значения PPI для различной техники следующие:

Автор: Сергей Бунин. Дата публикации: 15 апреля 2017 . Категория: Обработка фотографий в фотошопе.

Приветствую Вас, любители фотоискусства!

С приходом эпохи цифровой фотографии, взаимоотношения фотографа с фотоаппаратом кардинально изменились, и сколько бы ни было споров, но любому фотографу все равно приходится в той или иной степени обращаться к графическим редакторам.

Снимок цифровой фотокамеры не является чем-то завершенным, законченным, и поэтому даже самые элементарные вопросы, такие как кадрирование или необходимая конвертация изображения из RAW файла в файл пригодный для отображения на сторонних электронных устройствах или размещения в интернете, решаются через обработку в различных программах: Photoshop, Lightroom, Capture One или других.

Важным элементом подготовки для отображения или печати является установка размера и разрешения изображения, поэтому в этом материале Вам предлагается разобраться с этими параметрами.


В современных камерах свет формирующий изображение проходит через объектив и попадает на матрицу – самую важную часть цифрового фотоаппарата. Матрица состоит из светочувствительных элементов, каждый из которых собирает информацию о цвете и интенсивности освещения. Далее из этих данных и строится цифровое изображение, так же состоящее из точек — пикселей.

В этом понятии пиксель – это наименьший логический элемент двумерного цифрового изображения.

Есть еще понятие пикселя как элемента экрана, формирующего изображение на мониторах.

Вот, наверное, из-за такой двойственности определения пикселя некоторые начинающие фотолюбители путают понятия размера изображения и его разрешения.

Разобраться в этом нам поможет фотография, сделанная моей хорошей знакомой – фотографом Оксаной Ермихиной.


Размер изображения в пикселях – это их количество по ширине и высоте, равно как измерять эти величины можно и в других единицах.


В нашем случае видно, что изображение вписывается в размер 1200 пикселей по ширине и 706 пикселей по высоте.

Ниже строки «Размеры» находится строка функции «Подогнать под:». Нажав на стрелку в правой части текстового поля, получим перечень возможных размеров, в которые программа автоматически способна перевести изображение.


Изменение размеров изображения в пикселях влияет не только на его размер, на экране, но и на качество отображения и качество при печати.

При изменении размера изображения можно выбрать вариант сохранения пропорции соотношения между высотой и шириной, либо изменения каждой величины можно осуществлять по отдельности. Для этого в поле «Размер изображения» между строками «Ширина» и «Высота» находится функциональная кнопка с изображением звена цепочки.

В нажатом состоянии этой кнопки, когда отображается линия, соединяющая между собой строки Ширина и Высота, изменение размера происходит пропорционально.


Если щелкнуть по изображению звена цепочки левой кнопкой мышки, соединительная линия пропадает, и изменение размеров осуществляться независимо друг от друга.


Будьте аккуратнее, так как при этом могут нарушиться пропорции изображения.


Единицы измерения Ширины и Высоты также можно поменять, выбрав требуемый параметр в выпадающем списке.


Еще эта возможность удобна тем, что существует возможность одновременно оценивать размер изображения в разных единицах.


Если Вы что-то накрутили в размерах невероятное, то всегда можно восстановить исходные значения изображения. Для этого необходимо нажать клавишу «Alt» и удерживать ее, при этом название кнопки «Отмена» поменяется на «Сбросить», щелкните по ней и размеры вернуться к первоначальным значениям.


Теперь немного о размере экрана в пикселях.

Как мы уже с Вами говорили выше, существует понятие пикселя как элемента монитора, который формирует изображение. Поэтому размер экрана мониторов также характеризуют соотношением количества пикселей по ширине и высоте, и этот параметр называется разрешением монитора.

Если размер экрана монитора в пикселях примерно совпадает с размером Вашего изображения также в пикселях, то изображение будет демонстрироваться почти на весь экран, а если размер изображения меньше, то на мониторе останутся свободные, не заполненные области.



До не давнего времени распространенным разрешением мониторов было 1280 х 720 пикселей. Вот поэтому для просмотра во весь экран оптимальным размером изображения считался 1200 пикселей по ширине. Но как Вы видите, современные технологии движутся вперед и достигли разрешения экрана в 4К, т.е. с размером матрицы 3800 х 2160 пикселей, поэтому имея монитор такого качества можно смело при кадрировании использовать данный размер картинки. Учтите это, отдавая свои работы заказчикам, многие из них могут иметь мониторы с таким разрешением и им будет приятнее смотреть свои фотографии во весь экран, нежели на небольшой его части.


И капельку про разрешение принтера.

Разрешение принтера измеряется в точках на дюйм, dpi. Как правило, чем больше точек на дюйм, тем лучше качество печатного изображения.

Разрешение принтера отличается от разрешения изображения, но связано с ним. Чтобы напечатать высококачественную фотографию, к примеру, на струйном принтере, необходимо, чтобы разрешение изображения было равно 300 ppi.

Теперь поговорим о разрешении изображения.

Разрешение является мерой четкости деталей растрового изображения и исчисляется в пикселях на дюйм (ppi). Чем больше пикселей в дюйме, тем выше разрешение и соответственно качественнее отображение.

Для примера представлю часть изображения одного размера 200 х 200 пикселей, но с разным разрешением в 300 ppi и 72 ppi.


В целом изображение с более высоким разрешением позволяет получить более высокое качество и при печати.

Когда же мы работаем в графических редакторах, то изменение разрешения изображения, как и изменение его размера не так принципиально, потому что программа автоматически сама сохраняет объем изображения, который в свою очередь определяется размерами и разрешением картинки.

Как это происходит?

Если не устанавливать галочку «Ресамплинг» (ниже мы поговорим об этом параметре), то при изменении разрешения файла его высота и ширина изменяются так, чтобы объем данных изображения оставался прежним.

Пример: при разрешении изображения в 300 ppi физический размер при печати по ширине и высоте составит 10,16 см и 5,98 см соответственно. При этом размер изображения в пикселях находится в соотношении 1200 х 706, обратите на это внимание.


Если мы решим изменить разрешение и уменьшим его до 72 ppi, то увидим, что визуально в программе отображение изображения совершенно не изменяется и его размеры в пикселях остаются неизменными: 1200 х 706 пикселей. Но для сохранения объема данных произошел автоматический пересчет размера картинки в сантиметрах! То есть при таком разрешении мы сможем физически напечатать фотографию размером 42,33 см на 24,91 см.


Оборотная сторона этого процесса такова, что при увеличении физического размера изображения, к примеру, в два раза, соответственно уменьшается вдвое его разрешение. Это говорит о том, что в один дюйм теперь будет вписано вдвое меньше пикселей, которые будут стоять дальше друг от друга, а это отрицательно влияет на качество печати.

Важно понимать, что размеры в пикселях регулируют объем данных, а разрешение и физический размер используются только для печати.

Что будет происходить, если будет активирована функция «Ресамплинг»?

Ресамплинг изменяет объем данных изображения при изменении его размеров в пикселях либо разрешения.

Вот часть изображения с нормальным размером в пикселях 60 х 60, разрешение 300 пикселей на дюйм, масштаб отображения 100%.


При уменьшении числа пикселей или разрешения (даунсамплинг) изображение теряет часть информации. Размер 20 х 20 пикселей, разрешение 100 пикселей на дюйм, масштаб отображения 100%.


При увеличении числа пикселей или разрешения (ресамплинг) добавляются новые пиксели. Размер 120 х 120 пикселей, разрешение 600 пикселей на дюйм, масштаб отображения 100%


Применение ресамплинга до большого размера в пикселях может привести к снижению качества изображения – уменьшению его детализации и резкости.

Если при уменьшении количества пикселей программа легко справляется с этой задачей, то при повышении количества пикселей ей приходится «угадывать», т.е. высчитывать какие пиксели необходимо добавить.

Изменение одного из значений влияет на другое.

  • Изменение размеров в пикселях влияет на физический размер и объем файла, но не изменяет разрешения;


  • Изменение разрешения влияет на размер в пикселях и объем файла, но не изменяет физического размера;


  • Изменение физического размера влияет на размеры в пикселях и объем файла, но не изменяет разрешения.


В итоге, при использовании функции «Ресамплинг» можно изменить любое значение в диалоговом окне «Размер изображения»: размеры в пикселях, физический размер или разрешение.

Программа Photoshop предлагает несколько алгоритмов работы функции «Ресамплинг», поэтому в случае необходимости Вы можете подобрать для себя наиболее приемлемый из них:


  • Автоматический – метод, основанный на выборе типа документа и увеличения либо уменьшения его масштаба отображения;
  • Сохранить детали (с увеличением) – метод при котором становится доступным регулятор «Снижение шума» для сглаживания шума при масштабировании изображения;


  • Бикубический (с увеличением) – метод для увеличения изображений на основе бикубической интерполяции, разработанный специально для получения более гладких результатов;
  • Бикубический (с уменьшением) – метод для уменьшения на основе бикубической интерполяции с повышенной резкостью;
  • Бикубический (более плавные градиенты) – метод медленный, но более точный, основанный на анализе значений цвета окружающих пикселей. Дает более плавные цветовые переходы.
  • По соседним пикселям (четкие края) – быстрый, но менее точный метод. Он сохраняет четкие края, однако может сделать их зубчатыми;
  • Билинейный – метод, который добавляет новые пиксели, рассчитывая среднее значение цвета окружающих пикселей.

Чтобы избежать применения функции «Ресамплинг» заранее создавайте изображения или сканируйте их с достаточно высоким разрешением.

Как это все выглядит на практике?

Уже отмечалось, что при просмотре изображений на экране мониторов разрешение картинки особо не влияют на качество. Почему? Все очень просто средний размер изображения полученного с матрицы современных зеркальных фотоаппаратов, составляет примерно 5184 х 3456 пикселей. А разрешение мониторов среднего класса 1280 х 720 пикселей. Поэтому при отображении происходит программный подгон физических размеров изображения под размер экрана (происходит сжатие и уменьшение размеров пикселя), что в свою очередь приводит к повышению четкости картинки.

В свое время для мониторов (правда, еще для ЭЛТ) было принято значение разрешения картинки равным 72 пикселям на дюйм, современные ЖК мониторы для ПК в основном имеют разрешение 96 пикселей на дюйм. При этом программа Photoshop и другие редакторы демонстрируют изображение в режиме отображения реального пикселя фото в соответствии с пикселем монитора.


Если же распечатать в таком разрешении эту картинку, то получим нечто следующее:


Видно, что снимок потерял былую четкость.

Для печати в фотолаборатории мы можем самостоятельно указать физический размер снимка в сантиметрах и разрешение 300 пикселей на дюйм. Это тоже общепринятая величина для получения максимально качественной печати, так как фотолаборатории обычно производят печать с разрешением 256 dpi. В этом случае Вы получите реальную четкость, резкость и цвет своего снимка.

Единственная неприятность это то, что при пересчете разрешения изображения Вы потеряете физический размер картинки.


Чтобы избежать этого включите функцию «Ресамплинг» и с необходимым для Вас алгоритмом повторите изменение разрешения, но уже с сохранением физического размера.


Как видно физический размер картинки остался неизменным увеличился размер изображения в пикселях и соответственно вырос объем файла, но качество изображения не отличается от исходника и вполне соответствует требуемым параметрам для печати.


Сейчас современные интернет ресурсы сами отлично справляются с задачей даунсамплинга, в частности с уменьшением разрешения изображений. В связи с этим, чтобы не менять каждый раз разрешение изображений, рекомендую сразу в настройках управления экспортом файлов Ваших конверторов и графических редакторов установить параметр «Разрешение» равным 300 пикселей на дюйм.




Вот в принципе и все общие понятия изменения размера и разрешения изображения. Надеюсь, что хоть немного помог Вам разобраться в этом.

Приятных творческих успехов!

Если Вы не хотите пропустить интересные уроки по обработке фотографий - подпишитесь на рассылку.
Форма для подписки находится ниже.

Читайте также: