Нахождение контрольных точек для кривой Безье - PullRequest
2 голосов
/ 09 мая 2011

Привет пользователям stackoverflow!

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

Так что в основном я пишу игру, и у меня есть кривая Безье, которая контролирует, куда движется актер. Я использую только 3 балла (начало, контроль1, конец) и все в порядке.

Теперь я хочу создать кривую Безье, которая проходит через определенную точку (r1) при t = 0,5. Проблема в том, что у меня есть моя начальная точка, моя конечная точка и моя точка (r1) при t = 0,5, и мне нужно найти контрольную точку.

Извините, если я объяснил это плохо, я надеюсь, что все могут понять.

Спасибо за любые ответы:)

Ответы [ 2 ]

3 голосов
/ 10 мая 2011

Просмотрите документацию Asymptote ( здесь ), в которой есть геометрическая интерпретация сплайна. Для средней точки (t = -. 5) точка лежит в точке m_5 ниже. Если вы используете одну контрольную точку, их c_0 и c_1 совпадают, упрощая математику. Если при (t = 0,5) ваши значения y равны y_c, а начальное и конечное значения соответственно z_0 и z_1, то контрольная точка находится на

c = (8*y_c-z_0-z_1)/6

Сделайте то же самое для значений x.

enter image description here

0 голосов
/ 24 июня 2013

Проверьте вопрос, который я задал пару дней назад: С учетом линейной функции f (x), как получить контрольную точку Квадратичного Безье . Я думаю, что это именно то, что вам нужно.

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