Регулярно расположенная ортогональная сетка триангуляции Делоне (Вычисление параболоидных коэффициентов)
Я пытаюсь построить триангуляцию Делоне для очень специфического случая, когда входные координаты x и y ортогональны и относительно равноудалены.
Учитывая, что размер данных относительно велик (триангуляционные точки 1000x1200) и что алгоритм Qhull не знает о моем дополнительном ортогональном состоянии, триангуляция относительно медленная (25 секунд на моем компьютере).
Поэтому я хотел бы вручную построить триангуляцию Делоне с каждым из моих известных четырехугольников, разделенных на два треугольника. Я ценю, что это не всегда приводит к правильной триангуляции Делоне (например, когда шаги x и y значительно различаются), но в моем случае я довольно уверен, что подход с делением даст хорошую триангуляцию.
На следующем графике я пометил каждый из треугольников индексом, начальной вершиной и направлением определения вершины:
В этом случае у меня есть и координаты х и у[-1, 1.33, 3.67, 6]
а также[2, 4.5, 7, 9.5, 12]
соответственно.
В настоящее время я использую обертки SciPy для Qhull, и мне удалось создать вершины и соответствующую информацию о соседях, но у меня возникают трудности с определениемequations
атрибут (как кратко упомянуто вhttp://docs.scipy.org/doc/scipy-dev/reference/generated/scipy.spatial.ConvexHull.html).
По сути, я считаю, что эти значения являются параметрами каждого треугольника, нормального к параболоиду, определяемогоparaboloid_scale
а такжеparaboloid_shift
атрибуты, но не могут придумать магические числа, подходящие для интерпретации Qhull. Там должен бытьn_dimensions + 1
значения для каждой вершины, и в SciPy есть код, который вычисляет расстояние каждой вершины от заданной точки:
dist = d.equations[isimplex*(d.ndim+2) + d.ndim+1]
for k in xrange(d.ndim+1):
dist += d.equations[isimplex*(d.ndim+2) + k] * point[k]
Итак, мои вопросы:
Я истолковалequation
приписать правильно?Там уже есть инструмент, который делает это для меня?Могу ли я вычислитьequation
Значения параметров приведены в моем ортогональном и в основном эквидистантном случае без прохождения Qhull?