[ edin88 @ 11.05.2011. 17:11 ] @
Zdravo, nedavno sam dobio zadatak da napravim funkciuju za Rotacju Matrice no moram da koristim nvidia-jinu CUDA tehnologiju

Funkcija kao argumente prima jednu NxN matricu i vektor sa uglovima, a treba da vrati zarotiranu matricu

Ako neko moze da mi pomogne ja bih bio veoma zahvalan.....
[ Nothingman @ 20.05.2011. 22:30 ] @
Da li bi mogao da budes malo precizniji? Sta predstavlja ta matrica NxN? Koja je dimenzija vektora sa uglovima? Sta mislis pod rotiranjem matrice?
Previse malo podataka si dao. Npr. jedno od tumacenja bi moglo biti da se u ulaznoj matrici nalaze vektori koje je potrebno rotirati za uglove iz ulaznog vektora (tako sto ces pomocu tih uglova kreirati rotacionu matricu i primeniti je na vektore ulazne matrice).
[ edin88 @ 21.05.2011. 07:20 ] @
NxN predstavlja dimeziju matrice, zanci to bi bilo kvadrdna matrica. Vektor ima N elementa. U oba slucaja N treba da bude isti broj. Na primer matrica dimenzije 4x4, i vektor sa 4 elementa.

Ovo tvoje tumacejne mi najvisi odogovara citiram "Npr. jedno od tumacenja bi moglo biti da se u ulaznoj matrici nalaze vektori koje je potrebno rotirati za uglove iz ulaznog vektora (tako sto ces pomocu tih uglova kreirati rotacionu matricu i primeniti je na vektore ulazne matrice)."

[ Nothingman @ 21.05.2011. 11:14 ] @
Pa cekaj, zar u postavci zadatka nisi dobio informaciju sta ta rotacija predstavlja? Jel imas kompletan tekst tog zadatka?
Ovo moje tumacenje koje sam ti rekao samo za dimenziju N = 3 ima veze sa ovim podforumom (3d programiranje, racunarska grafika).
Za dimenzije N>3 to vise nema nikakve veze sa 3d programiranjem, i spada u apstraktnu linearnu algebru. Potrazi na googlu dokumente kako algoritamski konstruisati rotacione N-dimenzionalne matrice, mada mislim da za tako nesto nemas dovoljno ulaznih parametara, jer ti fale "ose" oko kojih bi rotirao u tim visim dimenzijama (tacnije imao bi dovoljno parametara, ali bi morao da trazis ortonormiranu bazu vektorskog prostora za n-dimenzionalni slucaj, pa da rotiras oko vektora koji cine tu bazu).

U svakom slucaju zadatak je jako nejasno postavljen, i nema mnogo veze sa ovim forumom, osim u slucaju kada je N=3.

[Ovu poruku je menjao Nothingman dana 21.05.2011. u 12:31 GMT+1]

[Ovu poruku je menjao Nothingman dana 21.05.2011. u 12:32 GMT+1]

[Ovu poruku je menjao Nothingman dana 21.05.2011. u 12:33 GMT+1]
[ NicholasMetropolis @ 23.05.2011. 22:26 ] @
Rotacija matrice je prosto , gde je obicna matrica rotacije (podseti se elementarne linearne algebre i kako linearna transformacija u vektorskom prostoru indukuje linearnu transformaciju u operatorskom prostoru nad tim vektorskim prostorom). Po komponentama je .

Najprostije (ne i najbrze) je da paralelizujes po indeksima i a da GPU kernel funkcija bude sumiranje po i . Drugim recima, istovremeno racunas sve matricne elemente rotirane matrice.

Imas po netu gomilu primera kako se radi matricno mnozenje sa CUDAom. Na osnvu toga ce ti odmah jasno kako da implementiras ovo gore.
[ Nothingman @ 24.05.2011. 13:15 ] @
Kao sto rekoh, u slucaju takvog tumacenja zadatka, originalno pitanje vise nema nikakve veze sa podforumom 3d programiranje i racunarska grafika, nego sa linearnom algebrom i gpgpu-om.