我在3D空间中有四个点,例如:
(0,0,1)
(1,0,1)
(1,0,2)
(0,0,2)
然后我在那个方形平面上有一个2D位置:
x = 0.5
y = 0.5
我需要找出平面中该位置的3D空间点。在这个例子中,它很简单:(0.5,0,1.5)
,因为Y为零。但是想象一下,Y不是零(并且不是全部相同),即飞机在某个方向倾斜。在这种情况下,我如何计算点数?
我想这应该是一个很容易解决的问题,但我无法弄明白。如果可能的话,请用编程术语回答,而不是用简单的数学术语回答。
使用图片更新:灰色平面(由两个三角形组成)是实际存在的真实平面。我在它上面创建了一个不存在的平面,ABCD角是完全相同的,但它并没有倾斜。我需要做的是将一个像素(例如蓝色)投影到不存在的平面到现有平面。它将在完全相同的位置,除了它从倾斜平面获得Y值。
(实际上无法显示图像,因为我需要10个声誉才能显示它,wtf?)
我自己迄今为止能够解决的问题是在灰色平面和三角形法线中使用的两个三角形中的哪一个。我基本上只需要弄清楚如何投影像素。
答案 0 :(得分:0)
主要归功于http://gamedeveloperjourney.blogspot.com/2009/04/point-plane-collision-detection.html
让我意识到我必须更接近地验证法线,结果我的平面的网格呈现出与垂直的实际坐标略有不同。难怪这太难了!像素被正确投影但渲染不正确。