Archived

This topic is now archived and is closed to further replies.

laeuchli

glulookat problem

Recommended Posts

laeuchli    338
Below is my code for looking up. Whenever I use it, it works fine till I get to 90 d, then it start going back down! Anyone know what this could be happening!?!? g_ViewAnglez+=(x*0.017453292519943295769236907684886); eyeVY=-sin(g_ViewAnglez); eyeVZ=cos(g_ViewAnglez); lookDir.y=((eye.y+eyeVY*2)); lookDir.z=((eye.z+eyeVZ*2)); Jesse www.laeuchli.com/jesse/

Share this post


Link to post
Share on other sites
Prosper/LOADED    100
Well... this seems quite logical since the sin and cos functions (I''m talking about math functions, not C/C++ ones) are like periodical waves. Let''s try some ascii art.

  

Here''s the sin function :

y

^ _
| / \
| / \
|/ \
+----------------> x
| \ /
90° \ /
\_/ |
| 360°
180°



As you can seen, from 0 to 90° you go up but after that you go down...

hm... I may not have really understood the question...

Share this post


Link to post
Share on other sites
Vlion    151
cos is sin TRANSLATED 90 deg. Not rotated :-D
Otherwise it would be going the Y axis.

And laeuchli, you need to take algerbra 2 or something before gfx programming. I`m serious man.

quick reference:
tan/cos/sin are periodic. tan(x) goes to infinity on multiples of either 90 or 180, I forget which.
cos/sin both max out at 1/-1.

I suggest having a struct CAMERA, and using that to store your values. Then modify it whenever/whereever, and in your render function have something like this:

glTranslate(camera.posx,camera.posy,camera.posz);
glRotatef(camera.anglex,1,0,0);
glRotatef(camera.angley,0,1,0);
glRotatef(camera.anglez,0,0,1);

The 3 end parameters to the glRotatef() are the point the rotation is around, relative to the current poition.
Or something like that. Its late and I don`t care to delve into my documentation.

Oh yes.
Learn vector math concepts, along with trigonometry and algerbra 2.

~V''lion

I came, I saw, I got programmers block.
~V''''lion

Share this post


Link to post
Share on other sites
laeuchli    338
Thanks Prosper/LOADED. I get it, should have figured that out before(Brain was asleep or something :-)).
And laeuchli, you need to take algerbra 2 or something before gfx programming. I`m serious man.
/>
Been there done that. Just needed some reminding about the graph of the sin function. Thanks for the concern though....

Share this post


Link to post
Share on other sites