空间中两个平面求交线

欢迎关注更多精彩
关注我,学习常用算法与数据结构,一题多解,降维打击。

话题:给出2个平面方程,求解交线方程
A 1 x + B 1 y + C 1 z + D 1 = 0 A_1x+B_1y+C_1z+D_1=0 A1x+B1y+C1z+D1=0

A 2 x + B 2 y + C 2 z + D 2 = 0 A_2x+B_2y+C_2z+D_2=0 A2x+B2y+C2z+D2=0

基本思路

一条直线可以用以下形式表示
P = O + t ⋅ D P=O+t·D P=O+tD

O 为 直 线 上 一 点 , D 为 方 向 向 量 O为直线上一点,D为方向向量 O线D


对于两个平面,只要确定D和O就可以确定这条交线。

就可以将问题分解成两个子问题:

  1. 求解直线方向向量
  2. 求解交线上一点

求解直线方向向量


交线肯定在平面1和平面2上,所以跟平面1,平面2的法线都垂直。
只需要将N1,N2 作叉乘即可求出交线方向。
当N1, N2平行时,按照无交线处理

求解交线上一点

在上述条件有交线的情况下,求解交线上一点。
可设z=0, 得到2条方程
A 1 x + B 1 y + D 1 = 0 A_1x+B_1y+D_1=0 A1x+B1y+D1=0

A 2 x + B 2 y + D 2 = 0 A_2x+B_2y+D_2=0 A2x+B2y+D2=0

解出上述x, y即可得到一点。

特殊情况
当遇到z=?, x=?, y=? 特殊平面方程时,要换0坐标轴。
可使x=0或y=0。

总结

通过以上两步解出交线上一点O和直线方向后D。
直线方程为 P=O+t·D。


本人码农,希望通过自己的分享,让大家更容易学懂计算机知识。

  • 9
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值