Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

kako odrediti krug u matrici

[es] :: Art of Programming :: kako odrediti krug u matrici

[ Pregleda: 2716 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

erno
Ernad Besirevic
Graz

Član broj: 56944
Poruke: 261
*.tu-graz.ac.at.



Profil

icon kako odrediti krug u matrici07.12.2006. u 13:29 - pre 210 meseci
zdravo,

posto nisam nasao nigdje forum za algoritme postovao sam ovdje iako nema tako puno veze sa c++-om. radi se naime o tome da trebam naci krug u matrici. dakle dobijem jednu centralnu tacku u matrici sa kordinatama x,y (to mi je centar kruznice). dobijem r1 i r2 poluprecnike kruga koje trebam dobiti u matrici. dakle r1 mi je poluprecnik unutrasnjeg kruga, a r2 mi je poluprecnik vanjskog prstena. moja originalna matrica je ispunjena sa 0 i 2 na pocetku. kad dobijem navedene parametre, napravim novu pomocnu matricu koja ima dimenzije dovoljno da moze sacuvati elemente koji pripadaju ovim krugovima. ova matrica mi je na pocetku ispunjena 1-ma osim tamo gdje je 2 u originalu. sad trebam kopirati iz originalne sve one elemente koji pripadaju mom prvom krugu. e tu nastaju problemi. moj program, koji je zapravo napisan u R-jeziku, a to opet nije vazno, radi sa kvadratima cijelo vrijeme jer ne znam kako da znam koji elementi pripadaju krugu. gore, dolje, lijevo i desno to je jasno, ali ja moram i elemente u dijagonali i sve ostale ispod i iznad dijagonale provjeriti dal pripadaju krugu. mozel mi neko molim vas pomoci oko ovog problema. hvala unapred.

ps: izbrisati ovaj post iz c++ foruma

poz,
erno
 
Odgovor na temu

peromalosutra
Ivan Rajkovic
Software engineer
Luxoft
Berlin

Član broj: 54774
Poruke: 871
*.teol.net.



+148 Profil

icon Re: kako odrediti krug u matrici10.12.2006. u 20:00 - pre 210 meseci
Pa pođi od same jednačine kružnice iz analitičke geometrije,
Code:

sqr(r)=sqr(x-p)+sqr(y-q).

gdje je r poluprečnik, x i y koordinate tačke koja pripada kružnici, a p i q pomak centra kruga po x i y osi. Tebe zanima da li tačka u matrici pripada krugu. Ako pripada, rastojanje te tačke od centra će očigledno biti manje ili jednako poluprečniku, tj. ako tačka zadovoljava uslov da je
Code:

sqrt (sqr(x-p)+sqr(y-q))<=r;

Kod koji bi određivao koje tačke u matrici pripadaju krugu bi izgledao otprilike ovako:
Code:

for (int i=0; i<n; i++) //n-veličina matrice
   for (int j=0; j<n; j++)
      if (sqrt(sqr(i-p)+sqr(j-q))<=r)
         printf("Tačka (%d,%d) pripada krugu sa centrom u (%d,%d) i poluprečnikom %d",i,j,p,q,r);

Za primjer sam uzeo da je matrica kvadratna, ali naravno to ne mora biti slučaj.


[Ovu poruku je menjao peromalosutra dana 10.12.2006. u 22:14 GMT+1]

 
Odgovor na temu

erno
Ernad Besirevic
Graz

Član broj: 56944
Poruke: 261
*.liwest.at.



Profil

icon Re: kako odrediti krug u matrici15.12.2006. u 08:10 - pre 210 meseci
hvala na odgovoru
 
Odgovor na temu

[es] :: Art of Programming :: kako odrediti krug u matrici

[ Pregleda: 2716 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.