1

Background:

I am (trying) to use bezier curves to model an angle of a linkage. As an angle, it $\in \left\{-180, 180\right\}$. So my coordinate system is angle being y, time being x.

To be continuous in looping time, the angle (y) at the start must be equal to the angle at the end. Or $+- k\pi$. To be smooth, the slope of the line between the first two points and the last two points must be equal (this is easy if you're willing to move the middle points arbitrarily enough).

My issue is ensuring that it is continuous. For further background, I am using simulated annealing to match the linkage end point with a desired profile, with the variables being randomly perturbed being the control point locations (for the 1st and last control points, they are fixed in time (x location)). So there is potential for the two endpoint y-locations to be equal - or for this to be the best solution.

My Question:

Is there an extension or modification of bezier curves to have a polar or torodial or repeating or periodic boundary conditions? Or any other class of curves that have few control variables, and are reasonably easy (both mathematically and computationally) to evaluate?

Will also accept literally any other solution.

  • Not sure I understand the difficulty: The cubic spline with control points $(0, 0)$, $(h, hm)$, $(x_{0} - h, y_{0} - hm)$, and $(x_{0}, y_{0})$ starts at $(0, 0)$ with slope $m$ and ends at $(x_{0}, y_{0})$ with slope $m$; you're free to pick the period $x_{0}$, total angle $y_{0}$, and slope $m$ freely, and still have a free parameter $h$ to adjust the "stiffness" of the curve. Is that not enough freedom for your simulation? – Andrew D. Hwang Jul 18 '17 at 12:00
  • 2
    @AndrewD.Hwang for my simulation, have a curve with points a, b, c, d. (a, d being the end points). I need a_y to be the same angle as d_y, as the bezier curve will repeat - I'm setting up a profile for a joint to follow, so it must repeat. You are absolutely right about the middle two points. – Kurbo Matematikon Jul 19 '17 at 07:26

0 Answers0