-
1. Data: 2014-11-12 17:45:43
Temat: Obrysy ale z dziurami
Od: Borneq <b...@a...hidden.pl>
Mimo że plamy są skomplikowane:
http://i.imgur.com/mgtJb5E.png
To jednak poprawiona metoda obrysów obrysowuje je bardzo dobrze.
Jak mam skomplikowany obrys wielokąt, to najpierw dzieliłem go na części
bardziej wypukłe - to znaczy w najcieńszym miejscu dzieliłem go wtedy
gdy jego powierzchnia dużo mniejsza niż otaczający go wielokąt wypukły.
Potem w zależności od średniej jasności takie fragmenty obrysów łączyłem
algorytmem Weilera-Athertona.
Jednak teraz pojawiła się kwestia dziur w obrysach. Gdy mam jakiś obrys,
to najpierw tworzę zewnętrzny kontur, potem zero, jednen, lub więcej
konturów "dziur" dla tego kontury.
To już mam, ale w jaki sposób teraz dzielić - zamiast wielokąta mogę
mieć teraz obwarzanek i potem jak je łączyć? Czy też tak podzielić aby
powstały bez dziur i normalnie potem je łączyć, ale jak je dzielić?
Teraz dzielenie składa się z etapów:
1. obrys obrysowuję wielokątem wypukłym (alorytm Grahama)
2. znajduję dwa najbliższe sobie punkty, które odległe są od siebie po
obwodzie a bliskie w linii prostej(złożoność kwadratowa ale tak bardzo
nie przeszkadza), wybieram ekstremum stosunku tych dwóch odległości
Jak zrobić to dla dziur?
1. Chyba obrysowuję obrys zewnętrzny wielokątem wypukłym, porównując to
z różnicą pól zewnętrznego i wewnętrznych dziur.
2. tu nie za bardzo wiem, po jednym podziale też powinny pozostać
dziury, przy kilkukrotnym podziale powinny zniknąć
-
2. Data: 2014-11-12 21:13:57
Temat: Re: Obrysy ale z dziurami
Od: Borneq <b...@a...hidden.pl>
W dniu 2014-11-12 o 17:45, Borneq pisze:
> 1. Chyba obrysowuję obrys zewnętrzny wielokątem wypukłym, porównując to
> z różnicą pól zewnętrznego i wewnętrznych dziur.
To nie.
> 2. tu nie za bardzo wiem, po jednym podziale też powinny pozostać
> dziury, przy kilkukrotnym podziale powinny zniknąć
Zrobię najlepiej w ten sposób, że najpierw będę eliminował obrysy
wewnętrzne a dopiero potem ewentualnie dzielił.
Mam obrys zewnętrzny a w nim wewnętrzny. Szukam punktu gdzie się stykają
lub odległość między punktem zewnętrznego i wewnętrznego będzie
najmniejsza. (dla uproszczenia - zakładam że się nie przecinają i
wewnętrzny nie wystaje na zewnątrz, jeśli wystaje to jak to zrobić?)
Łączę te punkty, w zasadzie to połączenie występuje dwukrotnie, ponieważ
idę zewnętrznym, po połączeniu do punktu wewnętrznego, obrysowuję
wewnętrzny, idę połączeniem do zewnętrznego dalej.
Tylko dla zewnętrznego muszę dobrać odpowiednią orientację wewnętrznego.
Czy wystarczy zawsze wybierać odwrotną orientację niż ma zewnętrzny? np
dla prawoskrętnego wybrać kierunek lewoskrętny?
Wydaje się że tak.
Zostaje jeszcze przypadek błędnych, wystających
-
3. Data: 2014-11-14 07:57:08
Temat: Re: Obrysy ale z dziurami
Od: Borneq <b...@a...hidden.pl>
Wiem jak zrobić jeden obrys z dziurą, chyba że będą inne przypadki:
- jeden obrys, kilka dziur
- obrysy dziur wychodzą błędnie poza obrys głowny