Действительно, там есть проблема и именно из-за острого угла треугольника. Это типичный случай артефакта, связанного с несоразмерностью дескритизации Z-кривой с размером полигона (попросту говоря Z-кривая "проскакивает" полигон, на рисунке правую верхнию желтую линию).
Сейчас внимательно посмотрел на твою картинку
Постоялец 21 фев. 201012:24
Да, и еще одно ограниечение метода. С его момощью не стоит оценивать локализацию точек, находящихся вне описывающего бокса.
Постоялец 21 фев. 201011:46
Нужно выбирать соразмерную размерам полигонов сетку дискретизации Z-кривой и постараться чтоб фигура была достаточно гладкой.
Как с этим бороться?
На картинке хорошо видно, что в основном положение M относительно фигуры выбирается правильно, однако в областях большого изгиба фигуры M оценено не верно (такие артефакты отмечены двойным кружком).
показано как нужно выбирать для произвольной точки M (отмечены красными кружками) до центра ближайшего полигона P (отмечены зелеными кружками, на полигоне зеленым отрезком показана нормаль) при этом от точки M к P нужно идти вдоль Z-кривой, при этом поскольку в принципе у любой M может быть на Z-кривой два P соседа, выбирать из них нужно того, эвклидово расстояние до которого будет меньше. На рисунке штриховой зеленой линией связаны M с ее ближайшем в этом смысле соседом P.
Ты неправильно рассчитал соседей по Z-кривой, на самом деле сосед на Z-кривой это ближайший элемент в массиве Z, а не ближайший в пространстве.
> Или я не правильно понял просто?
> Z-Curve | Находится ли точка внутри пространственного выпуклого многогранника?
Работает, но при больших изгибах могут возникнуть артефакты когда точка отмеченая по алгоритму как внутренняя, на самом деле внешняя и наоборот. Ниже я покажу как это возникает.
> - центры граней. Чёрная ломаная - собственно Z-Curve)
> А этот монстр точно работает? (красная точка - точка, для которой тест. Синие
Постоялец 21 фев. 201011:39
Находится ли точка внутри пространственного выпуклого многогранника? (3 стр)
/ / / Находится ли точка внутри пространственного выпуклого многогранника? (3 стр)
Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
Находится ли точка внутри пространственного выпуклого многогранника? (3 стр) / Форум / Программирование игр / GameDev.ru Разработка игр
Комментариев нет:
Отправить комментарий