% Testroutine zum Programm % KnotIns, Blatt 8 % Ordnung, Dimension n = 4; m = 8; % Knoten und Kontrollpunkte T = [zeros(1,n) 1:(m-n) (m-n+1)*ones(1,n)]; P = [1 2 2 0 0 3 3 0;1 1 2 2 0 0 3 3]'; % Original figure(1) clf reset t = linspace(0,m-n+1); plot(P(:,1),P(:,2)) hold on plot(P(:,1),P(:,2),'.','MarkerSize',15) f1 = seval(P',T,t)'; plot(f1(:,1),f1(:,2)) axis([-.2 3.2 -.2 3.2]) % neue Knoten einfuegen TT = [1/3 2/3 4/3 5/3 7/2 9/2 9/2]; for tt = TT [P,T] = KnotIns(P,T,tt); end % Ergebnis, mit neuen Knoten plot(P(:,1),P(:,2),'r') plot(P(:,1),P(:,2),'r.','MarkerSize',15) f2 = seval(P',T,t)'; plot(f2(:,1),f2(:,2),'r') if max(abs(f1(:)-f2(:)))>1e-10 disp('Ihr Programm arbeitet fehlerhaft') else disp('Ihr Programm arbeitet vermutlich korrekt') end