Большинство итеративных алгоритмов требуют начального пустого треугольника, чтобы шарик катился. Кажется, что обычно используемый трюк состоит в том, чтобы сделать супер треугольник очень большим по сравнению с набором точек.
Но согласно «Числовым рецептам: искусство научных вычислений»:
"... если расстояние является лишь конечным (до граничных точек), построенная триангуляция может быть не совсем Делоне. Например, ее внешняя граница в необычных случаях может быть слегка вогнутой с небольшими отрицательными углами порядка диаметра набора «реальной» точки, деленного на расстояние до «фиктивных» (граничных) точек.
Итак, какие есть варианты для увеличения декартовых координат с точками на бесконечности, без необходимости преобразовывать все входные данные в другую систему координат, такую как однородные координаты? Как эти точки соответствуют обычным геометрическим предикатам CCW и Incircle?
Окружность (a, b, c) Бесконечность -> Ложь. при условии, что a, b, c конечны.
Но как быть, когда один из a, b, c является точкой на бесконечности? Становится ли круг полуплоскостью, а затем проверка становится проверкой CCW? Что если 2 или более точек на окружности бесконечны? круг расширяется в полную плоскость, заставляя тест всегда давать истину? Как насчет CCW? Как вы классифицируете точку относительно линии, которая имеет одну или несколько точек на бесконечности?