/ / получите периметъра на 2D набор от точки - алгоритъм, изчислителна геометрия, изпъкнал корпус

получавате периметъра на 2D набор от точки - алгоритъм, изчислителна геометрия, изпъкнал корпус

Имам набор от точки в 2D (координати за xи у), сега трябва да отхвърля всички точки, които нямат значение за мен, и това, което искам да кажа, е, че се интересувам само от областта, в която се проследяват тези точки.

Накратко, това

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

това трябва да произведе това

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

въпрос: какъв алгоритъм може да направи този вид филтриране по този въпрос?

Отговори:

6 за отговор № 1

Можеш да използваш Греъм Скай за да изчислим изпъкналия корпус на дадените точки. След като разполагате с всички точки на изпъкналия корпус, можете да елиминирате другите.

Има други алгоритми както и за изчисляване на изпъкнал корпус, но Graham сканирането е лесно за изпълнение и е O (n logn).


3 за отговор № 2

Вярвам, че търсите един изпъкнал корпус алгоритъм. Аз лично използвам Греъм Скай алгоритъм за изпълнение на изпъкнал корпус, тъй като има много добра сложност O(n*log(n)) и е относително лесно да се приложи.