Hypocycloid - how to offset (not start at 0) Parametric Equations

44 Views Asked by At

I have been using the p5.js library to animate some hypocycloids of n=6 but all the examples I can find always have the hypocycloids starting from angle = 0 and rotating to TWO_PI.

Instead of this I would like to start at TWO_PI/12 * -3; (Twelve O'clock) with the same n=6..I have been ironically going in circles trying to alter the equations to achieve this - any help would be greatly appreciated.

A typical n=6 hypocycloid has clock-face intersections at 3,5,7,9,11,1 where I would like to produce a n=6 hypocycloid with clock-face intersections of 12,2,4,6,8,10 (see images)

I am mainly just highlighting the intersection points of the inner and outer circle not the arcs of the rolling inner circle.

Mock-up Image of result trying to get: Mock-up Image of Desired Result

The standard n=6 starting at 0(or TWO_PI) typical n=6 hypocycloid p5.js output

innerCircle:

cx = (oR/2 - iR/2) * cos(angle)

cy = (oR/2 - iR/2) * sin(angle)

Parametric Equations:

px = (oR/2 - iR/2) * cos(angle) + iR/2 * cos((oR- iR) / iR * angle)

py = (oR/2 - iR/2)sin(angle) - iR/2 * sin((oR - iR)/iR angle);

Outer-Circle:

ox = cos(angle) * oR/2

​oy= sin(angle) * oR/2