Прежде чем приступить к решению задачи, я использую P0, P1, P2 и P3 для четырех кубических точек Безье и t, поскольку она параметрическая. Кроме того, я искал аналогичную проблему на этом сайте, а также в Google, и не смог ее найти. Прошу прощения, если это общий вопрос.
Проблема: я получаю наклон 0 как для dx/dt, так и для dy/dt для кубического Безье в этих двух случаях.
1: t = 0 and P0 == P1
2: t = 1 and P2 == P3
Вот пример, иллюстрирующий (1), где t = 0 и P0 == P1.
Найдите тангенс (то есть dx/dt и dy/dt) следующего куба Безье в момент t = 0:
(100, 100) (100, 100) (150, 150) (200, 100)
Чтобы найти тангенс, нам нужна первая производная кубического Безье:
Cubic Bezier definition
B(t) = (1-t)^3P0 + 3t(1-t)^2P1 + 3t^2(1-t)P2 + t^3P3
First derivative of a bezier curve (if you'd like to see the steps I used to get here, let me know)
B'(t) = (-3P0 + 9P1 - 9P2 + 3P3)t^2 + (6P0 - 12P1 + 6P2)t + (-3P0 + 3P1)
Подставив t = 0 в уравнение первой производной, мы получим
B'(0) = -3P0 + 3P1
И, наконец, напомним, что P0 = P1 = (100, 100), поэтому dx/dt и dy/dt равны:
dx/dt = dy/dt = -3*(100) + 3*(100) = 0
Это говорит мне... нет касательной при t = 0 для этого куба Безье. Что не имеет смысла, если бы вы построили график и посмотрели на него.
Чтобы получить ненулевой наклон, я делаю следующее: рассматриваю точки P1, P2 и P3 как квадратичный критерий Безье, преобразую их в эквивалентный кубический критерий Безье, ЗАТЕМ нахожу первую производную при t = 0. Есть ли какая-либо как я могу избежать этого? Мне трудно принять тангенс, который имеет 0 для dx/dt и dy/dt. Спасибо за вашу помощь.