-
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
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 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
Najnowsze wątki
- 2025-01-06 Jeździ, skręca, hamuje
- 2025-01-06 Białystok => System Architect (Java background) <=
- 2025-01-06 Gliwice => Specjalista ds. public relations <=
- 2025-01-06 Białystok => Solution Architect (Java background) <=
- 2025-01-06 Zielona GĂłra => Konsultant WdroĹźeniowy Comarch XL/Optima (KsiÄgowoĹ
- 2025-01-06 Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- 2025-01-06 Ostrów Wielkopolski => Area Sales Manager OZE <=
- 2025-01-06 Do IO i innych elektrooszolomow, tu macie prawdziwe smrody
- 2025-01-06 Białystok => Full Stack .Net Engineer <=
- 2025-01-06 Kraków => Business Development Manager - Network and Network Security
- 2025-01-06 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-01-06 Warszawa => Spedytor Międzynarodowy <=
- 2025-01-06 Lublin => Programista Delphi <=
- 2025-01-06 Gdańsk => Specjalista ds. Sprzedaży <=
- 2025-01-06 śnieg