Вычисление четырехугольной кривой между двумя точками xy - PullRequest
6 голосов
/ 27 октября 2011

У меня есть две (x, y) точки начала и конца.Я хочу анимировать от начала до конца, но вместо того, чтобы идти линейным путем, я хочу создать изогнутый путь.

Я совершенно уверен, что не ищу ослабления, потому что я не хочу влиять наСкорость анимации, я просто хочу вычислить изогнутый путь.

Я понял, что мне нужна какая-то контрольная точка, как показано на этом рисунке:

enter image description here

Но я понятия не имею, как это реализовать.Я хотел бы создать функцию, которая бы принимала следующие параметры

function calculateXY(start, end, controlpoint, percentage);

Где процент будет числом от 0 до 100%, а где 0 вернет начальную позицию, а 100% - конечную позицию.

Решение не обязательно должно быть в Objective-C, оно может быть на любом языке программирования.Я просто не могу разобраться с математикой :)

Ответы [ 2 ]

3 голосов
/ 28 октября 2011

Проверьте эту ссылку, и особенно уравнение 2, которое легко реализовать в коде.

Найден фрагмент , который сделает это за вас.

0 голосов
/ 27 октября 2011

Посмотрите на пути Безье Какао: (NSBezierPath) .

Похоже, что он может не поддерживать квадратичные кривые Безье, поэтому вам нужно преобразовать в кубические .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...