明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1794|回复: 5

已知两平面方程,求交线方程

[复制链接]
发表于 2020-9-8 14:43:24 | 显示全部楼层 |阅读模式
3明经币
已知两相交平面 A1x+B1y+C1z+D1=0 和 A2x+B2y+C2z+D2=0 平面交线可能平行于 Xy平面或Yz平面或Xz平面 ,令Z=0求出的方程,好像并不是通用的,求大神指点

最佳答案

查看完整内容

这里提供一个程序,以供参考。
发表于 2020-9-8 14:43:25 | 显示全部楼层
这里提供一个程序,以供参考。

  1. ;;;-------------------------------------------------------------
  2. ;;; 功能: 求两空间平面的交线                                 
  3. ;;; 输入: 两空间平面,满足平面方程: Ax+By+Cz+D=0               
  4. ;;; 输出: 如果存在交线则输出交线上两点。                        
  5. ;;; 附注: 以后简化这段。                                       
  6. ;;;-------------------------------------------------------------
  7. (defun PLANE:Inters (plane1 plane2 / A1 A2 B1 B2 C1 C2 D1 D2 F G H M N)
  8.   (setq A1 (car plane1) B1 (cadr plane1) C1 (caddr plane1) D1 (cadddr plane1))
  9.   (setq A2 (car plane2) B2 (cadr plane2) C2 (caddr plane2) D2 (cadddr plane2))
  10.   (cond
  11.     ( (/= (setq F (- (* A1 B2) (* A2 B1))) 0)
  12.       (setq G (- (* B1 D2) (* B2 D1)))
  13.       (setq H (- (* D1 A2) (* D2 A1)))
  14.       (setq M (- (* B1 C2) (* B2 C1)))
  15.       (setq N (- (* C1 A2) (* C2 A1)))
  16.       (list
  17.   (list (/ G F) (/ H F) 0)
  18.   (list (/ (+ G M) F) (/ (+ H N) F) 1)
  19.       )
  20.     )
  21.     ( (/= (setq F (- (* B1 C2) (* B2 C1))) 0)
  22.       (setq G (- (* C1 D2) (* C2 D1)))
  23.       (setq H (- (* D1 B2) (* D2 B1)))
  24.       (setq M (- (* A1 C2) (* A2 C1)))
  25.       (setq N (- (* A1 B2) (* A2 B1)))
  26.       (list
  27.   (list 0 (/ G F) (/ H F) )
  28.   (list 1 (/ (+ G M) F) (/ (+ H N) F))
  29.       )
  30.     )
  31.     ( (/= (setq F (- (* C1 A2) (* C2 A1))) 0)
  32.       (setq G (- (* A1 D2) (* A2 D1)))
  33.       (setq H (- (* D1 C2) (* D2 C1)))
  34.       (setq M (- (* A1 B2) (* A2 B1)))
  35.       (setq N (- (* B1 C2) (* B2 C1)))
  36.       (list
  37.   (list (/ H F) 0 (/ G F))
  38.   (list (/ (+ H N) F) 1 (/ (+ G M) F))
  39.       )
  40.     )
  41.   )
  42. )

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
回复

使用道具 举报

 楼主| 发表于 2020-9-17 13:10:29 来自手机 | 显示全部楼层
多谢鸟叔,我试试
回复

使用道具 举报

 楼主| 发表于 2020-9-17 14:55:02 | 显示全部楼层
highflybir 发表于 2020-9-8 14:43
这里提供一个程序,以供参考。

你这个结果基本没问题,我 想求得是交线上任意一点,就是靠近鼠标点击处的,因为有的两平面 距离原点0,0,0 太远了,求出来的交线起点 就太远了
回复

使用道具 举报

发表于 2020-9-17 15:05:56 | 显示全部楼层
纵横八方 发表于 2020-9-17 14:55
你这个结果基本没问题,我 想求得是交线上任意一点,就是靠近鼠标点击处的,因为有的两平面 距离原点0,0, ...

获取已知点的坐标值,然后通过此点的坐标值,和直线的坐标矢量,就可以得到接近点的交线。
回复

使用道具 举报

发表于 2021-2-13 21:10:27 | 显示全部楼层
太厉害了,正好需要这个
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-4-5 08:57 , Processed in 0.189177 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表