Я надеялся получить здесь помощь. Я геолог, поэтому мой математический фон не так силен, как должно быть. У меня есть геологическая ошибка, которую я оцифровал в программе 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 градусов к плоскости, определенной выше. Я знаю, что это, вероятно, довольно просто с точки зрения линейной алгебры, но сейчас я в растерянности. В конце концов мне это нужно, чтобы получить удар и провал трех плоскостей непрерывности, определенных выше.
Редактировать: добавил картинку для наглядности
Синяя функция - ошибка. Зеленый мяч для регби - мой поисковый эллипс. Мне нужно выяснить плоскости, которые определяются этой формой. Я использовал эти зеленые точки, оцифрованные на разломе, чтобы вычислить первую плоскость. Я не знаю, как получить два других