3D空间中的平面对称点
我们的问题:给定空间中不共线的三个点,其中两个点P,Q用来确定一个平面,使这两个点关于平面镜面对称,求另个一个点R关于这个平面的镜面对称点。
方法很简单:
1)平面的确定:
平面方程是:
A*n = d, (1)
其中A是平面上一个点,而n是平面的法向,d是参数。我们在有两个点P和Q,于是A=(P+Q)/2,n=Normalize(P-Q),其中Normalize是对向量进行归一化。将A和n代入(1),可以得到d。
2)求R关于平面的镜面对称点T:
求得R到平面的距离:Dis=abs(R*n-d),因为n已经归一化,所以省略了分母部分。
根据R*n-d的符号来判断R是和P同侧还是和Q同侧:
if(R*n-d > 0) R and P are on the same side T = R - 2*Dis*n else R and Q are on the same side T = R + 2*Dis*n
目标点找到。
posted on 2012-08-13 15:44 fire_fuxm_USTC 阅读(1433) 评论(0) 编辑 收藏 举报