Obliczanie nierówności granic wielokąta?


13

Mam dwa wielokąty: wielokąt 1 i wielokąt 2.

Korzystając z dwóch miar, obszaru i długości obwodu, chcę wyrazić ilościowo, że Polygon 1 ma bardziej nierówny / postrzępiony / nieregularny obwód niż Polygon 2.

wprowadź opis zdjęcia tutaj

Każdy wielokąt ma tę samą długość obwodu, ale każdy obejmuje całkiem inne obszary. Aby obliczyć nierówności / postrzępienia / nieregularności każdego wielokąta, należy wykonać obliczenia:

area/perimeter 

lub

perimeter/area 

Pomyślałem perimeter/area, ale potem znalazłem ten post na blogu, który używa area/perimeter: http://www.r-bloggers.com/measuring-the-gerrymander-w--spatstat/


7
Żaden z tych stosunków nie ma sensu, ponieważ oba zależą od jednostek miary. Możesz uniezależnić je od jednostek, tworząc ich jednorodną funkcję o zerowym stopniu, taką jak obwód / sqrt (powierzchnia). Takie pomiary są często nazywane „krętością”. Niektóre inne podejścia można znaleźć, przeszukując naszą stronę na temat krętości .
whuber

Jakie jest pytanie? F1 (X) / F2 (Y) lub F2 (Y) / F1 (X) nie są różnymi taktami, w taki sam sposób, w jaki a nie jest inną miarą niż 1 / a.
BradHards

1
@Bradhards Wiele osób twierdzi, że a i 1 / a są różnymi sposobami wyrażania tej samej podstawowej wielkości, nawet jeśli istnieje między nimi matematyczny związek. Nieliniowość tej relacji oznacza to nie jest tylko zmiana jednostek. Te dwa wyrażenia należy uznać za naprawdę różne, podobnie jak (powiedzmy) logarytm stężenia i koncentracji są różnymi sposobami wyrażania koncentracji, lub mile na galon i galony na milę są zasadniczo różnymi sposobami wyrażania oszczędności paliwa. (I zauważ, że galony na milę będą interpretowane jako marnotrawstwo , a nie „oszczędność”)
whuber

Odpowiedzi:


3

Spójrz na program o nazwie FRAGSTATS ( http://www.umass.edu/landeco/research/fragstats/downloads/fragstats_downloads.html ). W sekcji metryki łaty wspomina o „Fractal Dimension Index”, który zauważa: „Fraktalny wskaźnik wymiarów jest atrakcyjny, ponieważ odzwierciedla złożoność kształtu w różnych skalach przestrzennych (rozmiarach łatek). Tak więc, podobnie jak wskaźnik kształtu (SHAPE), pokonuje jedno z głównych ograniczeń prostego stosunku obwodu do powierzchni jako miarę złożoności kształtu. ” ( http://www.umass.edu/landeco/research/fragstats/documents/Metrics/Shape%20Metrics/Metrics/P9%20-%20FRAC.htm ).


Dodałbym, że wzór do obliczania Fractal Dimension Index wydaje się prosty do obliczenia bez potrzeby korzystania z samego oprogramowania FRAGSTATS. Formuła jest pokazana w linku powyżej. Fractal Dimension Index zbliża się do 1 dla kształtów o bardzo prostych obwodach, takich jak kwadraty, i zbliża się do 2 dla bardzo złożonych kształtów.
user14134,

1

Związek powierzchni z obwodem nie znaczy wiele, kwadrat i prostokąt prawdopodobnie miałyby równe postrzępienie, ale mogłyby mieć ten sam obwód i im dalej od kwadratu, tym prostokąt był mniejszy.

Aby obliczyć „postrzępienie”, myślę, że musisz wiedzieć, ile wierzchołków ma kąty większe niż 180 stopni. Nie powinno to być zbyt trudne do obliczenia, jeśli używasz magazynu geometrii, w którym znany jest kierunek obrotu wielokąta (zwykle w kierunku przeciwnym do ruchu wskazówek zegara, w takim przypadku, jeśli przejdziesz od punktu 1 do punktu 2, kąt przekracza 180 stopni, jeśli punkt 3 znajduje się na prawo od linii określonej w punktach 1 i 2). W przeciwnym razie najpierw musisz określić obrót.


Właśnie o tym myślałem. Coś w rodzaju „liczenia” ostrych kątów na obwodzie.
Baltok,

1
Problem z tą propozycją polega na tym, że zależy ona bardziej od tego, jak kształt jest reprezentowany bardziej niż od samego kształtu, co czyni go arbitralnym i zawodnym. Na przykład, każdy ostry punkt na kształcie można zastąpić sekwencją dwóch bardzo blisko rozmieszczonych wierzchołków o kątach mniejszych niż 180 stopni bez widocznej modyfikacji kształtu. Znaczenie tej odpowiedzi polega na wskazaniu, że na pytanie nie można odpowiedzieć bez operacyjnego opisu tego, co oznacza „postrzępienie”.
whuber

Zakładam, że „postrzępiony” oznacza „z wklęsłością”. Powyższy przykład ma wiele wklęsłości. Biorąc to za opis operacyjny, nie ma sposobu, aby stworzyć wklęsłość wielokąta bez utworzenia kąta większego niż 180 stopni w stosunku do kierunku obrotu wierzchołków wielokąta
Russell w ISC

Zakładam również, że wielokąt nie przecina się sam.
Russell na ISC

1
@ Russell W porządku, ale nadal nie działa. „Wklęsłość” może być reprezentowana przez pojedynczy wierzchołek lub sekwencję tysięcy ściśle rozmieszczonych wklęsłych wierzchołków (co dzieje się na przykład, gdy cecha jest tworzona przez odjęcie buforów innych cech). Ponownie problem polega na tym, że twoja propozycja zależy od nieistotnych szczegółów reprezentacji kształtu, a nie od nieodłącznych właściwości samego kształtu. Można temu zaradzić na wiele sposobów, szacując wymiar fraktalny lub całkowitą bezwzględną krzywiznę itp. , Ale wydaje się, że twoja odpowiedź nie zmierza w tym kierunku.
whuber

1

Wypróbuj znormalizowany wskaźnik obwodu ( http://clear.uconn.edu/tools/Shape_Metrics/ ). Znormalizowany wskaźnik obwodowy używa okręgu o równej powierzchni do normalizacji pomiaru. Tak więc formuła jest efektywna (w Pythonie importuj matematykę)normPeriIndex = (2*math.sqrt(math.pi*Area))/perimeter

Na przykład:

Wielokąt 1: Znormalizowany wskaźnik obwodu = 0,358

Wielokąt 2: Znormalizowany wskaźnik obwodu = 0,947

Znormalizowany wskaźnik obwodu porównuje obwód wejściowy z najbardziej zwartym wielokątem o tym samym obszarze (okrąg o równej powierzchni), co oznacza, że ​​można go użyć do identyfikacji obiektów o nieregularnych granicach. Inną wspaniałą rzeczą jest to, że jest łatwa i szybka do obliczenia.

Można również spojrzeć na znormalizowaną dyspersję, która oblicza średnią odległość od punktów wzdłuż obwodu od środka ciężkości (dyspersja). W tym celu obliczysz również odchylenie, które jest średnią różnicą między każdą odległością i promieniem koła o równej powierzchni, a następnie ostateczną formułą będzie (dyspersja - odchylenie) / dyspersja.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.