用于查找点的坐标的算法,该点是3D中关于线的点的反射

时间:2014-03-30 16:25:33

标签: algorithm matlab geometry

我目前正在研究Matlab上的一个项目,我需要找到一个反映在一条线上的点的坐标。我知道如何在2D中做到这一点,但在3D中,事情变得越来越难看。

因此,我们有一条线经过两个点A(x1,y1,z1)和B(x2,y2,z2)。 P1(x0,y0,z0)反映在该线上,我需要一个算法来找到P1的反射坐标。

1 个答案:

答案 0 :(得分:0)

首先,找到点P到线AB的投影L.

L = A + AB * ScalarProduct(AB, AP) / ScalarProduct(AB, AB)

然后计算反射

P' = P + 2*(L-P) = 2*L-P