提问人:Veeresh Huvinahalli 提问时间:10/17/2023 更新时间:10/17/2023 访问量:66
如何在两个不同坡度的屋顶之间找到角度
How find angle between two different pitch roof
问:
我试图找到具有不同间距的相邻屋顶线之间的公共线角,如下图所示
请让我知道如何确定角度。
我尝试了 arctan(8/12)= 33.69 度和 arctan(14/12)=49.3987 度,但找不到任何解决方案。
答:
1赞
John Alexiou
10/17/2023
#1
你要寻找的是一侧和折痕线的投影之间形成的角度ψ
请注意,另一个角度仅为 90° - ψ
。
3D 中的折痕线有一个方向向量 e
,其中包含三个分量,其中 z 分量被忽略以获得(e_x,e_y,e_z)
tan(ψ) = e_y / e_x
但是我们如何获得这些方向组件呢?
在 3D 中查看问题,折痕线是两条屋顶线相交的地方
第一条车顶线是绕 x 轴旋转的俯仰角或角度14/12
φ_x = atan(14/12) = 49.39870°
因此,垂直于平面的方向是
| 0 | | 0 |
n_x = | -sin(φ_x) | = | -8/√85 |
| cos(φ_x) | | 6/√85 |
类似地,第二条车顶线是绕 y 轴旋转的俯仰角或角度8/12
φ_y = atan(y/12) = 33.6901°
因此,垂直于平面的方向是
| -sin(φ_y) | | -2/√13 |
n_y = | 0 | = | 0 |
| cos(φ_y) | | 3/√13 |
折痕线方向是从向量叉积中找到的
| e_x | | 21/√1105 |
e = n_y × n_x = | e_y | = | 12/√1105 |
| e_z | | 14/√1105 |
所以车顶线角度是
ψ = atan(e_x/e_y) = atan( 21/12 ) = 29.7449°
上面有一个捷径。
ψ = atan(p_2/p_1) = atan(8/14) = 29.7449°
其中 和 是两个音高值。p_1 = 14/12
p_2 = 9/12
0赞
Jeremy Tammik
10/17/2023
#2
我喜欢约翰的回答。对于较短的版本:两个屋顶零件定义两个平面。计算两个平面之间的交点线,并确定其从水平方向向上的角度,即在由 Z 方向和交点线本身定义的平面内。我想这也是Joh回答的要点。而且,我完全同意这个问题与编程无关。
评论