Подтвердить что ты не робот

Как рассчитать контрольные точки в кривой кубического бизера

Проходя через программу кривой кубического бизера Я нашел, что он использует конечные точки как (10,10,0) и (0,1,0) и другие контрольные точки как (5,10,2) и (-10, -5, -2). Я не способен понять, как они получили эти другие контрольные точки
пожалуйста, помогите мне с любой формулой или методом, чтобы окупить их
Edit: -
если вы хотите плавно провести кривую Безье через N точек с N > 2, как вы получите промежуточные контрольные точки.

4b9b3361

Ответ 1

Как сказал в своем комментарии, в этом вопросе контрольные точки фактически являются входными параметрами кривой Безье. статья wikipedia содержит несколько приятных анимаций, которые визуализируют процесс рисования кривой и использования контрольных точек для нее.

В качестве сводки кубическая кривая Безье состоит из 4 точек. Назовите их Start, End, Control1 и Control2. Кривая начинается с Start, следуя линии от Start до Control1. Но для достижения конечной точки End он должен отклоняться от этого пути и приближается к линии от Control2 до End, пока не достигнет точки End.

Итак, вы можете "вычислить" контрольные точки, которые вам понадобятся для конкретной кривой f.e. путем рисования нужной кривой на листе бумаги. Контрольные точки должны лежать где-то на кривой касательные в начальной и конечной точке, чтобы создать кривую Безье, похожую на ваш эскиз.

Вот иллюстрация, которую я сделал с Paint (что действительно хорошо для игры с этим, потому что у нее есть инструмент для создания кубических кривых Безье). С левой стороны я нарисовал грубый отрисованный рисунок кривой (черный), затем добавил мою оценку касательных (серый). Наконец, я выбрал две точки на линиях как контрольные точки (зеленый). С правой стороны вы видите то же самое, но кривая была создана с использованием инструмента Paint Bézier, рисующего линию от начала до конечной точки, а затем щелкая по двум контрольным точкам.

Игра с этим должна дать вам лучшее представление о том, как контрольные точки строят вашу кривую. Например, если вы выберете контрольные точки дальше от начальной/конечной точки вашей кривой, она будет работать "более жестко" вдоль серых "линий управления".

Bezier curve image