平面法向量的求法
- 格式:ppt
- 大小:298.00 KB
- 文档页数:9


法向量的快速求法
法向量的快速求法可以通过以下方法实现:
1. 对于平面上的一个向量,其法向量可以通过求其逆时针旋转90度得到,即将向量(x,y)变为(-y,x)。
2. 对于三维空间中的一个向量,其法向量可以通过向量积(又称为叉积)求得。
设a和b是两个不共线的向量,则它们的向量积a×b是一个向量,其大小等于以a和b为邻边所构成的平行四边形的面积,方向垂直于这个平行四边形,满足右手定则。
向量积的计算公式为:
a ×
b = (aybz −azby,azbx −axbz,axby −aybx)
其中,aybx表示a向量y分量与b向量x分量相乘。
3. 对于曲面上的一个点P,其法向量可以通过求其切平面的法向量得到。
曲面的切平面包含该点的所有切线,其法向量指向切平面凸出的一侧。
切平面的法向量可以通过对曲面方程求偏导数得到。
空间平面法向量求法一、法向量定义定义:如果,那么向量叫做平面的法向量。
平面的法向量共有两大类(从方向上分),无数条。
二、平面法向量的求法1、内积法在给定的空间直角坐标系中,设平面的法向量=(x,y,1)[或=(x,1,z)或=(1,y,z)],在平面内任找两个不共线的向量,。
由,得·=0且·=0,由此得到关于x,y的方程组,解此方程组即可得到。
2、任何一个x,y,z的一次方程的图形是平面;反之,任何一个平面的方程是x,y,z的一次方程。
Ax+By+Cz+D=0(A,B,C不同时为0),称为平面的一般方程。
其法向量=(A,B,C);若平面与3个坐标轴的交点为P(a,0,0),P(0,b,0),P(0,0,c),则平面方程为:,称此方程为平面的截距式方程,把它化为一般式即可求出它的法向量。
3、外积法设,为空间中两个不平行的非零向量,其外积×为一长度等于||||sinθ,(θ为两者交角,且0<θ<π,而与,, 皆垂直的向量。
通常我们采取“右手定则”,也就是右手四指由的方向转为的方向时,大拇指所指的方向规定为×的方向,×=-×。
设=(x1,y1,z1),=(x2,y2,z2),则×=(注:1、二阶行列式:;2、适合右手定则。
)Codepublic double[] GetTriangleFunction(ESRI.ArcGIS.Geometry.IPoint point1,ESRI.ArcGIS.Geometry.IPoint point2, ESRI.ArcGIS.Geometry.IPoint point3){try{double a = 0, b = 0,c=0; //方程参数double x1 = 0, x2 = 0, x3 = 0, y1 = 0, y2 = 0, y3 = 0, z1 = 0, z2 = 0, z3 = 0; //各点坐标值double[] returnValue = new double[3];x1 = point1.X * 1000;y1 = point1.Y * 1000;z1 = point1.Z * 1000;x2 = point2.X * 1000;y2 = point2.Y * 1000;z2 = point2.Z * 1000;x3 = point3.X * 1000;y3 = point3.Y * 1000;z3 = point3.Z * 1000;//向量I1double[] I1 = new double[3];I1[0] = x2 - x1;I1[1] = y2 - y1;I1[2] = z2 - z1;//向量I2double[] I2 = new double[3];I2[0] = x3 - x1;I2[1] = y3 - y1;I2[2] = z3 - z1;double X1 = I1[0];double Y1 = I1[1];double Z1 = I1[2];double X2 = I2[0];double Y2 = I2[1];double Z2 = I2[2];a = Y1 * Z2 - Y2 * Z1;b = X2 * Z1 - X1 * Z2;c = X1 * Y2 - X2 * Y1;returnValue[0] = a;returnValue[1] = b;returnValue[2] = c;return returnValue;}catch (Exception e){throw e;}}OPENGL里面就这样实现void getNormal(GLfloat gx[3],GLfloat gy[3], GLfloat gz[3],GLfloat *ddnv){GLfloat w0,w1,w2,v0,v1,v2,nr,nx,ny,nz;w0=gx[0]-gx[1]; w1=gy[0]-gy[1];w2=gz[0]-gz[1];v0=gx[2]-gx[1]; v1=gy[2]-gy[1];v2=gz[2]-gz[1];nx=(w1*v2-w2*v1);ny=(w2*v0-w0*v2);nz=(w0*v1-w1*v0);nr=(GLfloat)sqrt(nx*nx+ny*ny+nz*nz); //向量单位化。
快速求平面的法向量
用向量方法做立几题,必须会的一种功夫是求平面的法向量。
不少理科同学为经常算错平面的法向量而苦恼,下面介绍一种快速求平面的法向量方法,简直就是秒杀。
结论:向量a r =(x 1,y 1,z 1),b r
=(x 2,y 2,z 2)是平面α内的两个不共线向量,则向量 n r
=(y 1z 2-y 2z 1,-(x 1z 2-x 2z 1),x 1y 2-x 2y 1)是平面α的一个法向量.
如果用二阶行列式表示,则
n r =(1
12
2
y z y z ,-
112
2
x z x z ,
112
2
x y x y ) ,这更便
于记忆和计算.
结论证明(用矩阵与变换知识可以证明,此处
略去),但你可以验证 n r
一定满足0
m a m b ⎧•=⎪⎨•=⎪⎩u r r u
r r ⇔111222
00x x y y z z x x y y z z ++=⎧⎨++=⎩; 而且∵a r 、b r 不共线,∴n r 一定不是0r
.
怎样用该结论求平面的法向量呢?举例说明.
例、向量a r =(1,2,3),b r
=(4,5,6)是平
面α内的两个不共线向量,求平面α的法向量
解:设平面α的法向量为n r
=(x ,y ,z ),
则00n a n b ⎧•=⎪⎨•=⎪⎩r r r r ⇒2304560x y z x y z ++=⎧⎨
++=⎩ 令z =1,得n r
=(1,-2,1).
注意:
① 一定按上述格式书写,否则易被扣分.
② n r
的计算可以在草稿纸上完成,过程参照右边“草稿纸上演算过程”.。