#math #linear-algebra #eigen #plane
#математика #линейная алгебра #eigen #плоскость
Вопрос:
нам нужно подогнать набор точек (x, y, z) к плоскости и получить подогнанное значение Z — Zi в точке (Xi, Yi).
Мы использовали собственную библиотеку для подгонки к плоскости. https://gist.github.com/ialhashim/0a2554076a6cf32831ca
Теперь у нас есть нормаль к плоскости и центроид всех точек.
Как я могу вычислить значение оси Z в точке (xi, yi) со следующей информацией?
- Центроид всех точек
- Нормаль к установленной плоскости
Спасибо!
Ответ №1:
Вам нужно расстояние d
до плоскости точки r=(xi,yi,zi)
.
У вас есть нормаль к плоскости n=(nx,ny,nz)
, которая должна быть единичным вектором, и единственная точка на плоскости p=(px,py,pz)
.
d = nx*(xi-px) ny*(yi-py) nz*(zi-pz)
что является скалярным произведением между нормалью n
и относительным положением r-p
.
Или, если вам нужно уравнение поверхности плоскости, затем решите уравнение ниже для zi
nx*(xi-px) ny*(yi-py) nz*(zi-pz) = 0
zi = pz - (nx*(xi-px) ny*(yi-py))/nz
Комментарии:
1. Спасибо. Могу ли я взять центроид в качестве единственной точки на плоскости? Когда я использовал центроид в качестве точки, я получаю правильные значения для Z.
2. Да, возьмите центроид для
p
.