% Testroutine zum Programm % KnotRem, 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) f = seval(P',T,t)'; plot(f(:,1),f(:,2)) axis([-1.5 3.5 -.5 3.5]) % neuen Knoten einfuegen [P1,T1] = KnotIns(P,T,3/2); % neuen Knoten wieder entfernen [P2,T2] = KnotRem(P1,T1,6); if max(abs([P2(:)-P(:);T2(:)-T(:)]))>1e-8 disp('Ihr Programm arbeitet fehlerhaft') else disp('Ihr Programm arbeitet vermutlich korrekt') end % einen weiteren Knoten entfernen [P,T] = KnotRem(P,T,6); % Ergebnis, mit neuen Knoten plot(P(:,1),P(:,2),'r') plot(P(:,1),P(:,2),'r.','MarkerSize',15) f = seval(P',T,t)'; plot(f(:,1),f(:,2),'r')