![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Требуется алгоритм построения кривых Безье. [D5, Win2k]
Евгений Гуков © (2002-10-09 21:30:00)Существует N точек. Через эти точки надо провести плавную кривую. Апроксимацию по какому-либо методу использовать нельзя, т.к. кривая должна точно проходить через указанные точки. Я использую алгоритм построения кривой с использованием кривых Безье (TCanvas.PolyBezier). Все работает замечательно, но я не знаю точек самой кривой и поэтому не могу правильно масштабировать график, да и к некотором участкам кривой требуется строить касательные. Поэтому не могли бы уважаемые специалисты подсказать математический алгоритм построения кривых Безье.
Asderg (2002-10-10 10:03:00) [1]у ВинАПИ точно есть механищмы построения безьевых кривых...
к сожалению, навскидку не вспомню :(
MBo (2002-10-10 06:24:00) [2]В параметрическом виде
P0,P3-конечные точки.
P1,P2-контрольные
t-параметр от 0 до 1
P(t)= P0*(1-t)^3+ P1*3*t*(1-t)^2+ P2*3*t^2*(1-t)+ P3*t^3
Или так
X(t) = ax*t^3+bx*t^2+cx*t+x0
Y(t) = ay*t^3+by*t^2+cy*t+y0,
где
cx =3(x1 - x0)
bx =3(x2 – x1) - cx
ax = x3 - x0 - bx - cx
cy =3(y1 - y0)
by =3(y2 – y1) – cy
ay = y3 - y0 – by – cy