Advertisement
starm100

cp

Apr 21st, 2020
1,741
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 0.67 KB | None | 0 0
  1. function [cp_up] = cp_up(cp_mid,k1,h1,st_point,end_point)
  2.     %Из вашего кода
  3.     n1 = length(h1) + 2;
  4.     sumk = 0;
  5.     for i=1:(n1-1)
  6.         sumk = sumk + k1^(i-1);
  7.     end
  8.     s1 = 1 / sumk;
  9.     t1 = zeros([1,n1]);
  10.     cp_up = zeros([n1, 2]);
  11.     for i = 2:n1
  12.         t1(i) = t1(i-1) + k1^(i - 2) * s1;
  13.     end
  14.     midPoints = bezierPoints(cp_mid,t1);
  15.     cp_up(1, :) = st_point;
  16.     cp_up(n1, :) = end_point;
  17.     for i = 2 : (n1 - 1)
  18.         f = bezierPrime(cp_mid,t1(i));
  19.         cp_up(i, 2) = midPoints(i, 2) + h1(i-1) / sqrt(1 + (f(1, 2))^2);
  20.         cp_up(i, 1) = midPoints(i, 1) + sqrt(h1(i-1)^2 - (cp_up(i, 2) - midPoints(i, 2))^2);
  21.     end
  22. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement