1

平面的表示方法和坐标系变换

 1 year ago
source link: https://charon-cheung.github.io/2022/12/03/%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/%E5%B9%B3%E9%9D%A2%E7%9A%84%E8%A1%A8%E7%A4%BA%E6%96%B9%E6%B3%95%E5%92%8C%E5%9D%90%E6%A0%87%E7%B3%BB%E5%8F%98%E6%8D%A2/#%E6%B3%95%E5%90%91%E9%87%8F-%E8%B7%9D%E7%A6%BB%E5%BD%A2%E5%BC%8F
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
平面的表示方法和坐标系变换
2022-12-03|数学基础|
Word count: 364|Reading time: 1 min

高中学过的表示方法为 ax+by+cz=dax+by+cz=d,法向量为 (a,b,c)T(a,b,c)T。这里涉及到了归一化问题,两边可以乘以系数,还是同一个平面,也可以说法向量是不唯一的。但如果给出了一般式 ax+by+cz=Dax+by+cz=D,就说法向量为 (a,b,c)T(a,b,c)T

空间内一点(x0,y0,z0)(x0,y0,z0) 到平面的距离是 |ax0+by0+cz0|a2+b2+c2√|ax0+by0+cz0|a2+b2+c2,如果已经归一化,那么分母就是 1

法向量可以看做平面上两个向量的叉积。

法向量 * 距离形式

N为法向量(1x3的向量),那么[N, d]或者(N | d)为1x4的向量,其中d为平面到原点的距离。

现在平面的表示形式(无论哪种)都是基于坐标系A,另有一个坐标系B,从B到A的变换矩阵是M(4x4),那么平面在坐标系B下的表示形式是什么?

向量 P=(a,b,c,d)P=(a,b,c,d),注意不是法向量,平面上一点为 v=(x,y,z,1)v=(x,y,z,1),那么 PTv=0PTv=0,经过变换后,点v变成了 v′v′,那么有 P′Mv=0P′Mv=0,也就有P′Mv=PTvP′Mv=PTv,因此可得 P′=(M−1)TpP′=(M−1)Tp,M矩阵的逆根据《SLAM十四讲》的公式3.13可以直接写出,最后根据 P′P′ 写成一般式

感觉这样推导并不严谨,但可以这样理解。

参考:OpenGL Normal Vector Transformation


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK