三维空间距离与z深度的关系

时间:2012-02-05 09:44:49

标签: math 3d coordinates

我有一个平面的2D图形平面,相机指向它们。我希望得到这样的效果,所以当用户捏合和缩放时,看起来他们将手指固定在平面上并且可以逼真地捏缩放。要做到这一点,我需要计算他们的手指在3D空间中的距离(我已经可以做到),但是我需要将该3D距离映射到z值。

例如,如果一个100单位宽的正方形并缩小到50个单位(50%),那么相机需要多远才能移动100个单位的正方形缩小一半?

简单地说,如果我在3D空间中有距离,我如何计算将3D空间缩小一定量所需的相机距离?

1 个答案:

答案 0 :(得分:0)

修改

所以,我自己试了一下,想出了这个公式:

所以假设你距离物体1个单位。 当你想将它缩小到50%(zoomfactor)时,新的距离等于2个单位=> 1 / 0.5 = 2.相机必须是两倍远。


将相机移近平面以进行缩放仅适用于透视投影。绝对距离取决于视角。通常可以通过缩小视角来缩放,而不是根本不移动相机。

如果您使用的是正交投影,则可以简单地调整视野/缩放投影矩阵。