Проверьте, на какой стороне плоскости находятся точки
Я пытаюсь взять массив трехмерных точек и плоскость и разделить точки на 2 массива в зависимости от того, на какой стороне плоскости они находятся. Прежде чем приступить к отладке, я хотел опубликовать то, чтоЯ планирую делать, чтобы убедиться, что мое понимание того, как это сделать, сработает.
В основном у меня есть самолет с 3 точками, и я использую (псевдокод):
var v1 = new vector(plane.b.x-plane.a.x, plane.b.y-plane.a.y, plane.b.z-plane.a.z);
var v2 = new vector(plane.c.x-plane.a.x, plane.c.y-plane.a.y, plane.c.z-plane.a.z);
Я беру перекрестное произведение этих двух векторов, чтобы получить нормальный вектор.
Затем я перебираю свой массив точек и превращаю их в векторы и вычисляю произведение точек по нормали.
Затем я использую скалярное произведение, чтобы определить сторону, на которой находится точка.
Это звучит так, как будто это будет работать?