Advertisement
bolverk

improved_logarithmic_spiral

May 13th, 2015
481
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.64 KB | None | 0 0
  1.   vector<Vector2D> centered_logarithmic_spiral(double r_min,
  2.                            double r_max,
  3.                            double alpha,
  4.                            const Vector2D& center)
  5.   {
  6.     const double theta_max = log(r_max/r_min)/alpha;
  7.     const vector<double> theta_list =
  8.       arange(0,theta_max,2*M_PI*alpha/(1-0.5*alpha));
  9.  
  10.     vector<double> r_list(theta_list.size(),0);
  11.     for(size_t i=0;i<r_list.size();++i)
  12.       r_list.at(i) = r_min*exp(alpha*theta_list.at(i));
  13.  
  14.     vector<Vector2D> res(r_list.size());
  15.     for(size_t i=0;i<res.size();++i)
  16.       res[i] = center+r_list[i]*Vector2D(cos(theta_list.at(i)),
  17.                      sin(theta_list.at(i)));
  18.     return res;
  19.   }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement