Вычисление значений Z по нормали к плоскости

#math #linear-algebra #eigen #plane

#математика #линейная алгебра #eigen #плоскость

Вопрос:

нам нужно подогнать набор точек (x, y, z) к плоскости и получить подогнанное значение Z — Zi в точке (Xi, Yi).

Мы использовали собственную библиотеку для подгонки к плоскости. https://gist.github.com/ialhashim/0a2554076a6cf32831ca

Теперь у нас есть нормаль к плоскости и центроид всех точек.

Как я могу вычислить значение оси Z в точке (xi, yi) со следующей информацией?

  1. Центроид всех точек
  2. Нормаль к установленной плоскости

Спасибо!

Ответ №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 .