-
11. Data: 2014-11-14 18:41:19
Temat: Re: Wektoryzacja obrysu - złośliwe labirynty
Od: Borneq <b...@a...hidden.pl>
W dniu 2014-10-08 o 16:39, Borneq pisze:
> Mamy obraz doprowadzony już do postaci dwutonowej - biało czarnej lub
> kolorowe plamy na białym tle, gdzie w istocie liczą się tylko dwa kolory
> - albo kolor plamy albo kolor inny.
Chodzę algorytmem jak w labiryncie. Gdy jestem w plamie, dotykam cały
czas jednej strony.
Problemem są obrysy długie i cienkie.
Przykład: http://i.imgur.com/HuD086o.png
Kolorem obrysu nie jest tu czarny ale różowy, algorytm traktuje tak samo
ten czarny jak i biały.
Zaczynam na dole - ta zielona kreseczka trochę powyżej dolnej krawędzi -
idę do dołu. Skoro do dołu, to trzymam się prawej strony - jestem
wewnątrz różowej plamy i stosują regułę prawej strony.
Najpierw idę do dołu, dołem ekranu, omijając białe wybrzuszenie idę do
czarnego miejsca i w górę
http://i.imgur.com/c3OvgOT.png
Mam okrążyć czarny obszar, ale z tego wynika że powinienem się trzymać
lewej! strony. Dochodzę np. do miejsca "Tu" na pierwszym obrazku,
powinienem iść dalej w górę, ale zakręcam z reguły prawej dłoni.
Jak to zrobić? A może zaczynając w tym punkcie, zamiast wnętrza plamy
trzymać się zewnętrznej powierzchni, białego koloru i dla tego miejsca
startowego będzie reguła lewej strony?
Pomijając już pytanie, co zrobić gdy plama przylega do brzegu ekranu, to
wychodząc z białego i tak dojdę do czarnego i będę chodził środkiem.
Chyba żeby jeszcze rozróżniać biały i czarny i czarny traktować jak
plamę? Ale kolory mogą być różne, tu akurat jest czarny a może być plama
o kolorze 16, okrążającą plamę 121 i wewnątrz 34.
Środek obsługuję inaczej: nie jestem w plamie ale na zewnątrz po stronie
dziury, tu mógłbym być na zewnątrz po stronie zewnętrznej, ale musiałbym
dopuścić do tego aby współrzędne obrysu były 121,-1 lub nawet -2,34 a
wynikiem nie mogą być takie współrzędne.