calVectorFrom2Planes
功能
利用两平面的法向量做”叉乘“运算获得两平面交线的方向向量。
原理
如图所示,两平面相交关系为:
图中
n
1
⃗
\vec{n_1}
n1为平面1的法向量,
n
2
⃗
\vec{n_2}
n2为平面2的法向量,
l
⃗
\vec{l}
l为两平面交线的方向向量。根据丘维声所著《解析几何(第三版)》第30-36页可知,该方向向量可由两平面法向量进行叉乘运算得到,公式为:
l
⃗
=
n
1
⃗
×
n
2
⃗
\vec{l}=\vec{n_1}\times\vec{n_2}
l=n1×n2
由平面一般式方程可知,平面的法向量为:
n
⃗
=
(
a
,
b
,
c
)
\vec{n}=(a,b,c)
n=(a,b,c),利用两相交平面的方程参数即可进行法向量”叉乘“,获得交线的方向向量
l
⃗
=
(
m
,
n
,
p
)
\vec{l}=(m,n,p)
l=(m,n,p),利用该直线上任意一点坐标
(
x
1
,
y
1
,
z
1
)
(x_1,y_1,z_1)
(x1,y1,z1)可得到该支线的”点法式“方程:
x
−
x
1
m
=
y
−
y
1
n
=
z
−
z
1
p
\frac{x-x_1}{m}=\frac{y-y_1}{n}=\frac{z-z_1}{p}
mx−x1=ny−y1=pz−z1
使用
输入
两相交平面方程一般式的参数 P a r a m 1 ( a 1 , b 1 , c 1 , d 1 ) Param_1(a_1,b_1,c_1,d_1) Param1(a1,b1,c1,d1)、 P a r a m 2 ( a 2 , b 2 , c 2 , d 2 ) Param_2(a_2,b_2,c_2,d_2) Param2(a2,b2,c2,d2)。
输出
两平面交线方向向量 l ⃗ ( m , n , p ) \vec{l}(m,n,p) l(m,n,p)。文章来源:https://www.toymoban.com/news/detail-445877.html
DEMO
import geomeas as gm
import numpy as np
Param_1 = np.array([0, 0, -4361.9337, 362040.4971])
Param_2 = np.array([-2180.41, 6939.63, 2165.499, -283785.5822])
print(gm.Vector().calVictorFrom2Planes(Param_1, Param_2))
代码链接文章来源地址https://www.toymoban.com/news/detail-445877.html
到了这里,关于利用python计算两个平面相交直线的方向向量的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!