I have a curve which looks very similar to a hypotrochoid, but it is not quite equal to one.

I'm able to generate values for this curve, but I would like to represent it as a roulette curve. I believe that it may be possible to represent this curve as a roulette that is generated by rolling some unknown shape around a fixed circle.

Given points along a roulette curve, how can I determine the shape that is rolled around a circle that generates it?

Thank you.