Пользователь должен ввести N количество контрольных точек, по которым кривая Безье является графиком. После этого пользователь снова вводит число P контрольных точек, а затем используя последнюю точку первой кривой и недавно введенные контрольные точки, с ней смешивается другая кривая Безье, которая должна быть непрерывной с первой кривой. Я использую следующее для построения кривых, но не могу проверить непрерывность. Пожалуйста помоги.Непрерывная кривая Безье в matlab
N=input('enter the number of control points ');
for (i=1:N)
P(i,:)=input('enter the coordinates of point [x y]');
end
K=input('enter the number of points to plot ');
syms u
Px=0;
Py=0;
for(i=1:N)
b=(factorial(N-1)/factorial(N-1-i+1)/factorial(i-1))*(u^(i-1))*(1-u)^(N-1-i+1);
Px= Px+ b*P(i,1);
Py= Py+ b*P(i,2);
end
for(i=1:K+1)
Rx(i)=subs(Px,u,(i-1)/K);
Ry(i)=subs(Py,u,(i-1)/K);
end
plot(Rx,Ry)
axis equal
с точки зрения математики, сложнее. С точки зрения программирования, C1/C2 на самом деле довольно прост: все, что требуется, - это вычисление вектора (dx, dy) из третьей и четвертой точек предыдущей кривой, а затем выравнивание первой контрольной точки нового сегмента к ней или, проще говоря, только позволяя пользователю обеспечить первую контрольную точку как находящуюся на линии, которая проходит третью и четвертую точку предыдущей кривой, только позволяя двум последним координатам быть «свободными». –