Всегда ли сфера, спроецированная в 2D-пространство, приводит к эллипсу?

22

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

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

Кто был прав?


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

Я специально хотел спросить о перспективной проекции, где проекция - это линейное приложение .

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

hippietrail
источник
3
Предполагая перспективную проекцию, AFAICS «граница», образованная горизонтом точек обзора, будет (усеченным) конусом, и, таким образом, большая часть проекции будет коническим сечением: en.wikipedia.org/wiki/Conic_section . Таким образом, эллипс - это возможность, но не единственная.
Симон Ф
1
В этом случае я буду продвигать свои комментарии к ответу ...
Саймон Ф.
1
вам нужно добавить ограничение. Рыбий глаз также является перспективной проекцией, и вы не получите эллипсы. ограничение, которое вам нужно, это линейность.
v.oddou
1
Я бы скорее сказал что-то вроде «где проекция - это линейное приложение». Для этого может быть какой-то краткий термин, например «линейный эпиморфизм» или что-то в этом роде, но я давно об этом забыл.
v.oddou
1
Это должно быть где-то в этой теме, поэтому добавьте его сюда :) Аналитическая проекция сферы Inigo Quilez: shadertoy.com/view/XdBGzd
Mikkel Gjoel

Ответы:

18

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

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

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

Саймон Ф
источник
1
Я не могу представить, как результатом может быть парабола или гипербола, несмотря на абсолютную логику вашего аргумента. Несколько слов, поясняющих, какой тип компоновки приведет к ним, было бы здорово. Лучшее, что я могу
обдумать,
3
Может быть, что-то эквивалентное может помочь. Представьте, что вы держите в руках факел (фонарик для тех, кто живет в Северной Америке), который создает конический луч, и вы находитесь на темном пустом (бесконечном) складе. Светя факел в пол вы видите эллипс. Теперь постепенно наклоните ось резака назад к горизонтали. Эллипс будет становиться все длиннее и длиннее до тех пор, пока верхний «край» самого луча не окажется горизонтальным, то есть параллельным полу. Теперь проекция - это парабола, и она тянется вечно. Наклон его дальше будет формировать гиперболу.
Саймон Ф
1
@hippietrail: Возможно, стоит отметить, что с плоскостью обзора перед камерой единственный способ получить в итоге параболу или гиперболу - это если хотя бы часть сферы находится между фокусной точкой и плоскостью обзора.
Илмари Каронен
@IlmariKaronen: Что будет означать «фокус» в этом контексте? На чем фокусируется глаз? Точка схода? (Я учил себя 3D-ротации и проекции перспективы в возрасте 12 или 13 лет, и никогда не
изучал
@hippietrail Фокус в этом контексте будет вершиной конуса. Фактически «обскура» перспективной модели камеры обскуры. (PS. В названии подразумевается встреча «странная леди. Она заставила меня нервничать ...»?)
Саймон Ф.
14

Это больше похоже на длинный комментарий к ответу @ SimonF, который я пытаюсь сделать несколько автономным.

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

введите описание изображения здесь

Изображение 1: Полет очень близко к сфере, слегка сбоку. Обратите внимание, как мы внезапно прокалываем форму поверхности внутри.

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

joojaa
источник
1
Что может быть действительно хорошо, если ваша анимация может изменить затенение для различных результатов: скажем, белый для эллипса, зеленый (для «одного кадра» параболы) и красный для гиперболы. :-)
Симон Ф
2
@SimonF Я думал об этом, я планировал что-то вроде Натана Рида. Но я немного торопился, мне повезло, что я сделал этот рендер. Изначально я немного скептически относился к тому, может ли гипербола вообще существовать, но теперь это кажется очевидным.
Джуджаа
13

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

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

Проекционные системы могут быть классифицированы по характеристикам получаемого ими результата.

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

Предположим, ваша сфера - это земля!

Представьте Землю как свою сферу и планарную карту мира, которая создана из сферической формы Земли. На большинстве мировых карт вы видите, что страны, расположенные рядом с полюсами, становятся намного больше, чем они есть на самом деле, например, Исландия, которая на самом деле является 1/14 африканского континента, но на карте они оба равны. Это потому, что когда мы опускаем одно измерение, мы теряем одну характеристику наших форм.

Различные проекционные системы и их результаты

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

Первый

Equal-Area, посмотрите на Исландию и Африку в этом и сравните с выше.

второй

Проекционные системы можно классифицировать по тому, что они сохраняют.

  1. Равная площадь.
  2. Равный угол, сохраняющий форму без искажений (конформный).
  3. Равное расстояние.
  4. ......

Конформные проекции сохраняют формы, но площадь не сохраняется (первая картинка выше), это самая известная проекционная система, которая используется во многих приложениях. Ваша сфера здесь прямоугольник!


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

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

В третьих


В перспективных проекциях я говорю да, из сфер будут создаваться только эллипсы

Разрезание коника с горизонтальной плоскостью создает круг.

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

Эллипс

Может быть, это очевидно, но взгляните на их уравнения.

Для простоты я предположил, что все геометрии ориентированы на начало координат.

Уравнения:

x2+y2=r2

x2/a2+y2/b2=1

x2/a2y2/b2=1

y2=4ax

Морфология:

Эллипс имеет два очага, очевидно. У круга как особого вида многоточия тоже есть два очага, но они совпадают. Гипербола, тем не менее, является зеркалом оси y ее равного эллипса, и она также имеет два очага. У параболы есть один фокус, но на самом деле у него два, потому что второй находится на бесконечности: когда плоскость резки наклоняется до 90 градусов (угол опоры), второй фокус переходит на бесконечность.

Вывод

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

Иман
источник
2
Спасибо за Ваш ответ. Пожалуйста, смотрите мои дополнения о перспективной проекции. Извиняюсь за этот недосмотр в моей первоначальной формулировке.
hippietrail
2
Да, я попытался осветить это в своем первоначальном вопросе. Точки и отрезки также являются другими вырожденными эллипсами.
Hippietrail
3
@hippietrail: Земля на самом деле отличный пример и для перспективных проекций. Если вы делаете обычную фотографию на улице, направляя камеру к горизонту, то (при условии, что ваш объектив не имеет искажений и что Земля представляет собой приблизительно идеальную сферу), изображение Земли на снимке будет (часть) очень широкая гипербола.
Илмари Каронен
1
@IlmariKaronen: Ух ты, это делает это супер ясным и заслуживает собственного ответа! Будет ли версия этого, которая привела бы к параболе?
Hippietrail
1
@hippietrail Я добавляю некоторые объяснения в конце своего ответа, надеюсь, это поможет ответить на новые аспекты отредактированного вопроса. и спасибо за ваш комплимент.
Иман
11

Рассуждения SimonF в основном убедили меня, но я решил проверить работоспособность. Я загрузил уровень UE4, в котором есть несколько сфер, например:

введите описание изображения здесь

Я установил угол обзора камеры до 160 градусов, чтобы дать много искажений перспективы, и поместил его так, чтобы сфера была в углу изображения:

введите описание изображения здесь

Затем я взял это в Inkscape и использовал инструмент эллипса, чтобы нарисовать на нем:

введите описание изображения здесь

Сюрприз! Это идеально подходит!

Натан Рид
источник
1
Очень красиво наглядно! Что вы думаете о борьбе с параболой и гиперболой?
Hippietrail
2
@hippietrail К сожалению, в программах векторной графики нет инструментов параболы и гиперболы, как у инструментов эллипса, так что это будет немного сложнее ... :)
Натан Рид,
@Nathan Конечно, но у них есть общие инструменты для построения графиков, (если вы не можете получить их от меня) построите график для общей параболы и масштабируйте / поверните, чтобы соответствовать.
Джуджаа
-1

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

Лиз
источник
1
Другие ответы указывают, что возможны формы, отличные от эллипса. Можете ли вы продемонстрировать, почему они могут быть неверными?
Simon F