投影到2D空间中的球体是否总是会产生椭圆形?


22

我的直觉一直是,当将任何球体投影到2D空间中时,结果在数学上始终将是椭圆(在退化情况下为圆)。

过去,当我积极地进行自己的图形编程并与其他人一起提出来时,他们坚称我错了。如果我没记错的话,他们认为结果可能有些模糊“蛋形”。

谁是正确的?


既然已经提交了一个答案,我不想完全改变我的问题,但是我意识到由于多年来对这一领域的熟悉程度,我遗漏了重要的细节。

我打算专门询问透视投影,其中投影是线性应用程序

当然,其他投影对于许多用途也很有趣,因此我现在不希望将其删除。但是,如果答案中最突出的部分是透视投影,那就太好了。


3
假设是透视投影,则AFAICS由视点地平线形成的“边界”将是一个(截断的)圆锥体,因此大多数投影将是圆锥截面:en.wikipedia.org/wiki/Conic_section。因此,椭圆是可能的,但不是唯一的可能性。
西蒙F

1
在这种情况下,我会将自己的评论扩大为答案...
Simon F

1
您需要添加一个约束。鱼眼镜头也是透视投影,不会出现椭圆形。您需要的约束是线性。
v.oddou

1
我宁愿说“投影是线性应用程序”之类的话。可能会有一些捷径,例如“线性异形”之类的东西,但我早已忘记了。
v.oddou

1
这应该在该线程中的某个位置,因此请在此处添加它:) Inigo Quilez的解析球投影:shadertoy.com/view/XdBGzd
Mikkel Gjoel,2016年

Answers:


18

假设透视投影和球体外部的视点,则视点与球体上形成视点WRT的地平线上的圆所形成的“边界”将为圆锥体。

然后(在平面上)进行透视投影等效于将该圆锥与平面相交,从而产生圆锥形截面。仅供参考,这张来自维基百科的图片显示了四个未退化的案例在此处输入图片说明

因此,椭圆/圆是可能的,但不是唯一的-无边界的抛物线或双曲线(而且我猜想飞机是否穿过眼睛,甚至退化的情况)也是可能的。


1
尽管您的论点绝对合理,但我无法想象结果将是抛物线还是双曲线。有些话阐明什么样的布局会导致这些问题将是很好的。我
能动动脑筋

3
也许等效的方法可能会有所帮助。想象一下,您拿着一支手电筒(北美地区的手电筒),它发出圆锥形的光束,并且您在一个黑暗的空(无限)仓库中。将火炬照在地板上,您会看到一个椭圆形。现在逐渐将割炬的轴线向水平方向倾斜。椭圆会越来越长,直到光束本身的最上方“边缘”变为水平(即平行于地板)为止。现在,投影是抛物线,并且会一直延伸。进一步倾斜将形成双曲线。
西蒙F

1
@hippietrail:可能值得注意的是,在镜头前有一个视平面时,如果球体的至少一部分在焦点和视平面之间,则最终以抛物线或双曲线结束的唯一方法。
Ilmari Karonen

@IlmariKaronen:在这种情况下,“焦点”是什么意思?眼睛关注的重点是什么?消失点了吗?(我12岁或13岁时就自学了3D透视旋转和投影技术,但从未在数学和术语上流利。)
hippietrail 2015年

在这种情况下,@ hippietrail焦点将是圆锥体的顶点。有效地透视“针孔”,针孔相机模型。(PS的名字是否意味着会见“一个陌生的女士。她让我感到紧张……。”)
Simon F

14

这更像是对@SimonF的回答的很长的评论,我正在尝试使自己变得有些独立。

所有的圆锥形切割都是可能的,双曲线,抛物线和椭圆形。通过使用超广角摄像头在3D引擎中绘制图像,可以轻松进行测试。旋转相机说出30度角,使物体不在焦点中间。然后逐渐将相机移近球体。

在此处输入图片说明

图片1非常靠近球体,略微侧向飞行。请注意,我们是如何突然穿刺内部的曲面形式的。

因此,要回顾一下球体非常靠近时以宽图像退出图片的状态,它可以是抛物线或双曲线。但是形状只会退出框架而已。


1
如果您的动画可以更改各种结果的阴影,那可能真的很不错:对椭圆说白色,对抛物线的“一帧”说绿色,对双曲线说红色。:-)
Simon F

2
@SimonF我想到了这一点,我正在计划像内森·里德这样的人。但是我有点着急,很幸运能完成此渲染。最初我对双曲线是否可能存在存有一定的怀疑,但是是的,现在看来已经很明显了。
joojaa

13

投影系统用于将3D形状转换为平面(2D)形状。

根据投影系统的类型,可以在一个球体之外产生不同的结果和形状,例如矩形,饼形,椭圆形,圆形等。

可以根据投影系统生成结果的特征对其进行分类。

为了继续,我想使用一个我们之前都曾经看到过的非常感人和普遍的例子,地球球体和全球范围内的地图无处不在。

假设您的领域是地球!

想象地球是您的球体,以及由地球的球形形状创建的平面世界地图。在大多数世界地图中,您都可以看到极地附近的国家比实际国家要大得多,例如冰岛(实际上是非洲大陆的1/14),但地图显示这两个国家是平等的。这是因为当我们省略一维时,会失去形状的一个特征。

不同的投影系统及其结果

这是一个平面投影,不保留距离,角度或面积。红色圆圈表示此投影的乘积。

第一

平均面积,在此看冰岛和非洲,并与上面进行比较。

第二

投影系统可以根据其保存内容进行分类。

  1. 面积相等。
  2. 等角度可以保持形状而不会变形(共形)。
  3. 等距离。
  4. ......

保形投影可以保留形状,但不会保留区域(上图的第一幅),这是在许多应用中使用的最著名的投影系统。您的球体在这里是矩形!


因此,您不能说一个球体总是会投影到一个椭圆上。如上所述,球体可以投影为矩形(第一个形状),也可以是椭圆形,但具有不同的特征(相等的角度,距离,形状,面积-参见下图),或者也可以将球体投影为圆锥形然后打开圆锥形,这样你就会有一个馅饼。

上面的每个投影系统都可以应用可以在互联网上找到的迭代或直接算法。我没有谈论公式和转换,因为您没有问。虽然我希望您发现此答案有用。

第三


在透视投影中,我说是的,只有椭圆会在球体之外产生

用水平面切割圆锥会创建一个圆。

用斜面切割会产生一个斜面,该斜面取决于切割角度,可能是椭圆形或双曲线,并且当该角度倾斜为垂直时,会形成抛物线(下图)。

椭圆

也许这很明显,但请看一下它们的方程式。

为简单起见,我假定所有几何形状都以原点为中心。

方程式:

X2+ÿ2=[R2

X2/一种2+ÿ2/b2=1个

双曲线: X2/一种2-ÿ2/b2=1个

抛物线: ÿ2=4一种X

形态:

椭圆显然有两个焦点。圆作为特殊的省略号也有两个焦点,但它们是重合的。但是,双曲线是其等效省略号的ay轴镜,它也有两个焦点。抛物线有一个焦点,但实际上有两个焦点,因为第二个焦点处于无穷大:当切割平面倾斜到90度(轴承角)时,第二个焦点变为无穷大。

结论

如您所见,所有椭圆都是椭圆,但是您可以用不同的名称命名来描述特殊情况,但是如果您要在游戏中实现椭圆,则需要假设椭圆方程就足够了。我或您或您的朋友都无法分辨你们中哪个人是对的,因为两者都可能是对的。


2
感谢您的回答。请参阅我关于透视投影的附录。抱歉,我的原始措辞是。
hippietrail

2
是的,我试图在我的原始问题中进行介绍。我认为,点和线段也是其他退化的椭圆。
hippietrail

3
@hippietrail:地球实际上也是透视投影的一个很好的例子。如果您在户外拍摄普通照片,将相机指向地平线,则(假设您的镜头没有畸变,并且地球大约是一个完美的球体)图片中的地球图像将是(一部分)非常广泛的双曲线。
Ilmari Karonen

1
@IlmariKaronen:哇,它非常清晰,值得自己回答!是否会产生抛物线?
hippietrail

1
@hippietrail我在回答的末尾添加了一些解释,希望它可以回答已编辑问题的新方面。并感谢您的补充。
伊曼2015年

11

SimonF的推理基本上说服了我,但我决定进行健全性检查。我加载了一个UE4级别,碰巧有一些球体,像这样:

在此处输入图片说明

我将相机的FOV设置为160度,以提供很多透视失真,并对其​​进行了定位,以使球体位于图像的角附近:

在此处输入图片说明

然后,将其带入Inkscape并使用椭圆工具在其上进行绘制:

在此处输入图片说明

惊喜!非常适合!


1
非常有说明性!您如何处理抛物线和双曲线案件?
hippietrail

2
@hippietrail不幸的是,矢量艺术程序没有像椭圆工具那样具有抛物线和双曲线工具,所以会有点困难... :)
Nathan Reed 2015年

@NathanReed可以肯定,但是他们确实有常规的绘图工具,(如果不能从我这里得到),可以绘制一个普通的抛物线并缩放/旋转以适合。
joojaa

-1

切片一个球时,没有形成抛物线或双曲线。除了特殊情况下为圆以外,也没有省略号,结果始终为圆。如果将球体投影到倾斜的平面上,则会得到一个椭圆


1
其他答案表明除椭圆以外的其他形状也是可能的。您能证明为什么它们可能不正确吗?
西蒙F
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.