-
Data: 2015-10-22 17:11:38
Temat: Re: circle midpoint + windowing, reverse, REAKTYWACJA
Od: firr <p...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu czwartek, 22 października 2015 00:36:10 UTC+2 użytkownik Radoslaw Jocz
napisał:
> 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)
mowilem o liniach, okregi juz mnie troche znudzily ;c
Jak lubisz sie zajmowac takimi rzeczami i nie masz co robic to moze napisz procedure
do wydajnego rysowania beziera (kubicznego tj przez 4 punkty) albo/oraz procedure do
rysowania/renderowania wypelnionego ksztaltu
zrobionego z paru/nastu bezierow (czego mozna by uzyc do np rysowania czegos w stylu
fontow true type) - lub jeszcze jakies inne potencjalnie przydatne procedury tego
rodzaju
jest to ciekawy temat moim zdaniem warty pobawienia sie jak ktos ma czas, sam
ostatnio robie inne rzeczy i nei mam wlasnie tego czasu ale do ew dyskusji moge sie
właczyc
Następne wpisy z tego wątku
- 22.10.15 23:37 Radoslaw Jocz
Najnowsze wątki z tej grupy
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
- "Wuj dobra rada" z KDAB rozważa: Choosing the Right Programming Language for Your Embedded Linux Device
Najnowsze wątki
- 2025-06-27 Zasilanie elektryków w Polsce
- 2025-06-27 Łódź => Programista Mainframe (z/OS, Assembler) <=
- 2025-06-27 Łódź => Mainframe (z/OS, Assembler) Developer <=
- 2025-06-27 Wrocław => Senior Android Developer (Java) <=
- 2025-06-27 Warszawa => IT Director <=
- 2025-06-27 Wrocław => Controlling systems Consultant <=
- 2025-06-27 Warszawa => Software Engineer .Net <=
- 2025-06-27 BMW
- 2025-06-26 Re: Recykling akumulatorów
- 2025-06-26 Re: Recykling akumulatorów
- 2025-06-26 Inwentaryzacja budynku
- 2025-06-26 Warszawa => Developer Microsoft Dynamics 365 Finance & Operations (D36
- 2025-06-26 Warszawa => Strategic Account Manager <=
- 2025-06-26 Warszawa => Specjalista rekrutacji IT <=
- 2025-06-26 Re: Zatonął kolejny statek wiozący 800 palnych elektryków