Изометрическая проекция

Материал из Википедии — свободной энциклопедии
Стол в прямоугольной изометрической проекции
ортогональных проекций

Изометри́ческая прое́кция (

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

Изометрическая проекция используется в машиностроительном

САПР для построения наглядного изображения детали на чертеже, а также в компьютерных играх
для трёхмерных объектов и панорам.

Необходимо отметить, что

косоугольные, с углом между направлением и плоскостью, отличным от прямого. По советским стандартам (см. ниже) аксонометрические проекции могут быть и ортогональными, и косоугольными[1]
. В результате, по западным стандартам изометрическая проекция определяется более узко и, помимо равенства масштабов по осям, включает условие равенства 120° углов между проекциями любой пары осей. Во избежание путаницы далее, если не указано иное, под изометрической проекцией будет подразумеваться только прямоугольная изометрическая проекция.

Стандартные изометрические проекции[1]

  • ...прямоугольной
    ...прямоугольной
  • ...косоугольной фронтальной
    ...косоугольной фронтальной
  • ...косоугольной горизонтальной
    ...косоугольной горизонтальной

Прямоугольная (ортогональная) изометрическая проекция

В прямоугольной изометрической проекции аксонометрические оси образуют между собой углы в 120°, ось Z' направлена вертикально. Коэффициенты искажения () имеют числовое значение . Как правило, для упрощения построений изометрическую проекцию выполняют без искажений по осям, то есть коэффициент искажения принимают равным 1, в этом случае получают увеличение линейных размеров в раза.

Приближённо аксонометрические оси прямоугольной проекции можно построить, если принять tg 30°=4/7 (0,577 и 0,571 соотв.).

Косоугольная фронтальная изометрическая проекция

Ось Z' направлена вертикально, угол между осью X' и Z' равен 90°, ось Y' с углом наклона 135° (допускается 120° и 150°) от оси Z'.

Фронтальная изометрическая проекция выполняется по осям X', Y' и Z' без искажения.

Кривые, параллельные фронтальной плоскости, проецируются без искажений.

Косоугольная горизонтальная изометрическая проекция

Ось Z' направлена вертикально, между осью Z' и осью Y' угол наклона равен 120° (допускается 135° и 150°), при этом сохраняется угол между осями X' и Y' равным 90°.

Горизонтальную изометрическую проекцию выполняют без искажения по осям X', Y' и Z'.

Кривые, параллельные горизонтальной плоскости[2] проецируются без искажений.

Визуализация

Изометрический вид объекта можно получить, выбрав направление обзора таким образом, чтобы углы между проекцией осей x, y, и z были одинаковы и равны 120°. К примеру, если взять куб, это можно выполнить, направив взгляд на одну из граней куба, после чего повернув куб на ±45° вокруг вертикальной оси и на ±arcsin (tan 30°) ≈ 35,264° вокруг горизонтальной оси. Обратите внимание: на иллюстрации изометрической проекции куба контур проекции образует правильный шестиугольник — все рёбра равной длины и все грани равной площади.

Подобным же образом изометрический вид может быть получен, к примеру, в редакторе трёхмерных сцен: начав с камерой, выровненной параллельно полу и координатным осям, её нужно повернуть вниз на ≈35.264° вокруг горизонтальной оси и на ±45° вокруг вертикальной оси.

Другой путь визуализации изометрической проекции заключается в рассмотрении вида кубической комнаты с верхнего угла с направлением взгляда в противолежащий нижний угол. Ось x здесь направлена диагонально вниз и вправо, ось y — диагонально вниз и влево, ось z — прямо вверх. Глубина также отражается высотой картинки. Линии, нарисованные вдоль осей, имеют угол 120° между собой.

Матричные преобразования

Имеется 8 различных вариантов получения изометрической проекции в зависимости от того, в какой октант смотрит наблюдатель. Изометрическое преобразование точки в трёхмерном пространстве в точку на плоскости при взгляде в первый октант может быть математически описано с помощью матриц поворота следующим образом. Вначале, как объяснено в разделе Визуализация, выполняется поворот вокруг горизонтальной оси (здесь x) на α = arcsin (tan 30°) ≈ 35,264° и вокруг вертикальной оси (здесь y) на β = 45°:

Затем применяется

ортогональная проекция
на плоскость x-y:

Другие семь возможных видов получаются поворотом к противостоящим сторонам и/или инверсией направления взгляда.[3]

Ограничения аксонометрической проекции

Изометрический рисунок с голубым шаром на два уровня выше красного

Как и в других видах

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

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

оптическую иллюзию
, будто оба шара на одном уровне.

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

Большинство современных компьютерных игр избегают этого за счёт отказа от аксонометрической проекции в пользу

перспективного трёхмерного рендеринга. Однако эксплуатация проекционных иллюзий популярна в оптическом искусстве — таком, как работы из серии «невозможной архитектуры» Эшера. Водопад (1961) — хороший пример, в котором строение в основном изометрическое, в то время как блеклый фон использует перспективную проекцию. Другое преимущество заключается в том, что в черчении даже новички легко могут строить углы в 60° с помощью только циркуля и линейки
.

Изометрическая проекция в компьютерных играх и пиксельной графике

Рисунок телевизора в почти-изометрической пиксельной графике. У пиксельного узора видна пропорция 2:1

В области

плиточная графика могли быть использованы для представления трёхмерной игровой среды — поскольку во время перемещения по игровому полю объекты не меняют размер, компьютеру не требуется масштабировать спрайты или выполнять вычисления, необходимые для моделирования зрительной перспективы. Это позволяло старым 8-битным и 16-битным игровым системам (и, позднее, портативным игровым системам) легко отображать большие трёхмерные пространства. И хотя неразбериха с глубиной (см. выше
) иногда могла быть проблемой, хороший дизайн игры способен её смягчить. С приходом более мощных графических систем аксонометрическая проекция стала терять свои позиции.

Проекция в компьютерных играх обычно несколько отличается от «истинной» изометрической в силу ограничений

пикселями могли, однако, приводить к другим углам, включая полностью изометрические[4]). Поскольку здесь из трёх углов между осями (116,565°, 116,565°, 126,87°) равны только два, такой вид проекции более точно характеризуется как вариация диметрической проекции. Однако большинство представителей сообществ компьютерных игр и растровой графики продолжает называть эту проекцию «изометрической перспективой». Также, часто используются термины «вид 3/4[en]» и «2.5D
».

Термин применялся и к играм, не использующим пропорцию 2:1, общую для многих компьютерных игр.

, также иногда относят к изометрическим или «псевдо-изометрическим».

Кадр из игры «echochrome»

Интересный пример использования особенностей изометрической проекции наблюдается в игре echochrome (яп. 無限回廊 муген кайро:). Слоган игры — «В этом мире то, что ты видишь, становится реальностью». Смысл игры заключается в том, что иллюзия, возникающая при взгляде на изометрически построенный трёхмерный уровень с определённой точки, перестаёт быть иллюзией. Например, если посмотреть на уровень таким образом, чтобы площадки, находящиеся на разной высоте, выглядели так, будто они находятся на одной и той же высоте (см. изображение с синим и красным шарами из предыдущего раздела), игрой они будут расцениваться как находящиеся на одной высоте, и человек (игрок) сможет запросто «перешагнуть» с одной площадки на другую. Затем, если повернуть карту уровня и посмотреть на конструкцию так, чтобы было отчётливо видно разницу в высоте, можно понять, что в действительности человек «перешагнул» на другую высоту, пользуясь тем, что изометрическая иллюзия на какой-то момент стала реальностью. На приведённом в качестве иллюстрации кадре из игры положение площадки, находящейся вверху лестницы, можно представить двояко: в одном случае она находится на одной высоте с площадкой, на которой находится игрок (можно перешагнуть), а в другом случае — под ней (можно спрыгнуть через чёрное отверстие). Оба случая будут одновременно являться правдой. Очевидно, этот эффект достигается отсутствием перспективы в изометрии.

История изометрических компьютерных игр

Q*bert (1982), одна из первых игр с изометрической графикой

Первыми играми, использующими изометрическую проекцию, были

1984
).

С выходом

1989
) также использовала изометрическую перспективу.

На протяжении 1990-х некоторые очень успешные игры вроде

Civilization IV в этой серии используется полная трёхмерность. Diablo II, как и ранее, использует фиксированную перспективу, но опционально применяет перспективное масштабирование спрайтов на расстоянии, получая псевдо-трёхмерную перспективу.[19]

Примечания

  1. 1 2 По ГОСТ 2.317-69 — Единая система конструкторской документации. Аксонометрические проекции.
  2. Здесь горизонтальной называется плоскость, перпендикулярная оси Z (которая является прообразом оси Z').
  3. .
  4. Так, в распространённом разрешении CGA/VGA 320×200 этот угол равняется arctg 0,6 ≈ 30,96°.
  5. Jeff Green. GameSpot Preview: Arcanum (англ.). GameSpot (29 февраля 2000). Дата обращения: 29 сентября 2008. Архивировано 31 августа 2000 года.
  6. Steve Butts. SimCity 4: Rush Hour Preview (англ.). IGN (9 сентября 2003). Дата обращения: 29 сентября 2008. Архивировано 19 февраля 2012 года.
  7. GDC 2004: The History of Zelda (англ.). IGN (25 марта 2004). Дата обращения: 29 сентября 2008. Архивировано 19 февраля 2012 года.
  8. Gamasutra (19 августа 1997). Дата обращения: 29 сентября 2008. Архивировано
    19 февраля 2012 года.
  9. Age of Decadence (англ.). Iron Tower Studios. Дата обращения: 29 сентября 2008. Архивировано 19 февраля 2012 года.
  10. Steve O’Hagan. PC Previews: Silent Storm (англ.). GamesRadar—CVG (7 августа 2003). Дата обращения: 29 сентября 2008. Архивировано 19 февраля 2012 года.
  11. Q*bert (англ.) на сайте Killer List of Videogames
  12. Zaxxon (англ.) на сайте Killer List of Videogames
  13. Congo Bongo (англ.) на сайте Killer List of Videogames
  14. CRASH : журнал. — февраль 1984. — № 1. Архивировано
    7 мая 2008 года.
  15. Ultimate Play The Game — Company Lookback // Retro Micro Games Action — The Best of gamesTM Retro. — Highbury Entertainment, 2006. — Т. 1. — С. 25.
  16. Steven Collins. Game Graphics During the 8-bit Computer Era // ACM SIGGRAPH. Computer Graphics. — май 1998. — Т. 32, № 2. Архивировано 9 сентября 2012 года.
  17. .
  18. CRASH : журнал. — апрель 1988. — № 51. Архивировано
    18 сентября 2019 года.
  19. Diablo II Nears Completion As Blizzard Prepares For Final Phase Of Beta Testing. Market Wire (май 2000). Дата обращения: 29 сентября 2008. Архивировано 10 июля 2012 года.

Ссылки

  • Introduction to 3 Dimensional graphics (англ.). Blueprint project. IDER group, Manufactuing Systems Engineering Centre, University of Hertfordshire. — Пояснения и учебник по рисованию в изометрической перспективе из Хертфорширдского университета. Дата обращения: 29 сентября 2008. Архивировано 28 октября 2000 года.
  • Herbert Glarner. Isometric Projection (англ.) (19 марта 2007). Дата обращения: 29 сентября 2008. Архивировано 19 февраля 2012 года.
  • PixelDam (англ.). — A collaborative pixelart community. Дата обращения: 29 сентября 2008. Архивировано 19 февраля 2012 года.
  • Tom Gersic. Rendering Isometric Tiles in Blender 3D (англ.). — Учебник с примерами по созданию изометрических плиток в программе Blender 3D. Дата обращения: 29 сентября 2008. Архивировано 19 февраля 2012 года.

Литература

  • Богданов В. Н., Малежик И. Ф., Верхола А. П. и др. Справочное руководство по черчению. — М.: Машиностроение, 1989. — С. 864. — ISBN 5-217-00403-7.
  • Фролов С. А. Начертательная геометрия. — 2-е изд., перераб. и доп. — М.: Машиностроение, 1983. — С. 240.