Flash 透视投影公式问题

Flash 透视投影公式问题,flash,3d,projection,Flash,3d,Projection,我正在开发3d flash游戏,我的问题很简单 如何将三维点转换为二维点 我在互联网上找到了下一个公式(相机位于原点) x'=x/z y'=y/z 比率=焦距/(焦距+z) x=x*比率 y=y*比值 但是当z小于0时,这些公式给了我奇怪的结果(z考虑z=0时的含义。这意味着你在做x/0,这是不好的——在这种情况下,这意味着点与你的相机占据相同的位置!随着z变小,这意味着点在你的相机后面,所以你根本不应该渲染它们 必须剔除(而不是渲染)“屏幕后面”的任何点。选择一个小z作为“近平面”,例如z=1

我正在开发3d flash游戏,我的问题很简单

如何将三维点转换为二维点

我在互联网上找到了下一个公式(相机位于原点)

  • x'=x/z y'=y/z
  • 比率=焦距/(焦距+z)
    x=x*比率
    y=y*比值

  • 但是当z小于0时,这些公式给了我奇怪的结果(z考虑z=0时的含义。这意味着你在做x/0,这是不好的——在这种情况下,这意味着点与你的相机占据相同的位置!随着z变小,这意味着点在你的相机后面,所以你根本不应该渲染它们

    必须剔除(而不是渲染)“屏幕后面”的任何点。选择一个小z作为“近平面”,例如z=1。必须在此z=1平面上剪裁任何几何体,以防止错误渲染

    对于点,可以检查
    点.z<1
    。对于线,它更复杂——必须计算线与z=1平面的交点,必要时进行剪裁


    你可以在线剪辑上找到一些信息。

    考虑一下z=0时的含义。这意味着你在做x/0,这是不好的——在这种情况下,这意味着点与你的相机占据相同的位置!随着z变小,这意味着点在你的相机后面,所以你根本不应该渲染它们

    必须剔除(而不是渲染)“屏幕后面”的任何点。选择一个小z作为“近平面”,例如z=1。必须在此z=1平面上剪裁任何几何体,以防止错误渲染

    对于点,可以检查
    点.z<1
    。对于线,它更复杂——必须计算线与z=1平面的交点,必要时进行剪裁

    你可以在线剪辑上找到一些信息