Righty, so;
I have a current rotation value of an object stored as radians, i am looking for a way to find the object's right and left, in a radian value.
This will allow me to move(strafe) left and right relative to it's heading.
So current angle = #
angle right = # (function here... )
Ive tried converting to degrees and then back again, but its making it overly complex i think, and doesn't sort the problem of angle being relative.
Anyone familiar with this problem?
Finding an angle relative to current angle
Started by Rexxaw(Forgrim's mate), Apr 26 2011 11:57 PM
3 replies to this topic
Ad:
#2 Members - Reputation: 121
Posted 27 April 2011 - 12:31 AM
Heres my solution
if (Keyboard.GetState().IsKeyDown(Keys.A))
{
speed = 0.35f;
// degrees = 270.0f;
degrees = MathHelper.ToDegrees(pRot);
degrees -= 90;
pRotStrafe = MathHelper.ToRadians(degrees);
pVlx = (float)Math.Cos(pRotStrafe) * speed;
pVly = (float)Math.Sin(pRotStrafe) * speed;
pPos -= new Vector2(pVlx, pVly);
}
if (Keyboard.GetState().IsKeyDown(Keys.D))
{
speed = 0.35f;
degrees = MathHelper.ToDegrees(pRot);
degrees += 90;
pRotStrafe = MathHelper.ToRadians(degrees);
pVrx = (float)Math.Cos(pRotStrafe) * speed;
pVry = (float)Math.Sin(pRotStrafe) * speed;
pPos -= new Vector2(pVrx, pVry);
}
Strikes me as a lot of computation but it does work.
To alleviate all the questions i badger the boards with i can at least post solutions as i find them.
if (Keyboard.GetState().IsKeyDown(Keys.A))
{
speed = 0.35f;
// degrees = 270.0f;
degrees = MathHelper.ToDegrees(pRot);
degrees -= 90;
pRotStrafe = MathHelper.ToRadians(degrees);
pVlx = (float)Math.Cos(pRotStrafe) * speed;
pVly = (float)Math.Sin(pRotStrafe) * speed;
pPos -= new Vector2(pVlx, pVly);
}
if (Keyboard.GetState().IsKeyDown(Keys.D))
{
speed = 0.35f;
degrees = MathHelper.ToDegrees(pRot);
degrees += 90;
pRotStrafe = MathHelper.ToRadians(degrees);
pVrx = (float)Math.Cos(pRotStrafe) * speed;
pVry = (float)Math.Sin(pRotStrafe) * speed;
pPos -= new Vector2(pVrx, pVry);
}
Strikes me as a lot of computation but it does work.
To alleviate all the questions i badger the boards with i can at least post solutions as i find them.






