Моя интуиция всегда заключалась в том, что когда любая сфера проецируется в 2D-пространство, результатом всегда будет математически эллипс (или круг в вырожденных случаях).
В прошлом, когда я активно занимался собственным графическим программированием и обсуждал это с другими людьми, они были непреклонны, что я был неправ. Если я правильно помню, они полагали, что результатом может быть что-то неопределенно «яйцевидное».
Кто был прав?
Поскольку уже представлен один ответ, я не хочу полностью менять свой вопрос, но я понимаю, что пропустил важные детали из-за утраты знакомства с полем за последние годы.
Я специально хотел спросить о перспективной проекции, где проекция - это линейное приложение .
Другие проекции, конечно, интересны для многих применений, поэтому я бы не хотел, чтобы они были удалены на данном этапе. Но было бы здорово, если бы ответы могли иметь перспективную проекцию в качестве наиболее заметного раздела.
источник
Ответы:
Предполагая перспективную проекцию и точку обзора, внешнюю по отношению к сфере, тогда «граница», образованная точкой обзора и кругом на сфере, которая образует горизонт относительно точки обзора, будет конусом.
Выполнение перспективной проекции (на плоскость) эквивалентно пересечению этого конуса с плоскостью, которая, таким образом, создает коническое сечение. К вашему сведению, четыре невырожденных случая показаны на этом изображении из Википедии
Таким образом, эллипс / круг - это возможность, но не единственная - неограниченные параболы или гиперболы (и я предполагаю, что если плоскость проходит через глаз, возможны даже вырожденные случаи).
источник
Это больше похоже на длинный комментарий к ответу @ SimonF, который я пытаюсь сделать несколько автономным.
Возможны все разрезы конуса, гипербола, парабола и овала. Это легко проверить, рисуя изображения в 3D-движке с помощью чрезвычайно широкоугольной камеры. Поверните камеру, чтобы сказать под углом 30 градусов, чтобы объект находился не в центре вашего фокуса. Затем постепенно перемещайте камеру ближе к сфере.
Изображение 1: Полет очень близко к сфере, слегка сбоку. Обратите внимание, как мы внезапно прокалываем форму поверхности внутри.
Подводя итог, можно сказать, что когда сфера очень близка и выходит из картинки в широком изображении, это может быть парабола или гипербола. Но форма просто выйдет из рамки, чтобы сделать это.
источник
Проекционные системы используются для преобразования трехмерной фигуры в плоскую (2D) фигуру.
В зависимости от типа проекционной системы из сферы могут быть получены различные результаты и формы, такие как прямоугольники, пироги, эллипсы, круги ...
Проекционные системы могут быть классифицированы по характеристикам получаемого ими результата.
Чтобы продолжить, я хотел бы использовать очень трогательный и общий пример, который мы все видели раньше, сфера Земли и глобальные карты, они повсюду.
Предположим, ваша сфера - это земля!
Представьте Землю как свою сферу и планарную карту мира, которая создана из сферической формы Земли. На большинстве мировых карт вы видите, что страны, расположенные рядом с полюсами, становятся намного больше, чем они есть на самом деле, например, Исландия, которая на самом деле является 1/14 африканского континента, но на карте они оба равны. Это потому, что когда мы опускаем одно измерение, мы теряем одну характеристику наших форм.
Различные проекционные системы и их результаты
Это плоская проекция, которая не сохраняет расстояние, углы или площадь. Красные кружки показывают количество преувеличения, которое является продуктом этой проекции.
Equal-Area, посмотрите на Исландию и Африку в этом и сравните с выше.
Проекционные системы можно классифицировать по тому, что они сохраняют.
Конформные проекции сохраняют формы, но площадь не сохраняется (первая картинка выше), это самая известная проекционная система, которая используется во многих приложениях. Ваша сфера здесь прямоугольник!
Таким образом, вы не можете сказать, что сфера будет проецироваться на эллипс всегда. Как упомянуто выше, сфера может быть спроецирована на прямоугольник (первая форма) или может быть эллипсом, но с другими характеристиками (равный угол, расстояние, форма, площадь - см. Следующий рисунок), или вы также можете спроецировать сферу в конус а затем откройте коник, чтобы у вас был пирог.
Каждая из вышеперечисленных проекционных систем может применяться с итерационными или прямыми алгоритмами, которые можно найти в Интернете. Я не говорил о формуле и преобразованиях, потому что вы не спрашивали. Хотя я желаю вам найти этот ответ полезным.
В перспективных проекциях я говорю да, из сфер будут создаваться только эллипсы
Разрезание коника с горизонтальной плоскостью создает круг.
Резка с наклонной плоскостью создает скос, который будет эллипсом или гиперболой в зависимости от угла резания, и когда этот угол наклонится к вертикали, создаст параболу (следующий рисунок).
Может быть, это очевидно, но взгляните на их уравнения.
Для простоты я предположил, что все геометрии ориентированы на начало координат.
Уравнения:
Морфология:
Эллипс имеет два очага, очевидно. У круга как особого вида многоточия тоже есть два очага, но они совпадают. Гипербола, тем не менее, является зеркалом оси y ее равного эллипса, и она также имеет два очага. У параболы есть один фокус, но на самом деле у него два, потому что второй находится на бесконечности: когда плоскость резки наклоняется до 90 градусов (угол опоры), второй фокус переходит на бесконечность.
Вывод
Как вы видите, все являются эллипсами, однако вы можете называть их по-разному для описания особых случаев, но если вы собираетесь реализовать их в игре, вам нужно принять уравнение эллипса, и этого достаточно. Я не могу сказать, кто из вас прав, вы или ваш друг, потому что оба могут быть правы.
источник
Рассуждения SimonF в основном убедили меня, но я решил проверить работоспособность. Я загрузил уровень UE4, в котором есть несколько сфер, например:
Я установил угол обзора камеры до 160 градусов, чтобы дать много искажений перспективы, и поместил его так, чтобы сфера была в углу изображения:
Затем я взял это в Inkscape и использовал инструмент эллипса, чтобы нарисовать на нем:
Сюрприз! Это идеально подходит!
источник
Там нет парабол или гипербол, образующихся при разрезании сферы один раз. Также нет эллипсов, за исключением особого случая, который представляет собой круг. Результатом всегда является круг. Если вы спроецируете сферу на наклонную плоскость, вы получите эллипс
источник