Перемещение объекта по кривой Безье, совмещение с вращением - PullRequest
2 голосов
/ 14 ноября 2011

Мой движок (AndEngine) предоставляет модификатор для перемещения объекта по кривой Безье, просто предоставляя координаты 3 или 4 балла.

В моей игре я перемещаю некоторых птиц с определенными 3 баллами.Тем не менее, это выглядит фальшиво, потому что птицы всегда указывают направление.

Это похоже на математический вопрос, но я думаю, что я должен опубликовать в StackOverflow вместо Math Exchange: Как определить угол поворота (в радианахградус) для птиц одновременно?

Ответы [ 2 ]

3 голосов
/ 19 ноября 2011

Вы возьмете две точки, скажем, P1 и P2, найдете угол между ними, а затем поверните свою птицу на этот угол

    deltaX = nextPointX - YourBirdX;
    deltaY = NextPointY - YourBirdY;
    degree = ((Math.atan2(deltaY, deltaX)));
    angle = degree * 180 / 3.14;

    if(angle<0)
    {
        angle = 360+angle;
    }

Надеюсь, это поможет вам.

0 голосов
/ 14 ноября 2011

А как насчет (bezier(path, position + epsilon) - bezier(path, position)) / epsilon? Или, если вы хотите это без эпсилона, посмотрите первый вывод кривой Безье .

...