Найти уравнение третьей степени, которое подходит для двух точек с заданным наклоном в JavaScript - PullRequest
1 голос
/ 07 апреля 2011

Мне нужно нарисовать линию на моем сайте, фактически кривую, представляющую полином третьей степени. Какой самый простой способ найти уравнение третьей степени, которое соответствует двум точкам с заданными уклонами в JavaScript?

Найдите уравнение третьей степени для (или найдите коэффициент a, b, c, d в общей формуле ax ^ 3 + bx ^ 2 + cx + d = y):

startX, startY, startSlope

endX, endY, endSlope

Ответы [ 2 ]

1 голос
/ 07 апреля 2011

По сути, это просто математика.

У вас есть неизвестное выражение y = ax 3 + bx 2 + cx + d. Вы можете отбросить довольно много терминов, определив x '= (x-startX) / endX (то есть startX' = 0, endX '= 1). Вам также придется масштабировать склоны; startSlope '= startSlope * 1 / (endX-startX).

Из этого следует, что d '= startY. Это ваш первый бесплатный параметр.

Далее отметим, что наклон тривиально получается дифференцированием. dy / dx '= 3a'x' 2 + 2b'x '+ c'. Следовательно, c 'это просто startSlope'.

a 'и b' принимают пару уравнений: endY = a '+ b' + c '+ d' и endSlope = 3a '+ 2b' + c '+ d'. Следовательно, a '= endSlope' - 2 * endY, а b '= 3 * endY - endSlope'.

0 голосов
/ 07 апреля 2011

Предполагая, что полином 3-градуса равен ax3 + bx2 + cx + d, у вас есть четыре неизвестных.

Возьмите производную, чтобы найти склон. Это дает три неизвестных (постоянный член выпадает).

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

Решите.

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