|
发表于 2009-7-6 12:59:17
|
显示全部楼层
可以用手算吧:
osg:: vec3d p1,p2,p3; //p1,p2,p3是待求平面上不共线的三点
osg:: dir1,dir2,dir;
dir1 = p1-p3;
dir2 = p2-p3; //dir1,dir2是两个矢量
dir = dir1*dir2; //向量的叉乘,叉积的结果是平面的法向量(叉积的定义)
dir = dir.normalize(); //归一化
//平面的点法式方程为:dir._v[0]*(x-p1._v[0]) + dir._v[1]*(y-p1._v[1]) + dir._v[2]*(z-p1._v[2]) = 0
//展开上式为一般式: Ax + By + Cz + D = 0;
其中:
A = dir._v[0]
B = dir._v[1]
C = dir._v[2]
D = -(dir_v[0]*p1._v[0] + dir._v[1]*p1._v[1] + dir._v[2]*p1._v[2]) |
|