В настоящее время у меня есть объект, летающий, хотя пространство, я хочу, чтобы объект повернулся к заданной координате.Поворот объекта по заданной координате
По какой-то причине объект вращается круглым и круглым, а не регулируется.
Мой trigganometry почти не существует и до сих пор я использую догадок так основное объяснение, пожалуйста: -/
public void TurnTowardsDestination(double DestinationX, double DestinationY)
{
//Current Co-Ordinate of the object.
double positionX = x;
double positionY = y;
//My failed attempt at understanding atan2.
float spriteToDestAngle = (float) Math.toDegrees(Math.atan2((positionX - DestinationX),(positionY - DestinationY)));
//The Rotate, true is clockwise false anti-clockwise.
if(spriteToDestAngle > 0.0){
RotateItem(true);
}else{
RotateItem(false);
}
Log.w("direction", Integer.toString((int) spriteToDestAngle));
}
Может кто-то мне точку в правильном учебнике по этому вопросу или по крайней мере объяснить, как Я хотел бы, чтобы объект двигался в правильном направлении.
Я использовал исправление, которое работает: (Для тех, кто еще застрял на этом) От: http://sinepost.wordpress.com/2012/02/16/theyve-got-atan-you-want-atan2/
int distX = (int) (DestinationX - x);
int distY = (int) (DestinationY - y);
double angleRadians = Math.atan2(distY, distX);
int angleDegrees = (int)Math.toDegrees(angleRadians);
//setRotation(angleDegrees);
Пытаясь сделать любую компьютерную графику без базовых знаний о геометрии и тригонометрии, будет крайне неудобно. Я настоятельно рекомендую вам изучить некоторые из них! –
Можете ли вы предложить несколько хороших сайтов для обучения? –
Я бы предложил приобрести, например. учебник по математике средней школы для этого и работа с упражнениями. –