代码之家  ›  专栏  ›  技术社区  ›  Dennis G

透视计算缩小尺寸

  •  5
  • Dennis G  · 技术社区  · 14 年前

    我正在试图找出一个公式,如何计算一个遥远的物体在一个靠近我的观察窗格的大小。我肯定我在高中时就有过,但我找不到任何资料来说明正确的计算方法。

    我发现下面这一页解释了画这种东西的正确方法,但是我没有看到公式(例如物体的大小、距离): Calculating diminishing size in perspective . 我也知道我可以计算视角,如图所示 angular size calculator -但是,这假设是三角形,而不是矩形。

    图画比文字更有价值,看我的绘画技巧: Mind boggle

    说明:当从观察窗格(标记为红色)中查看时,我将如何计算目标的大小。当你仔细观察这个范围时,目标确实看起来要小得多——就大小/关系而言,要小多少?!
    在10米的距离上,知道目标的大小,是不是简单到划分30厘米/1000厘米?我不需要做一些罪恶/因为功夫吗?那么2厘米的范围呢,假设它是我的整个视野——它肯定在方程式的某个地方。

    我不想在这里重新发明轮子,所有的自我射击者都已经自动地做到了,但我只是不能找到一个正确的公式,一些指针? 我在寻找范围内目标的大小 ,或者在 绝对的 数字(5毫米)或英寸 相对的 数字假设范围是视场的100%,目标将占据范围视场的1/10。

    1 回复  |  直到 11 年前
        1
  •  4
  •   winwaed    14 年前

    没有三角,但要正确地做,你需要毕达哥拉斯。

    请参见末尾的缩放: http://en.wikipedia.org/wiki/3D_projection#Perspective_projection

    根据从眼睛到屏幕的距离(假设为常数)和从眼睛到被绘制对象的距离的比率进行缩放。后一种测量是用毕达哥拉斯(10米和30厘米形成的三角形的斜边,即Sqrt(10*10+0.3*0.3))计算的

    请注意,通过改变眼睛到屏幕的常数,您可以有效地改变“相机”的焦距。