Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.138.116.20] |
|
Сообщ.
#1
,
|
|
|
Друзья, помогите найти нормальный быстрый неглючный алгоритм диаграммы Вороного. Вот вроде нашел хороший с виду, но код крайне медленный, на 200 точек он тратит несколько секунд: https://rosettacode.org/wiki/Voronoi_diagram#Delphi
Нужно для дельфи. |
Сообщ.
#2
,
|
|
|
Вот я его тут впилил в форму, может кто то поймет почему он медленный
Прикреплённый файл______________.rar (73,9 Кбайт, скачиваний: 100) |
Сообщ.
#3
,
|
|
|
Цитата мыш @ Вот вроде нашел хороший с виду Не знаю, что ты там хорошего увидел. По сути он не стоит области близости, а определяет какая точка растра ближе к заданным. |
Сообщ.
#4
,
|
|
|
Цитата prografix @ Не знаю, что ты там хорошего увидел. По сути он не стоит области близости, а определяет какая точка растра ближе к заданным. Да я вообще чайник, я не программист и не математик. Хороший - не глючит хоть. Я раньше находил в сети быстрый алгоритм, но он исключения вываливает постоянно. Ну с ним мучился. Теперь нашел безглючный, обрадовался И да, мне для себя - баловаться (красивый он вот я с ним и играюсь), поэтому мне пофиг близости он делает или области. Мне главное чтобы быстро. |
Сообщ.
#5
,
|
|
|
По-моему проще найти имплементацию на си и подключить её dll-кой к проекту на дельфи, если нужна быстрая (за n*logn) реализация. А если просто какая-нибудь, то проще всего её строить из триангуляции Делоне, которую построить в лоб.
|
Сообщ.
#6
,
|
|
|
Цитата мыш @ Мне главное чтобы быстро. Тогда думай и редактируй этот алгоритм. Там можно перебор точек сократить. |
Сообщ.
#7
,
|
|
|
>вроде нашел хороший с виду
Это примитивная реализация - она просто проверяет, к какой базовой точке ближе каждый пиксел картинки. Сложность не менее NPoints * ImageSize^2 Нормальный алгоритм работает за O(NPoints*log(NPoints)) и выдаёт как результат набор многоугольников (структура данных может быть не слишком простой) Вот пример: https://torry.net/authorsmore.php?id=2322 |
Сообщ.
#8
,
|
|
|
MBo Спасибо! Отличный вариант, он правда исключения тоже на каждый чих выдает, но мне пофиг! Щаслив
Цитата prografix @ Тогда думай и редактируй этот алгоритм. Там можно перебор точек сократить. Ты не понял, я - кнопконажиматель и компонентовставлятель Думать и редактировать я б не сдюжил. |