【问题标题】:z-value of a projected 3d point投影 3d 点的 z 值
【发布时间】:2011-06-03 10:58:44
【问题描述】:

在一个 3d 点被透视投影矩阵变换后,Z 坐标代表什么?与“眼睛”的距离?与近剪裁平面的距离?这些都没有?

编辑

我已经使用here 找到的 glFustrum 定义设置了一个矩阵。

然后,我使用该矩阵转换一个 3D 点。

我留下了一个 3D 点,其中 X 和 Y 是近截锥面上点的坐标,Z 是我很难利用的深度信息。

谢谢!

【问题讨论】:

  • 你能举例说明你在做什么吗?通常投影矩阵为 4x3,即生成的向量将不包含 z 坐标。

标签: graphics matrix 3d projection frustum


【解决方案1】:

转换后的 z(用作划分 x 和 y 的分母)是眼睛在垂直方向上与投影平面的距离,缩放后投影平面的距离为 1。

【讨论】:

  • 实际上,我将 x、y 和 z 除以 w。不就是所谓的“透视划分”吗?我的大脑好痛!
  • OpenGL 方法使用了我从未发现有用的“剪切坐标”(剪切最好在对象空间中完成),这就是我习惯 w=z 的原因。然而,即使包括该步骤,w 坐标仍然是距投影平面的归一化距离,除了纯缩放之外不应改变 z。换句话说,要从眼睛坐标到剪辑坐标,您只需更改 x 和 y 以“拉直”相机的侧面,从而将截断的金字塔转换为立方体。
【解决方案2】:

对我来说已经有一段时间了,但是如果你在平截头体上有 X 和 Y 坐标,Z 不是控制层顺序吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-01
    • 1970-01-01
    • 2019-04-22
    • 1970-01-01
    • 1970-01-01
    • 2010-09-12
    • 1970-01-01
    相关资源
    最近更新 更多