【问题标题】:Finding a point in 3d space on a plane using 2d coordinates使用 2d 坐标在平面上的 3d 空间中查找一个点
【发布时间】:2020-03-16 08:23:01
【问题描述】:

visualization

我正在搜索位于平面上的点的位置。平面上的相对位置以 u/v 坐标给出。 法线向量n等于从(0,0,0)到平面中心的向量(或者任何其他距离≠0,如果更方便的话)

平面没有围绕 n 向量旋转 - u 始终在 xy 轴上,v 在 z(上)轴上

我觉得应该有一个简单的公式,给定 Vector3 n 以及坐标 u 和 v,但我被困在这里。

【问题讨论】:

  • 由于平面可以绕n旋转而不改变点的u,v坐标,所以没有足够的信息来定位空间中的点。
  • 对,那行不通。平面始终像图片中一样定向,u 在水平面上,v 在垂直轴上(在问题中编辑)
  • 您的输入和预期输出是什么?法线向量本身位于 u 和 v 应该位于的一个或两个平面中的边缘情况呢?
  • 输入是双精度的 u 和 v,以及作为 vector3(双精度)的 n。 u 和 v 位于向量 n 构成的平面内,因此始终垂直于它。

标签: math


【解决方案1】:

你有平面原点的坐标,即(x, y, z)

现在我们需要全局坐标中的单位向量 uv

u 是 (y, -x, 0),归一化。

v 是 (-zx/r, -zy/r, r),归一化,其中 r=(x2+y2)1/2

现在您可以将 uv 坐标中点的位置添加到 xyz 坐标中平面原点的位置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-20
    • 2022-11-28
    • 1970-01-01
    • 1970-01-01
    • 2022-01-07
    • 2011-09-02
    相关资源
    最近更新 更多