-
Data: 2015-10-22 00:36:08
Temat: Re: circle midpoint + windowing, reverse, REAKTYWACJA
Od: Radoslaw Jocz <r...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On Wednesday, 21 October 2015 08:42:31 UTC+1, firr wrote:
>
> tak czy owak to z zolwiem wydaje mi sie ciekawa metoda ale nie mam sily w tym teraz
podlubac mam wazniejsze sprawy na glowie
>
> co do wyjasnien algorytmow to chwile zastanowailem sie jak wyjasnic zwyklego
bressenhama, nie mam czasu sie wczytywac
> w tego klasycznego bressenhama
>
Masz na mysli linie prosta jesli chodzi o bresenhama czy okrag?
Zakladam ze poprostu myslisz o midpoint a mowisz bresenham, bo o okregach mowimy.
Wyjasnienie dzialania modpointa jest proste. Mam 10 slajdow z wyprowadzeniami
analitycznymi ale nie chce mi sie tego tutaj przepisywac.
Podstawowa idea dzialania midpointa polega na rownaniu okregu i inkrementacjach x i
y. Zmienna decyzyjna opiera sie na rownaniu okregu
i sluzy jedynie do sprawdzenia czy promien r jest w miare dobrze zachowany w danym
punkcie p(x,y)
ponadto w przypadku x++; zwiekszamy promien dla x++; y--; zminiejsza sie promien
przyrosty zmiennej decyzyjnej d sa oparte na odpowiednim wyprowadzeniu analitycznym
startujac od dwolnego punkty p(x,y) mozna by zainicjowac d = x^2+y^2-r^2,
jednak nie jest to dokladnie to samo gdy startuje sie od x=0; y=r; d = 1-r
bo w midponcie d jest inkrementowane skokowo na podstawie poprzedniej wartosci, itd,
wiec w konsekwencji beda drobne roznice w porownaniu z orginalnym midpointem
wczesniej zastanawialem sie nad tym czy dalo by rade analitycznie wyprowadzic dane d
= f(x,y)
aby szybko zainicjalizowac d identycznie jak jest w orginalnym midpoincie
i rysowac identycznie co do piksela startujac od dowolnego punktu,
ale mysle ze to niemozliwe
ponadto przydalo by sie nawet wiecej
mial by powiedzmy dane poczatkowe:
x = x0, r
trzeba by wyznaczyc
y0 = f(x0, r)
d0 = f(x0, y0, r)
mysle ze takim rozumowaniem niewiele mozna by zdzialac.
uwazam wiec ze w przypadku rysowania okregu lub wycinka okregu z okienowaniem
powinno sie najwyzej 1 raz inicjowac zmienna d dla danego okregu,
mozna startowac od dowolnego punktu ale dobrze gdy to jest tylko 1 raz dla danego
okregu, dzieki temu cwiartki i oktety bedz wzajemnie idealnie dopasowane,
mozna to zrobic tak jak mowilem juz kiedys wczesniej wyznaczyc zakresy dla kazdej
cwiartki i oktetu i znalezc minimalny konieczny i wystarczajacy zakres dziedziny
funkcji ktora jest konieczna do narysowania wszystkich punktow okregu przez odbicia,
wtedy bedzie 1 petla i znany z gory zakres od-do
w petli sa sprawdzenia czy dany punkt jest jest
mozliwy do narysowania dla danego odbicia (jest 8 mozliwych odbic)
8 sprawdzen czy jest w oknie ) + (8 dodatkowo dla wycinka czy jest w zakresie katow
np podanych parami liczb, dx1, dy1, dx2, dy2 lub w inny sposob)
nie jest to mozliwa najszybsza metoda ale wystarczjaco dokladna i szybka
dla duzych promieni,
ponadto ma 2 wazne cechy
1. wszystkie rysowane oktety danego okregu sa idealnie symetryczne wzgledem siebie
2. rozpoczecie rysowania pierwszego widocznego punktu nie wymaga iteracji petli bo
punkt startowy rozny od P(0,r) jest obliczony (w przeciwienstwie do orginalnego
midpointa)
Następne wpisy z tego wątku
- 22.10.15 17:11 firr
- 22.10.15 23:37 Radoslaw Jocz
Najnowsze wątki z tej grupy
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
Najnowsze wątki
- 2024-12-01 Rambo 2024. Co z radio-stopem
- 2024-12-01 Pijani kierowcy
- 2024-12-01 "Chciałem zamówić kurs tym"
- 2024-11-30 Windykatorzy ścigają spadkobierców z mandat nieboszczyka za przekroczenie prędkości???
- 2024-11-30 Łódź => Technical Artist <=
- 2024-11-30 Lublin => Inżynier Serwisu Sprzętu Medycznego <=
- 2024-11-30 Warszawa => Microsoft Dynamics 365 Business Central Developer <=
- 2024-11-30 Bieruń => Team Lead / Tribe Lead FrontEnd <=
- 2024-11-30 Zielona Góra => Senior PHP Symfony Developer <=
- 2024-11-30 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-11-30 Lublin => Spedytor międzynarodowy <=
- 2024-11-30 Warszawa => Mid IT Recruiter <=
- 2024-11-30 Warszawa => Fullstack Developer <=
- 2024-11-30 Żerniki => Dyspozytor Międzynarodowy <=
- 2024-11-30 Warszawa => System Architect (background deweloperski w Java) <=