» »

rotacija

rotacija

Phil ::

Ali v VC++ obstaja kaka funkcija, ki izračuna nove koordinate pri rotacijah. Uporabil pa bi jih zato, da bi se lahko
v 3d enginu en predmet vrtel okoli svoje osi.
LP

Vesoljc ::

optimist...

v samem vc++ mislim da kej tacga ni, bos najdu take in drugacne zadevščne v directx SDK, sam če se spuščaš v programiranje 3d engina ti svetujem, da prelistaš kšno knjigo o 3d grafiki. te bo prec minil!! verjem...

če ti pojmi kot so vektorji,matrike,transformacije ipd. niso jasni definitivno rabš kšno knijgo!

pa srečno...

Senitel ::

Ja v OpenGL-u (sej delaš OpenGL right?) imaš zato une funkcije:
glRotatef, glTranslatef, glScalef...

DarkWIng ::

če delaš čisti softverski engine (pojma nima zakaj bi to počel), potem si oglej FlipCode al pa GameDev.. ce pa delas v OpenGL / DX potem pa tadva imaza že vgrajene funkcija (v OGL je glRotatef(kot,x,y,z),...) ..

in kot je reku Vesoljc : optimist.. točno tko.. če nepoznaš matematke za to potem se od delanja egina raje poslvi in se najprej malo posveti matematiki :))
You're a wonderful friend and a raving psycho.

Phil ::

Sej sem zdaj uporabil kar matrike za rotacijo. Če pa uporabim glrotatef mi to ne obrne samo nekega quada ampak vso sceno.
LP

Thomas ::

Hehe ... to bo enih enginov ... ampak zgleda vsi podobni. :D

Man muss immer generalisieren - Carl Jacobi

Senitel ::

Thomas: Bo trebe enkrat eno tekmovanje organizirat >:D...

cman: Sej glRotatef so matrike... Kar moraš vedet je, da se to obnaša nekako tako kot logo. Če daš glRotatef(45,1,0,0), se obrneš za 45 stopinj po osi x in tam tudi ostaneš. Če daš še enkrat isto se boš obrnil še za 45 stopnij in boš torej bil obrnjen za 90 stopinj.
Zato narediš takole:

glLoadIdentity();
DrawScene(); // Narišemo ozadje

glRotatef(...);
glTranslatef(...);
glRotatef(...);
DrawObject(); // Narišemo premaknjen objekt

Phil ::

Sam a se ne vrti pol okoli koordinatnega izhodišča(0,0,0), namesto okoli svoje osi?
LP

DarkWIng ::

najprej narišeš sceno..
>>DrawScene();
shraniš sceno(če boš risal več objetov)
>>glPushMatrix();
potem se prestaviš kamor mora objekt stati
>>glTranslatef(x,y,z);
potem ga zavrtiš okoli SVOJIH osi
>>glRotatef(kot,x,y,z);
potem narišeš objekt
>>DrawObject();
in če si shranil sceno jo še vrneš nazaj
>>glPopMatrix();
You're a wonderful friend and a raving psycho.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

DirectX - težavica

Oddelek: Programiranje
141272 (1005) Senitel
»

[c#] enostavna Igrca -> poraba procesorja 95%

Oddelek: Programiranje
192167 (1531) elKaktus
»

C++ programirane v Open GL oz. Direct x

Oddelek: Programiranje
242993 (2264) Vesoljc
»

OpenGL problem

Oddelek: Programiranje
212493 (2059) Gundolf
»

OpenGL orr v ansi c

Oddelek: Programiranje
121650 (1438) igor12

Več podobnih tem