【问题标题】:Find point in 3D plane在 3D 平面中查找点
【发布时间】:2014-07-03 22:15:44
【问题描述】:

我在 3D 空间中有四个点,例如:

(0,0,1)
(1,0,1)
(1,0,2)
(0,0,2)

然后我在那个正方形平面上有一个二维位置:

x = 0.5
y = 0.5

我需要找出平面中该位置的 3D 空间点。在这个例子中很简单:(0.5,0,1.5),因为 Y 为零。但是想象一下 Y 不为零(并且不完全一样),飞机向某个方向倾斜。在这种情况下我将如何计算分数?

我想这应该是一件很容易解决的事情,但我想不通。如果可能,请用编程术语而不是直接的数学术语回答。

更新图像:灰色平面(由两个三角形组成)是实际存在的真实平面。我在此之上创建了一个不存在的平面,ABCD 角完全相同,但它不倾斜。我需要做的是将一个像素(例如蓝色)从不存在的平面投影到现有的平面。它将位于完全相同的位置,只是它从倾斜平面获得了 Y 值。

(实际上无法显示图像,因为我需要 10 声望才能显示它,wtf?)

到目前为止,我自己能够解决的是在灰色平面和三角形法线中使用两个三角形中的哪一个。我基本上只需要弄清楚如何投影像素。

【问题讨论】:

    标签: math 3d unity3d point plane


    【解决方案1】:

    感谢http://gamedeveloperjourney.blogspot.com/2009/04/point-plane-collision-detection.html

    让我意识到我必须更接近地验证法线,结果我的平面网格被渲染与垂直的实际坐标略有不同。难怪这很难做到!像素被正确投影但渲染不正确。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-19
      相关资源
      最近更新 更多