gpt4 book ai didi

python - 查找与已知平面正交的平面

转载 作者:太空宇宙 更新时间:2023-11-04 08:29:23 25 4
gpt4 key购买 nike

我希望在这里得到一些帮助。我是一名地质学家,所以我的数学背景没有达到应有的水平。我有一个已在 CAD 程序中数字化的地质断层。我在故障平面上放置了三个代表点并提取了这些坐标点。我使用以下代码找到了该平面的单位向量:

p1 = np.array([503562, 2811504, 1771], dtype='float64')
p2 = np.array([504122, 2810766, 1820], dtype='float64')
p3 = np.array([504325, 2811311, 1042], dtype='float64')

# Calculate vectors
v1 = p3 - p1
v2 = p2 - p1

# Find the cross product (vector normal to the plane)
cp = np.cross(v1, v2)

# Assign to a, b and c for components of plane equation
a, b, c = cp

# Calculate d component with a dot product and the following equation:
# a*x3 + b*y3 + c*z3 = d
d = np.dot(cp, p3)

# Find the unit vector
uv = cp / (cp**2).sum()**0.5

这个向量表示一个平面,它是我的最大连续性方向(一个地质术语)。我需要得到与上面定义的平面成 90 度角的两个平面。我知道这在线性代数方面可能很简单,但我现在不知所措。我最终需要这个来获得上面定义的三个连续平面的走向和倾角。

编辑:为清楚起见添加了图片

蓝色特征是故障。绿色橄榄球是我的搜索椭圆。我需要弄清楚由该形状定义的平面。我使用断层上数字化的那些绿点来计算第一平面。我不知道如何获得其他两个

fault and search ellipse

最佳答案

假设您对任何此类飞机都满意:

您已经通过 cp 定义了“连续性平面”。ortho1 = np.cross(v1, cp) 将为您提供一个与 cp 正交的方向,即您可能请求的平面之一。然后 ortho2 = np.cross(cp, ortho1) 会给你第二个对应的。

关于python - 查找与已知平面正交的平面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54192630/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com