Advertisement
plukran

Untitled

May 20th, 2019
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 0.55 KB | None | 0 0
  1. function Q = bezier(P)
  2.  
  3. U = 0:0.01:1;
  4. m=size(P,1);
  5. m=m-1;
  6. p=numel(U);
  7.  
  8. X=zeros(p,m+1);
  9. Y=zeros(p,m+1);
  10. Z=zeros(p,m+1);
  11. k=1;
  12.  
  13. for j=0:m
  14.     mjF=factorial(m)/(factorial(j)*factorial(m-j));
  15.     Bjm=mjF*U.^j.*(1-U).^(m-j);
  16.     X(:,k)=Bjm.*P{j+1,1}(1);
  17.     Y(:,k)=Bjm.*P{j+1,1}(2);
  18.     Z(:,k)=Bjm.*P{j+1,1}(3);
  19.     k=k+1;
  20. end
  21.  
  22. Xout=sum(X,2);
  23. Yout=sum(Y,2);
  24. Zout=sum(Z,2);
  25.  
  26. plot3(Xout, Yout, Zout);
  27. hold on
  28.  
  29. sizeP = size(P);
  30. sizeP = sizeP(1);
  31.  
  32. for i=1:sizeP
  33.   scatter3(P{i,1}(1), P{i+1}(2), P{i+1}(3),'filled', 'r');
  34.   hold on
  35. end
  36.  
  37. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement