Положение точки относительно плоскости

Есть тройка точек трехмерных координат(треугольник).

И есть плоскость заданная координатами точки лежащей на плоскости и ее нормалью.

Как узнать какие точки треугольника левее-правее или выше-ниже плоскости? И расстояние от точки к плоскости.

Буду благодарен за разъяснение вопроса!


Ответы (1 шт):

Автор решения: MBo

Положение точки относительно плоскости можно определить по знаку скалярного произведения вектора нормали и вектора базовая точка плоскости-данная точка

(P-Base).dot.n

Если знак положительный, то точка лежит с той стороны, куда "смотрит" нормаль. Понятия "левее-правее или выше-ниже" не всегда применимы.

Из нормализованного вектора нормали и базовой точки можно получить уравнение плоскости

nx*x + ny*y + nz*z + d = 0

подставив в него координаты базовой точки и найдя d

Если же в уравнение подставить координаты данной точки, то получим знаковое расстояние от точки до плоскости (формула 6). Смысл знака - как и раньше.

dist = abs(nx*px + ny*py + nz*pz + d)
side = sign(nx*px + ny*py + nz*pz + d)
→ Ссылка