Как найти коэффициенты (a,b,c,d) плоского многоугольника

Учитывая нормаль плоскости, центроид плоскости, векторы bais и некоторые (> 4) точки на плоскости, я хочу выяснить коэффициенты (a, b, c, d) плоского многоугольника. Есть ли лучший способ, чем заменить точки в уравнении плоскости ax + на + cz + d = 0.

Спасибо, Харша.


person Harsha Rama    schedule 03.01.2013    source источник


Ответы (1)


Уравнение будет

n_x x + n_y y + n_z z + d = 0

где N[n_x, n_y, n_z] — вектор нормали. Затем вы можете заменить любую точку B(b_x, b_y, b_z), которая, как известно, находится на плоскости, чтобы найти d,

d = -( n_x b_x + n_y b_y + n_z b_z )

Почему это работает? Пусть P(x,y,z) будет произвольной точкой на плоскости. Тогда вектор P-B должен быть параллелен плоскости и перпендикулярен ее нормали. Скалярное произведение перпендикуляров равно нулю. Следовательно,

N dot (P -  B) = (N dot P - N dot B) 
    = n_x x + n_y y + n_z z - (n_x b_x + n_y b_y + n_z b_z) = 0

В последней строке вы можете узнать

a = n_x   b = n_y    c = n_z   d = -(n_x b_x + n_y b_y + n_z b_z)

как уже говорилось.

person Gene    schedule 03.01.2013
comment
Эй, еще одно сомнение... можем ли мы использовать центроид как точку на плоскости. - person Harsha Rama; 07.01.2013