# Camera rotation from mouse

## Recommended Posts

m0niSx    100
hey, as the title says, ill need to rotate a game camera from the mouse mouvement
i have the mouse movement coords(X, Y)
i have the camera lookat coords
and the camera position coords
all i need is a simple way to rotate the camera using the mouse coords
an easy sample could be useful for me to understand
any help will be appreciated

##### Share on other sites
coder0xff    225
The easiest way: keep track of a yaw variable and pitch variable. When the mouse moves you increase or decrease the yaw or pitch, based on the X and Y movement, respectively.

If you can't directly set the angle the camera is rotated to (or you haven't programmed it yet), reply and I'll show you how to compute the new look at coordinates based on yaw and pitch, or you can use the frustum building functions of the graphics library you are using to help you out. (Can you give some more details, please?)

If, for some reason, you can't keep track of a yaw and pitch variables yourself (and the camera you are using doesn't let you get or set them) then its possible to take the look at coordinates, compute the current angle, change the angle, and then compute new lookat coords.

##### Share on other sites
m0niSx    100
the angle is a good idea
i already have the X, Y coords of the camera looka, and i already have an angle counting method from X, Y
but do u know a way to get the X, Y coords from the angle, this method could work i guess

##### Share on other sites
coder0xff    225
assuming that X goes to the side, Y goes forward, and Z goes up

[code]float pitchCos = Math.Cos(pitch);
Vector3 offset;
offset.X = Math.Sin(yaw) * pitchCos;
offset.Y = Math.Cos(yaw) * pitchCos;
offset.Z = Math.Sin(pitch);
Vector3 lookat = offset + cameraPos;[/code]