Adding and calculating coordinates by angle
#1

Hello.
Код:
stock PlusCoo(&Float:cx, &Float:cy, Float:ca, Float:plusX, Float:plusY)
{
        cx = floatadd(cx, plusX * floatcos(ca, degrees));
	cy = floatadd(cy, plusY * floatcos(ca, degrees));
}
What's wrong with this code? Why it doesn't work correctly if angle is not 0 or 180? How to correct it?

EDIT:
Solved:
Код:
stock PlusCoo(Float:cx, Float:cy, Float:ca, Float:plusX, Float:plusY, &Float:x, &Float:y)
{
	x = floatsin(-ca, degrees) * plusY + floatcos(-ca, degrees) * -plusX + cx;
	y = floatcos(-ca, degrees) * plusY - floatsin(-ca, degrees) * -plusX + cy;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)