Блокнот ++ работает просто великолепно, хотя я принимаю решение придерживаться Блокнота,-m, или даже иногда встроенного "редактирования".
проблема Вы встречаетесь, Блокнот использования ++ связан с тем, как мерзавец запускает исполняемый файл редактора. Мое решение этого состоит в том, чтобы установить РЕДАКТОРА на пакетный файл, а не фактический исполняемый файл редактора, который делает следующее:
start /WAIT "E:\PortableApps\Notepad++Portable\Notepad++Portable.exe" %*
WAIT / говорит сессии командной строки останавливаться до выходов приложения, таким образом Вы будете в состоянии отредактировать к содержанию своей основы, в то время как мерзавец счастливо ожидает Вас. % * передает все аргументы пакетному файлу до Блокнота ++.
c:\src>echo %EDITOR%
c:\tools\runeditor.bat
Одно простое решение будет таким, как предложено в комментариях:
Если у вас есть огромные данные, пересечения могут быть довольно дорогостоящими.
] Тогда вы можете использовать аналогичный подход, как в вопросе , и это решение также может сработать для вас. Как я бы это сделал:
PS. Обратите внимание, что оба решения дают некоторое приближение средней оси, точное вычисление намного дороже, но в качестве тизера ... вы можете получить такие результаты для точек выборки черного входного сигнала:
Похожая конструкция - Прямой каркас , который может быть построен путем сжатия многоугольника в себя и отслеживания вершин по мере их приближения к центру. Это может быть немного проще построить, хотя это не совсем та же кривая, что и средняя ось.
Вау. Здесь я собираюсь пойти на шаг и предположить, что, возможно, алгоритм запутался в отношении внутренней и внешней части многоугольника. Когда вы определяете ребра и вершины исходного многоугольника, вы должны убедиться, что они определены таким образом, что «внутри» всегда можно найти с помощью чего-то вроде «правила правой руки». Просто глядя на многоугольник в правом нижнем углу, похоже, что край вашего многоугольника фактически пересекает сам себя. Может быть, алгоритм видит этот и другие разделы «наизнанку». То же самое в нижнем левом углу.
Я чувствую, что алгоритм, похоже, не в состоянии определить, какое направление внутри, а что снаружи.
Я думаю, что наивным подходом было бы отфильтровать все «Узлы» Ворони, которые находятся за пределами многоугольника, однако, не думаю, что будут смотреться. Если присмотреться к вашей диаграмме, кажется, что каждый узел имеет 3 ребра, которые соединяют его с другими узлами. Возможно, вы можете отфильтровать узлы, в которых любое из трех ребер связано с узлами за пределами многоугольника. Это сработает?
То же самое в нижнем левом углу.Я чувствую, что алгоритм, похоже, не в состоянии определить, какое направление внутри, а что снаружи.
Я думаю, что наивным подходом было бы отфильтровать все «Узлы» Ворони, которые находятся за пределами многоугольника, однако, не думаю, что будут смотреться. Если присмотреться к вашей диаграмме, кажется, что каждый узел имеет 3 ребра, которые соединяют его с другими узлами. Возможно, вы можете отфильтровать узлы, в которых любое из трех ребер связано с узлами за пределами многоугольника. Это сработает?
То же самое в нижнем левом углу.Я чувствую, что алгоритм, похоже, не в состоянии определить, какое направление внутри, а что снаружи.
Я думаю, что наивным подходом было бы отфильтровать все «Узлы» Ворони, которые находятся за пределами многоугольника, однако, не думаю, что будут смотреться. Если присмотреться к вашей диаграмме, кажется, что каждый узел имеет 3 ребра, которые соединяют его с другими узлами. Возможно, вы можете отфильтровать узлы, в которых любое из трех ребер связано с узлами за пределами многоугольника. Это сработает?
Если присмотреться к вашей диаграмме, кажется, что каждый узел имеет 3 ребра, которые соединяют его с другими узлами. Возможно, вы можете отфильтровать узлы, в которых любое из трех ребер связано с узлами за пределами многоугольника. Это сработает? Если присмотреться к вашей диаграмме, кажется, что каждый узел имеет 3 ребра, которые соединяют его с другими узлами. Возможно, вы можете отфильтровать узлы, в которых любое из трех ребер связано с узлами за пределами многоугольника. Это сработает?