Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function Q = bezier(P)
- U = 0:0.01:1;
- m=size(P,1);
- m=m-1;
- p=numel(U);
- X=zeros(p,m+1);
- Y=zeros(p,m+1);
- Z=zeros(p,m+1);
- k=1;
- for j=0:m
- mjF=factorial(m)/(factorial(j)*factorial(m-j));
- Bjm=mjF*U.^j.*(1-U).^(m-j);
- X(:,k)=Bjm.*P{j+1,1}(1);
- Y(:,k)=Bjm.*P{j+1,1}(2);
- Z(:,k)=Bjm.*P{j+1,1}(3);
- k=k+1;
- end
- Xout=sum(X,2);
- Yout=sum(Y,2);
- Zout=sum(Z,2);
- plot3(Xout, Yout, Zout);
- hold on
- sizeP = size(P);
- sizeP = sizeP(1);
- for i=1:sizeP
- scatter3(P{i,1}(1), P{i+1}(2), P{i+1}(3),'filled', 'r');
- hold on
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement