Как да добавите нови сегменти към многоъгълник, като използвате въведени драсканици от потребители

Искам да създам потребителски интерфейс за редактиране на полигони. Моят вход е векторно изображение (кубичен безие). Основната цел е потребителите да могат да рисуват драсканици, за да създават нови сегменти върху многоъгълника, така че това е като полуавтоматично рисуване на многоъгълник, като се вземе предвид съществуващият многоъгълник.

въведете описание на изображението тук

Въз основа на предположението въведеното от потребителите се изчертава с помощта на мишка, така че обикновено е грубо и доста неточно.

Новите сегменти не са само прави линии, но и криви, така че мисля, че новите сегменти също трябва да отговарят на грубото въвеждане на потребителите: въведете описание на изображението тук

Друг случай:

въведете описание на изображението тук

Разрешимо ли е това? Всяка обратна връзка наистина се оценява, искам също да знам дали има хартия с подобен проблем.


person azer89    schedule 20.02.2014    source източник


Отговори (2)


Ето начин да започнете с: -

  1. Направете свързани компоненти върху изображението, за да получите потребителски драсканици
  2. опитайте се да напаснете драскулките към линия, окръжност, парабола..
  3. Което дава минималната квадратна грешка е желаната крива
  4. Начертайте желаната крива между крайните точки на драсканица.

Референции:-

Свързани компоненти

Напасване на крива

person Vikram Bhat    schedule 20.02.2014
comment
Знам напасването на кривата, но получената крива трябва също да вземе предвид съществуващите сегменти (вижте пример 2, двете криви трябва да образуват кръг, въпреки че драсканиците не са достатъчно добри) - person azer89; 21.02.2014

Реших проблема,

Използвах спиралата на Ойлер

http://www.lems.brown.edu/vision/researchAreas/EulerSpiral/

person azer89    schedule 18.05.2014