日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

图形学中求平面方程系数以及法向量

發(fā)布時(shí)間:2023/12/13 综合教程 24 生活家
生活随笔 收集整理的這篇文章主要介紹了 图形学中求平面方程系数以及法向量 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

已知三點(diǎn)p1(x1,y1,z1),p2(x2,y2,z2),p3(x3,y3,z3),要求確定的平面方程

關(guān)鍵在于求出平面的一個(gè)法向量,為此做向量p1p2(x2-x1,y2-y1,z2-z1),p1p3(x3-x1,y3-y1,z3-z1),平面法線和這兩個(gè)向量垂直,因此法向量n:

平面方程:a(x-x1)+b(y-y1)+c(z-z1)=0;

d=-a*x1-b*y1-c*z1。

平面平面方程為ax+by+cz+d=0。

//已知3點(diǎn)坐標(biāo),求平面ax+by+cz+d=0;

void get_panel(Point p1,Point p2,Point p3,double &a,double &b,double &c,double &d)

{

a = ( (p2.y-p1.y)*(p3.z-p1.z)-(p2.z-p1.z)*(p3.y-p1.y) );

b = ( (p2.z-p1.z)*(p3.x-p1.x)-(p2.x-p1.x)*(p3.z-p1.z) );

c = ( (p2.x-p1.x)*(p3.y-p1.y)-(p2.y-p1.y)*(p3.x-p1.x) );

d = ( 0-(a*p1.x+b*p1.y+c*p1.z) );

}

// 已知三點(diǎn)坐標(biāo),求法向量

Vec3 get_Normal(Point p1,Point p2,Point p3)

{

a = ( (p2.y-p1.y)*(p3.z-p1.z)-(p2.z-p1.z)*(p3.y-p1.y) );

b = ( (p2.z-p1.z)*(p3.x-p1.x)-(p2.x-p1.x)*(p3.z-p1.z) );

c = ( (p2.x-p1.x)*(p3.y-p1.y)-(p2.y-p1.y)*(p3.x-p1.x) );

return Vec3(a,b,c);

}

//點(diǎn)到平面距離

double dis_pt2panel(Point pt,double a,double b,double c,double d){

return f_abs(a*pt.x+b*pt.y+c*pt.z+d)/sqrt(a*a+b*b+c*c);

}

————————————————
版權(quán)聲明:本文為CSDN博主「zhouschina」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/zhouschina/java/article/details/8784908

總結(jié)

以上是生活随笔為你收集整理的图形学中求平面方程系数以及法向量的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。