空间中两个平面求交线

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

话题:给出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。


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

ACM 很全计算几何模板 基础部分 1.几何公式 5 1.1三角形 5 1.2四边形 5 1.3正n边形 5 1.4圆 5 1.5棱柱 6 1.6棱锥 6 1.7棱台 6 1.8圆柱 6 1.9圆锥 6 1.10圆台 7 1.11球 7 1.12球台 7 1.13球扇形 7 2.直线与线段 7 2.0预备函数 7 2.1判三点是否共线 8 2.2判点是否在线段上 9 2.3判断点在线段同一侧 9 2.4判断点是否在线段异侧 9 2.5点关于直线对称点 10 2.7判断线段是否相交 10 2.7.1常用版 10 2.7.2不常用版 11 2.8 条直线交点 11 2.9点到直线最近距离 12 2.10点到线段最近距离 12 3.多边形 12 3.0 预备浮点函数 12 3.1判定是否是凸多边形 13 3.2判定点是否在多边形内 14 3.3 判定一条线段是否在一个任意多边形内 15 4. 三角形 16 4.0预备函数 16 4.1三角形外心 17 4.2三角形内心 17 4.3三角形垂心 17 5. 圆 18 5.0预备函数 18 5.1判定直线是否与圆相交 19 5.2判定线段与圆相交 19 5.3判圆和圆相交 19 5.4计算圆上到点p最近点 19 5.5计算直线与圆交点 20 5.6计算两个交点 20 6. 球面 21 6.0给出地球经度纬度,计算圆心角 21 6.1已知经纬度,计算地球上点直线距离 21 6.2已知经纬度,计算地球上点球面距离 21 7. 三维几何若干模板 22 7.0预备函数 22 7.1判定三点是否共线 23 7.2判定四点是否共面 23 7.1判定点是否在线段上 23 7.2判断点是否在空间三角形上 24 7.3判断点是否在线段同侧 24 7.4判断点是否在线段异侧 25 7.5判断点是否在平面同侧 25 7.6判断点是否在平面异侧 25 7.7判断空间直线是否平行 25 7.8判断平面是否平行 26 7.9判断直线是否与平面平行 26 7.10判断直线是否垂直 26 7.11判断平面是否垂直 26 7.12判断空间线段是否相交 27 7.13判断线段是否与空间三角形相交 27 7.14计算条直线交点 28 7.15计算直线与平面交点 28 7.16计算平面交线 29 7.17点到直线距离 29 7.18 计算点到平面距离 29 7.19计算直线到直线距离 30 7.20空间直线夹角cos值 30 7.21平面夹角cos值 30 7.22直线与平面夹角sin值 31 1.最远曼哈顿距离 31 2. 最近点对 32 3. 最近点对 34 4. 最小包围圆 36 5. 两个交点 39 6. 三角形外接圆圆心 40 7. 凸包 42 8.凸包卡壳旋转出所有对踵点、最远点对 44 9. 凸包+旋转卡壳平面面积最大三角 47 10. Pick定理 50 11. 多边形面积和重心 51 12. 判断一个简单多边形是否有核 52 13. 模拟退火 54 14. 六边形坐标系 56 15. 用一个给定半径圆覆盖最多点 60 16. 不等大圆弧表示 62 17. 矩形面积并 62 18. 矩形周长并 66 19. 最近圆对 70 20. 两个面积交 74

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

闪电彬彬

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值