Обнаружение небольшой кривой - PullRequest
2 голосов
/ 26 сентября 2011

Предположим, у вас есть контур из линий, дуг и т. Д. Он может быть любого размера от 1e-6 до 1e + 6.Как я могу обнаружить крошечные бесполезные кривые внутри него?В настоящий момент мы берем диагональ ограничивающего прямоугольника контура * 1e-9, и для очень искаженных контуров (где ширина, например, во много раз больше высоты) он терпит неудачу.

Существует ли какой-либо научный подход кустранить эти крошечные бесполезные кривые?

Спасибо.

1 Ответ

0 голосов
/ 08 ноября 2011

По выражению вашего вопроса я предполагаю, что ваша проблема заключается в использовании плавающей запятой для геометрии. Это распространенная ошибка. Вместо этого используйте целые числа, и станет ясно, в какой точке кривая действительно является линией. Или когда две точки равны. Вам нужно нормализовать все ваши данные и работать с фиксированной точностью оттуда.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...