Антон Мудренок , как вы категорично говорите что никак нельзя... а если очень хочется?
Пусть есть четыре точки
%2C%20...%2C%20D(x_%7B3%7D%2C%20y_%7B3%7D))
Обычно кривая задается параметрически вот в таком виде
%20%3D%20(1%20%E2%80%93%20t)%5E3%20x_%7B0%7D%20%2B%203t(1%20%E2%80%93%20t)%5E2%20x_%7B1%7D%20%2B%203t%5E2(1%20%E2%80%93%20t)%20x_%7B2%7D%20%2B%20t%5E3%20x_%7B3%7D)
%20%3D%20(1%20%E2%80%93%20t)%5E3%20y_%7B0%7D%20%2B%203t(1%20%E2%80%93%20t)%5E2%20y_%7B1%7D%20%2B%203t%5E2(1%20%E2%80%93%20t)%20y_%7B2%7D%20%2B%20t%5E3%20y_%7B3%7D)
Если произвести нехитрые преобразования получаем более привычные взгляду кубические уравнения относительно t
%20%3D%20(%E2%80%93x_%7B0%7D%20%2B%203x_%7B1%7D%20%E2%80%93%203x_%7B2%7D%20%2B%20x_%7B3%7D)%20t%5E3%20%2B%20(3x_%7B0%7D%20%E2%80%93%206x_%7B1%7D%20%2B%203x_%7B2%7D)%20t%5E2%20%2B%20(3x_%7B0%7D%20%2B%203x_%7B1%7D)%20t%20%2B%20x_%7B0%7D)
И аналогично для y(t).
Если мы рисуем только из A(0,0) в D(1,1) (имеется в виду
вот такая картинка) - можно упростить полученное уравнение (а еще лучше привести его сразу к каноническому виду, но это уже для автора вопроса задачка)
%20t%5E3%20%2B%20(%E2%80%93%206x_%7B1%7D%20%2B%203x_%7B2%7D)%20t%5E2%20%2B%203x_%7B1%7D%20t%20-%20x(t))
Тут и начинается собственно алгоритм, который нам нужен:
- Задаем x(t)
- решаем кубическое уравнение относительно t (например по формуле Кардано), получаем 3 корня, отбрасываем комплексные
- оставшиеся подставляем в уравнение для y(t) - получаем необходимые значения y
(Если рисуем из A(0,0) в D(1,1) и координаты остальных точек также от 0 до 1, то всегда будет получаться один корень)
Так что в целом - можно посчитать необходимые значения с достаточно большой точностью