У меня проблемы с вычислением расстояния от точки до плоскости, когда я начинаю использовать координаты реального мира.Я могу получить пример для работы с фиктивными координатами, используя числа от -10 до 10. Как только я применю задачу к реальным координатам UTM, я получу странные ответы.
# Using dummy coordinates
p1 = np.array([1.15, 0.62, -1.01])
p2 = np.array([1.74, 0.86, -0.88])
p3 = np.array([0.91, 0.79, -1.84])
tp = np.array([1.17, 0.94, -1.52])
u = p2 - p1
v = p3 - p1
# vector normal to plane
n = np.cross(u, v)
n /= np.linalg.norm(n)
p_ = tp - p0
dist_to_plane = np.dot(p_, n)
print(dist_to_plane)
# Using real-world coordinates
p1 = np.array([503562, 2811504, 1771], dtype='float64')
p2 = np.array([504122, 2810766, 1820], dtype='float64')
p3 = np.array([504325, 2811311, 1042], dtype='float64')
tp = np.array([503618, 2811286, 1808], dtype='float64')
u = p2 - p1
v = p3 - p1
# vector normal to plane
n = np.cross(u, v)
n /= np.linalg.norm(n)
p_ = tp - p0
dist_to_plane = np.dot(p_, n)
print(dist_to_plane)
Использование фиктивной фигурыкоординаты, я получаю dist = 0.115, что я считаю правильным на основании визуального осмотра.
Используя реальные координаты, я получаю dist = 1820961.09, что определенно не правильно.Расстояние должно быть около 100.