python 空间法向量可视化_三维空间中平面的法向量计算

三维空间中平面的法向量计算取平面上三点分别为: P1(x1,y1,z1), P2(x2,y2,z2), P3(x3,y3,z3), 设法向量为(dx,dy,dz), 则法向量满足以下等式:(x2-x1)*dx+(y2-y1)*dy+(z2-z1)*dz=0;(x3-x1)*dx+(y3-y1)*dy+(z3-z1)*dz=0;(x3-x2)*dx+(y3-y2)*dy+(z3-z2)*dz=0...
摘要由CSDN通过智能技术生成



三维空间中平面的法向量计算

取平面上三点分别为: P1(x1,y1,z1), P2(x2,y2,z2), P3(x3,y3,z3), 设法向量为(dx,dy,dz), 则法向量满足以下等式:

(x2-x1)*dx+(y2-y1)*dy+(z2-z1)*dz=0;

(x3-x1)*dx+(y3-y1)*dy+(z3-z1)*dz=0;

(x3-x2)*dx+(y3-y2)*dy+(z3-z2)*dz=0;本质即为求解三个未知数三个方程的方程组,依据克莱姆法则,计算法向量如下:

bool flag=CalNormalVector(x1,y1,z1,x2,y2,z2,x3,y3,z3,dx,dy,dz);

if(flag)

{

//求解成功

}

else

{

//没有法向量

}

bool CalNormalVector(float x1,float y1,float z1,float x2,float y2,float z2,float x3,float y3,float z3,

float &dx,float &dy,float &dz)

{

//float a1,a2,b1,b2,c1,c2;

//

float _a1=x2-x1; float _b1=y2-y1; float _c1=z2-z1;

float _a2=x3-x1; float _b2=y3-y1; float _c2=z3-z1;

float

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值