Положение точки относительно плоскости
Есть тройка точек трехмерных координат(треугольник).
И есть плоскость заданная координатами точки лежащей на плоскости и ее нормалью.
Как узнать какие точки треугольника левее-правее или выше-ниже плоскости? И расстояние от точки к плоскости.
Буду благодарен за разъяснение вопроса!
Ответы (1 шт):
Положение точки относительно плоскости можно определить по знаку скалярного произведения вектора нормали и вектора базовая точка плоскости-данная точка
(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)