明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2161|回复: 40

[提问] 求【高飞鸟】大师与各位大神帮忙解答一个数学题,求2个面相交的真实角度。

[复制链接]
发表于 2025-3-21 12:16:28 | 显示全部楼层 |阅读模式
本帖最后由 hn10183051 于 2025-3-21 19:22 编辑



已知条件:
平面A、B与水平面的夹角分别为a=110-90度,β=125-90度;
两平面在水平面的投影交角为θ=60度(即平面投影角)
二面角为C=132度

目标参数:
相贯线在平面A中与平面A内水平线形成的夹角V1=42度;
相贯线在平面B中与平面B内水平线形成的夹角V2=24度。


V1与V2的计算公式是怎么计算出来的?

本帖子中包含更多资源

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

x
"觉得好,就打赏"
还没有人打赏,支持一下
回复

使用道具 举报

发表于 7 天前 | 显示全部楼层
本帖最后由 夏生生 于 2025-4-14 15:16 编辑
guosheyang 发表于 2025-4-11 21:31
朋友,我用这个文件中的红色线和蓝色线上的三个点(p1点为第一个点),用你的代码计算二面角和相交线,发 ...

修改了一下,逻辑有点不完整,没有判断pt是否与pt1重合,这里距离实际无所谓
  1. ;;;=============================================
  2. ;;;      通用函数  两个面夹角及交线
  3. ;;;参数: pt1/2/3------面1上三点
  4. ;;;       pt4/5/6------面2上三点
  5. ;;;返回值:两个面夹角及交线上两点
  6. ;;;根据点法式平面方程硬算
  7. ;;;MAT相关函数来自highflybir;;;<a href="http://bbs.mjtd.com/forum.php?mod=viewthread&tid=99926&extra=page%3D2%26filter%3Dtypeid%26typeid%3D108" target="_blank">http://bbs.mjtd.com/forum.php?mo ... peid%26typeid%3D108</a>
  8. ;;;xty-acos为反余弦函数,自己写一个就行
  9. (defun xty-g-angf&f  (pt1 pt2 pt3 pt4 pt5 pt6 /  abc def  ff g1 g2 g3 pt
  10.           u1 u2 v1 v2 w)   
  11. (setq v1  (mapcar (function -) pt1 pt2)
  12.     v2  (mapcar (function -) pt1 pt3)
  13.     abc (MAT:unit (MAT:vxv v1 v2))
  14.     v1  (mapcar (function -) pt4 pt5)
  15.     v2  (mapcar (function -) pt4 pt6)
  16.     def (MAT:unit (MAT:vxv v1 v2))
  17.     ff  (MAT:vxv abc def)
  18.     u1  (MAT:Dot abc pt1)
  19.     u2  (MAT:Dot def pt4)
  20.     g1  (- (* (caddr def) u1) (* (caddr abc) u2))
  21.     g2  (- (* (cadr def) u1) (* (cadr abc) u2))
  22.     g3  (- (* (car def) u1) (* (car abc) u2)))
  23.     (cond ((null (equal (setq w (car ff)) 0 1e-3))
  24.      (setq pt (list 0 (/ g1 w) (/ (- g2) w))))
  25.     ((null (equal (setq w (cadr ff)) 0 1e-3))
  26.      (setq pt (list (/ (- g1) w) 0 (/ g3 w))))
  27.     ((null (equal (setq w (caddr ff)) 0 1e-3))
  28.      (setq pt (list (/ g2 w) (/ (- g3) w) 0))))
  29. ;;;也可以输出(list (xty-acos (MAT:Dot abc def)) ff)ff为交线的单位向量
  30.     (list (xty-acos (MAT:Dot abc def))
  31.     pt
  32.     (mapcar (function +) pt (MAT:vxs ff (distance pt1 pt2)))))

回复 支持 反对

使用道具 举报

发表于 2025-3-21 17:14:04 | 显示全部楼层
如果知道面上的点可以用下面的方法
  1. ;;;=============================================
  2. ;;;      通用函数  两个面夹角及交线
  3. ;;;参数: pt1/2/3------面1上三点
  4. ;;;       pt4/5/6------面2上三点
  5. ;;;返回值:两个面夹角及交线上两点
  6. ;;;根据点法式平面方程硬算
  7. ;;;MAT相关函数来自highflybir
  8. ;;;http://bbs.mjtd.com/forum.php?mo ... peid%26typeid%3D108
  9. ;;;xty-acos为反余弦函数,自己写一个就行
  10. (defun xty-g-angf&f  (pt1 pt2 pt3 pt4 pt5 pt6 /  abc def  ff g1 g2 g3 pt
  11.           u1 u2 v1 v2 w)
  12.     (setq v1  (mapcar (function -) pt1 pt2)
  13.     v2  (mapcar (function -) pt1 pt3)
  14.     abc (MAT:unit (MAT:vxv v1 v2))
  15.     v1  (mapcar (function -) pt4 pt5)
  16.     v2  (mapcar (function -) pt4 pt6)
  17.     def (MAT:unit (MAT:vxv v1 v2))
  18.     ff  (MAT:vxv abc def)
  19.     u1  (MAT:Dot abc pt1)
  20.     u2  (MAT:Dot def pt4)
  21.     g1  (- (* (caddr def) u1) (* (caddr abc) u2))
  22.     g2  (- (* (cadr def) u1) (* (cadr abc) u2))
  23.     g3  (- (* (car def) u1) (* (car abc) u2)))
  24.     (cond ((null (equal (setq w (car ff)) 0 1e-3))
  25.      (setq pt (list 0 (/ g1 w) (/ (- g2) w))))
  26.     ((null (equal (setq w (cadr ff)) 0 1e-3))
  27.      (setq pt (list (/ (- g1) w) 0 (/ g3 w))))
  28.     ((null (equal (setq w (caddr ff)) 0 1e-3))
  29.      (setq pt (list (/ g2 w) (/ (- g3) w) 0))))
  30.     (list (xty-acos (MAT:Dot abc def))
  31.     pt
  32.     (mapcar (function +) pt (MAT:vxs ff (distance pt pt1)))))

求出交线算角就不用写了

回复 支持 反对

使用道具 举报

发表于 7 天前 | 显示全部楼层
另一种算法,三维旋转
  1. (defun tt  (ang1 ang2 ang3 / xty-g-3ptang a b c  mat1 mat2 mat3 pt0 pt1 pt12 pt2  pt22 pt3 pt4)
  2. (defun  xty-G-3ptang  (pt1 pto pt2 / a b c)
  3.   (setq  a   (MAT:v-v pto pt1)
  4.   b   (MAT:v-v pto pt2)
  5.   ang (xty-acos (/ (MAT:dot a b)
  6.        (* (MAT:norm a) (MAT:norm b))))))
  7. (setq ang1 (/ (* pi ang1) 180)
  8.        ang2 (/ (* pi (- 90 ang2)) 180)
  9.        ang3 (/ (* pi (- 90 ang3)) 180))
  10. (setq pt0  '(0 0 0)
  11.        pt1  '(1. 0 0)
  12.        pt2  '(0 0 1.)
  13.        mat1 (MAT:Rotation3D pt0 pt2 ang1)
  14.        pt3  (MAT:mxp mat1 pt1)
  15.        mat2 (MAT:Rotation3D pt0 pt1 (- ang2))
  16.        pt12 (MAT:mxp mat2 pt2)
  17.        mat3 (MAT:Rotation3D pt0 pt3 ang3)
  18.        pt22 (MAT:mxp mat3 pt2)
  19.        a    (xty-g-angf&f pt0 pt1 pt12 pt0 pt3 pt22)
  20.        pt4  (caddr a)
  21.        b    (xty-G-3ptang pt1 pt0 pt4)
  22.        c    (xty-G-3ptang pt3 pt0 pt4))
  23. (list (atof (angtos b 0 5)) (atof (angtos c 0 5))))
  24. ;;;(tt 60 20 35)=>(42.1044 23.566)

回复 支持 反对

使用道具 举报

发表于 2025-3-21 14:40:00 | 显示全部楼层
本帖最后由 lht 于 2025-3-22 11:19 编辑

这涉及到赤平投影了,两个面相交的那条线叫交割线,因两个面都不在同一平面,因此两个面的交割线也不是水平线,经赤平投影计算,此例交割线与左立面的水平夹角为40.34度,与右立面的水平夹角为19.66度,交割线呈下高上低(以示例图方位为准),与水平面的夹角为13.3度。
回复 支持 反对

使用道具 举报

发表于 2025-3-21 15:14:27 | 显示全部楼层
本帖最后由 mahuan1279 于 2025-3-21 16:14 编辑

解三角函数方程。如果换元的话,需要求解一元六次方程的根。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-3-21 16:27:14 | 显示全部楼层
lht 发表于 2025-3-21 14:40
这涉及到赤平投影了,两个面相交的那条线叫交割线,因两个面都不在同一平面,因此两个面的交割线也不是水平 ...

图中红色面与青色面相交处2个角度是42度与24度,这是犀牛模型放样出来的,和你给的结果不一致。
能列出完整的公式吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-3-21 16:28:32 | 显示全部楼层
mahuan1279 发表于 2025-3-21 15:14
解三角函数方程。如果换元的话,需要求解一元六次方程的根。

能列出完整的公式吗??
回复 支持 反对

使用道具 举报

发表于 2025-3-21 17:11:55 | 显示全部楼层
本帖最后由 mahuan1279 于 2025-3-21 17:15 编辑
hn10183051 发表于 2025-3-21 16:28
能列出完整的公式吗??

Q1,Q2数值解应该不难。

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-3-21 18:58:57 | 显示全部楼层
mahuan1279 发表于 2025-3-21 17:11
Q1,Q2数值解应该不难。

试试,看看结果对不对
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-3-21 19:00:39 | 显示全部楼层
夏生生 发表于 2025-3-21 17:14
如果知道面上的点可以用下面的方法

求出交线算角就不用写了

只知道3个角度。
回复 支持 反对

使用道具 举报

发表于 2025-3-21 19:56:56 | 显示全部楼层
hn10183051 发表于 2025-3-21 18:58
试试,看看结果对不对

最终可转化为一元四次方程。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-21 18:06 , Processed in 0.191367 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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