-
X-Received: by 10.49.129.104 with SMTP id nv8mr348404qeb.27.1372413450858; Fri, 28
Jun 2013 02:57:30 -0700 (PDT)
X-Received: by 10.49.129.104 with SMTP id nv8mr348404qeb.27.1372413450858; Fri, 28
Jun 2013 02:57:30 -0700 (PDT)
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask
.pl!news.nask.org.pl!news.unit0.net!feeder1.cambriumusenet.nl!feed.tweaknews.nl
!209.85.212.216.MISMATCH!mf3no8433443wib.1!news-out.google.com!md6ni27897wic.0!
nntp.google.com!j2no2824144qak.0!postnews.google.com!glegroupsg2000goo.googlegr
oups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Fri, 28 Jun 2013 02:57:30 -0700 (PDT)
In-Reply-To: <0...@g...com>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=86.14.249.186;
posting-account=ep55TgoAAAD3FPdT4j2MbhszjClpO1MM
NNTP-Posting-Host: 86.14.249.186
References: <0...@g...com>
<4...@g...com>
<7...@g...com>
<0...@g...com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <6...@g...com>
Subject: Re: circle midpoint + windowing
From: Radoslaw Jocz <r...@g...com>
Injection-Date: Fri, 28 Jun 2013 09:57:30 +0000
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: quoted-printable
Xref: news-archive.icm.edu.pl pl.comp.programming:203893
[ ukryj nagłówki ]>
> Pisałeś zdaje się, że nie możesz używać putpixel. Co się zmieniło?
>
>
> Co do zasadniczego pytania: przemnóż d przez 4, żeby nie było ułamka.
>
> Przez 4 też musisz przemnożyć czynniki wpływające na d.
>
>
>
> Pozwolę sobie dać linka do mojego art., gdzie ten temat już przerabiałem:
>
> http://0x80.pl/articles/bresenham.html#rasteryzacja-
okregu
>
Putpixela nie ma w Javie SE i Androidzie ale mozna rysowac krotkie odcinki,
lub jesli juz konieczny jest putpixel to moga byc prostakoty o bokach = 1
Jednak w celu optymalizacji mozna wspolrzedne odcinkow dac do tablicy i wywolac za 1
razem. W SE i Andr. sa do tego funkcje (w graphics i canvas).
Co do przemnozenia przez 4 to nie jest to konieczne bo mozna uzyc podstawienia
h = d - 1/4 a porownanie z 1/4 mozna sprowadzic i tak do 0 bo to liczby calkowite.
Mam kilka artykulow na temat midpoina w niektorych omawiaja drobne optymalizacje
polegajace na: uproszczeniu floatow do intow, redukcji wyrazen aby uniknac omnozenia
i tylko dodawac.
Jednak moze pytanie bylo na temat jak zainicjowac zmienne aby rysowac od dowolnego
punktu na okregu P(0, r) to wszyscy omawiaja.
Zauwazylem ze zmienna decyzyjna d to jest poprostu zmienna opisujaca rownanie okregu.
I mozna ja pezposrednio dowolnie zainiacjowac na poczatku majac obliczony punkt
startowy.
Poczatkowo nie bylem pewien jak bezposredno zainicjowac zmienna d od innego punktu
niz P(0, r), dlatego ze w petli do uzyskania kolejnej wartosci d uzywa sie wartosci
poprzedniej.
W niektorych artykulach jest opisane to bardziej zrozumiale, bez niepotrzebnych
skrotow. Wiec,
d = f(x,y) = x^2 + y^2 - r^2
Jednak nigdzie nie widzialem takiego przykladu aby zainicjowac d od innego punktu niz
(0, r), czy od (1, r - 1/2).
W celu optymalizacji rysowania w Javie chce rysowac krotkie odcinki.
Nie musze przechowywac w pamieci kazdego punktu.
Nie jestem jednak pewien czy inicjowanie duzych tablic ktore przechowuja punkty
odcinkow jest dobrym rozwiazaniem bo wtedy obciaza to pamiec.
Zalezy mi na tym aby przy dowolnym powiekszeniu abstrakcyjnego ukladu wspolrzednych
poprawnie wyswietloac okregi.
Widze ze standardowe bibliteki w Javie (ale pewnie nie tylko) maja bugi ktore
uniemozliwiaja poprawne rysowanie okregow o duzym promieniu.
public abstract void drawOval(int x,
int y,
int width,
int height)
public abstract void drawArc(int x,
int y,
int width,
int height,
int startAngle,
int arcAngle)
inty uniemozliwiaja podania okregu o duzym promieniu o srodku daleko od okna ekranu
public void drawCircle(float cx, float cy, float radius, Paint paint)
W Androidzie niby jest juz lepiej ale i tak implementacja algorytmu jest kiepska
co powoduje niedokladnosci przy duzym promieniu, co wynika prawdopodobnie z
przepelnienia intow.
Następne wpisy z tego wątku
- 28.06.13 20:40 firr
- 29.06.13 12:17 Edek
- 29.06.13 13:46 Radoslaw Jocz
- 29.06.13 15:39 Radoslaw Jocz
- 30.06.13 16:49 Radoslaw Jocz
- 09.07.13 17:17 firr
- 09.07.13 17:20 Michoo
- 13.07.13 20:04 Radoslaw Jocz
- 13.07.13 21:01 Radoslaw Jocz
- 13.07.13 21:43 Radoslaw Jocz
Najnowsze wątki z tej grupy
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- 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
Najnowsze wątki
- 2025-07-12 Warszawa => PC Hardware Expert / Specjalista PC <=
- 2025-07-12 Warszawa => Account Manager - Usługi rekrutacyjne <=
- 2025-07-12 Warszawa => Administrator IT <=
- 2025-07-12 Warszawa => IT Administrator <=
- 2025-07-12 Warszawa => Asystent/tka ds. Administracji <=
- 2025-07-12 Warszawa => Specjalista/stka ds. Organizacji <=
- 2025-07-12 Warszawa => MENA New Business Manager <=
- 2025-07-12 Gdynia => Controlling systems Consultant <=
- 2025-07-12 Warszawa => Developer Microsoft Dynamics 365 Finance & Operations (D36
- 2025-07-12 Warszawa => Programista Microsoft Dynamics 365 Finance & Operations (D
- 2025-07-12 Warszawa => Dyrektor IT <=
- 2025-07-12 Warszawa => IT Director <=
- 2025-07-12 Czy wypowiedź Kaczyńskiego o Braunie jest skarżalna? ["działa z OBCEJ inspiracji"]
- 2025-07-11 Rejestrator temperatur - termopara, siec
- 2025-07-11 DPD, przeniesienie numerów z a2mobile i z Orange