版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
求直线与平面的交点今天遇到一个小问题,如何求线与平面的交点,以及如何将其高效实现,下面就从数学的原理以及编程实现来探究一下这个小问题。目录文章目录问题重述与几何模型已知P1(x1,y1,z1),P2(x2,y2,z2),平面α:ax+by+cz+d=0,求直线P1P2与平面α的交点P。数学分析存在性:直线与平面的交点可能有零个,一个,或无数个。可行性:已知直线上不重合两点,可以确定一条直线,已知直线与平面,则一定可以得到两者之间的关系。###常规解法(联立方程)当P1P2不与任一坐标平面平行时:$\dfrac{x-x1}{x1-x2}=\dfrac{y-y1}{y1-y2}=\dfrac{z-z1}{z1-z2}$用xxx表示yyy和zzz:y=y1+(x1−x2)(y1−y2)x−x1y=y1+\dfrac{(x1-x2)(y1-y2)}{x-x1}y=y1+x−x1(x1−x2)(y1−y2)z=z1+(x1−x2)(z−z1)x−x1z=z1+\dfrac{(x1-x2)(z-z1)}{x-x1}z=z1+x−x1(x1−x2)(z−z1)与直线方程ax+by+cz+d=0ax+by+cz+d=0ax+by+cz+d=0联立可得:ax(x1−x2)+b((y1−y2)(x−x1)+y1(x1−x2))+c((z1−z2)(x−x1)+z1(x1−x2))+d=0ax(x1-x2)+b((y1-y2)(x-x1)+y1(x1-x2))+c((z1-z2)(x-x1)+z1(x1-x2))+d=0ax(x1−x2)+b((y1−y2)(x−x1)+y1(x1−x2))+c((z1−z2)(x−x1)+z1(x1−x2))+d=0解该方程即可得:x=(−d+bx1(y1−y2)−by1(x1−x2)+cx1(z1−z2)−cz1(x1−x2))a(x1−x2)+b(y1−y2)+c(z1−z2)x=\dfrac{(-d+bx1(y1-y2)-by1(x1-x2)+cx1(z1-z2)-cz1(x1-x2))}{a(x1-x2)+b(y1-y2)+c(z1-z2)}x=a(x1−x2)+b(y1−y2)+c(z1−z2)(−d+bx1(y1−y2)−by1(x1−x2)+cx1(z1−z2)−cz1(x1−x2))然后即可得到y,zy,zy,z。:该方法原理简单,容易理解,在一般考试解题中使用较多,但是不容易步骤化,编程实现需要很多判断,代码比较繁琐。###向量法当已知平面的一般式方程时(ax+by+cz+d=0ax+by+cz+d=0ax+by+cz+d=0),n⃗=(a,b,c)′\vecn=(a,b,c)'n=(a,b,c)′就是平面的法矢量,也就能够很容易求出点到平面的距离和一个向量到法矢量的投影。由前面的几何模型,我们容易得出:P1P2→P1P→=P1D2→P1D→=∣P1D2→∣∣P1D→∣=n\dfrac{\overrightarrow{P1P2}}{\overrightarrow{P1P}}=\dfrac{\overrightarrow{P1D2}}{\overrightarrow{P1D}}=\dfrac{\lvert\overrightarrow{P1D2}\rvert}{\lvert\overrightarrow{P1D}\rvert}=nP1PP1P2=P1DP1D2=∣P1D∣∣P1D2∣=n其中:∣P1D→∣=ax1+by1+cz1+da2+b2+c2\lvert\overrightarrow{P1D}\rvert=\dfrac{ax1+by1+cz1+d}{\sqrt{a^{2}+b^{2}+c^{2}}}∣P1D∣=a2+b2+c2ax1+by1+cz1+d∣P1D2→∣=a(x2−x1)+b(y2−y1)+c(z2−z1)a2+b2+c2\lvert\overrightarrow{P1D2}\rvert=\dfrac{a(x2-x1)+b(y2-y1)+c(z2-z1)}{\sqrt{a^{2}+b^{2}+c^{2}}}∣P1D2∣=a2+b2+c2a(x2−x1)+b(y2−y1)+c(z2−z1)可得:n=∣P1D2→∣∣P1D→∣=a(x2−x1)+b(y2−y1)+c(z2−z1)ax1+by1+cz1+dn=\dfrac{\lvert\overrightarrow{P1D2}\rvert}{\lvert\overrightarrow{P1D}\rvert}=\dfrac{a(x2-x1)+b(y2-y1)+c(z2-z1)}{ax1+by1+cz1+d}n=∣P1D∣∣P1D2∣=ax1+by1+cz1+da(x2−x1)+b(y2−y1)+c(z2−z1)易得:OP→=OP1→+P1P→=OP1→+nP1P2→\overrightarrow{OP}=\overrightarrow{OP1}+\overrightarrow{P1P}=\overrightarrow{OP1}+n\overrightarrow{P1P2}OP=OP1+P1P=OP1+nP1P2上面过程主要使用向量运算,巧妙避开了求模运算中的开方运算,减少了很多的运算量,而且,容易步骤化,易于编程实现。##编程实现###常规解法。//c//p[]:XYZforpointP(intersection)//P1[]:XYZforP1//P2[]:XYZforP2//coffi[]:a,b,c,dfortheplaneboolintersectionLinePlane(floatP[],floatP1[],floatP2[],floatcoeffi[]){floatP1P2[3]={0};floattemp_x=P1[0]-P2[0],temp_y=P1[1]-P2[1],temp_z=P1[2]-P2[2];inti=0;for(i=0;i<3;i++){P1P2[i]=P2[i]-P1[i];}//parallel?if(fabs(P1P2[0]*coeffi[0]+P1P2[1]*coeffi[1]+P1P2[2]*coeffi[2])<1e-5){//nointersectionorthelineisontheplanereturnfalse;}//ifitcan'tbesolvebythismethod?if(fabs(temp_x)<1e-5||fabs(temp_y)<1e-5||fabs(temp_z)<1e-5){returnfalse;}*des_x=(-coeffi[3]*temp_x+b*P1[0]*temp_y-coeffi[1]*P1[1]*temp_x+coeffi[2]*p1[0]*temp_z-coeffi[2]*P1[2]*temp_x)/(coeffi[0]*temp_x+coeffi[1]*temp_y+coeffi[2]*temp_z);*des_y=(*des_x-P1[0])*temp_y/temp_x+P1[1];*des_z=(*des_x-P1[0])*temp_z/temp_x+P1[2];returntrue;}。###向量解法//C//p[]:XYZforpointP(intersection)//P1[]:XYZforP1//P2[]:XYZforP2//coffi[]:a,b,c,dfortheplaneboolintersectionLinePlane(floatP[],floatP1[],floatP2[],floatcoeffi[]){floatP1P2[3]={P2[0]-P1[0],P2[1]-P1[1],P2[2]-P1[2]};inti=0;floatnum,den,n;num=coeffi[0]*P1[0]+coeffi[1]*P1[1]+coeffi[2]*P1[2]+coeffi[3];den=coeffi[0]*P1P2[0]+coeffi[1]*P1P2[1]+coeffi[2]*P1P2[2];if(fabs(d
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 成列合同范例
- 拆除服务合同范例
- 托盘木料供货合同模板
- 市场开发咨询合同模板
- 房屋平面设计合同模板
- 居民房屋装修合同范例谁有
- 中专合作办学合同范例
- 房屋租赁合同补充合同范例
- 共同交易二手房合同范例
- 2024年马鞍山小型客运从业资格证考试培训试题和答案
- 2024年国家公务员考试《行测》真题卷(行政执法)答案和解析
- 消化内科五年发展规划
- 车辆采购服务投标方案(技术方案)
- 中国融通集团招聘笔试题
- 生猪屠宰兽医卫生检验人员理论考试题库及答案
- 《陆上风电场工程设计概算编制规定及费用标准》(NB-T 31011-2019)
- 4.与食品经营相适应的主要设备设施布局操作流程等文件
- Mysql 8.0 OCP 1Z0-908 CN-total认证备考题库(含答案)
- 2023年春江苏开放大学《江苏红色文化》过程性考核作业一二和综合大作业+参考答案
- 猎人海力布课本剧剧本
- 雨污水管道工程施工进度表1
评论
0/150
提交评论