Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function [] = hermit(p0, p1, r0, r1)
- M = [2 -3 0 1; -2 3 0 0; 1 -2 1 0; 1 -1 0 0];
- t = [0 : 0.01 : 1];
- U = [t.^3; t.^2; t; ones(size(t))];
- G = [p0(1) p1(1) r0(1) r1(1); p0(2) p1(2) r0(2) r1(2); p0(3) p1(3) r0(3) r1(3)]
- Q = G * M * U;
- plot3(Q(1,:), Q(2, :), Q(3, :));
- hold on;
- axis equal;
- plot3([p0(1) r0(1)], [p0(2) r0(2)], [p0(3) r0(3)]);
- plot3([p1(1) r1(1)], [p1(2) r1(2)], [p1(3) r1(3)]);
- end
- function [ret] = bezier(P)
- t = [0 : 0.01 : 1];
- n = size(P, 1) - 1;
- X = zeros(size(t));
- Y = zeros(size(t));
- Z = zeros(size(t));
- for k = 0 : size(P) - 1
- B = nchoosek(n, k) * t.^k .* (1-t).^(n - k);
- Pk = P(k + 1, :);
- X = X + B .* Pk(1);
- Y = Y + B .* Pk(2);
- Y = Y + B .* Pk(3);
- plot3(Pk(1), Pk(2), Pk(3), '*');
- hold on;
- end
- ret = [X,Y,Z]
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement