Hypocycloidal engine

I’m trying to model a hypocycloidal engine. A hypocycloid is a circle that revolves around the inside of another. A point on the circumference of the inner circle draws out a pretty pattern as the inner circle rotates inside the outer one - like a spirograph, if you remember that! If the inner circle is exactly half the diameter of the outer one, a point on its edge describes a straight line through the middle of the outer circle. The Victorians used this principle to make an engine which translated linear motion into rotary motion.

I’ve made the two wheels - that was easy. But I’m having serious trouble with the animation. I’ve tried using an armature with two bones. The first starts at the centre of the large wheel and ends at the centre of the small wheel. The second goes from there to a point on the edge of the small wheel. By directly rotating the two bones, I can get the wheels to rotate in approximately the right way, but I can’t work out how to get a uniform speed of rotation and so the two wheels don’t work together properly. Since both wheels have gear teeth, it is conspicuous if the inner wheel slides on the outer one.

Then I tried to exploit the fact that a point on the edge of the inner wheel makes a straight line. I added an IK solver, but it goes highly unstable when the edge point passes through the centre of the outer wheel (which it always does).

If I could just get a constant speed of rotation on a wheel, I’m sure I could sort it out. It sounds simple. Am I missing something obvious?

Thanks for listening!

to get a constant speed on somethign which is rotating you are probably best off tweaking it in the ipo window

look at the rotation curves, and set the interpolation mode to vector (straight line it makes) and set the extend mode to extrapolation (so it will continue forever in that direction)

It seems to me that careful adjustment of IPO curves (vector mode) will provide the best results.

The rotation of the inner circle around itself can be described by an IPO, cyclicly repeating, with endpoints at 0-degrees and 360-degrees the precise number of frames apart.

The orbit of the inner circle could be achieved perhaps by parenting it to an empty which is stuck onto the end of a plane (basically a vector of points) that is made to rotate around the center of the outer circle. This plane’s movement is like that of a clock’s hands, and the inner circle is stuck onto the end of it.

When both IPOs are set precisely, the Victorian genius should be in plain view.

It’s clear that I was trying to be far too clever by using an armature, because it meant the IPOs I was trying to tweak were quaternions, and I don’t understand them. Now I’ve ditched the armature and parented the inner circle to a plane I can easily define the rotations of the circle and the plane (two points each plus extrapolation): it’s easy, and it looks great.

Thank you both for your help.

Susan

Yeah? Lessee… :smiley:

OK. First let me put a little bit more of the structure in place around it – and then work out how to upload an animation!

You should be able to generate, say, an “AVI Jpeg” or one of the other single-file formats and upload that. Or upload the .blend file. But make it small, low-resolution.

I finally found somewhere to host it. I hope you like it.

http://gallery.mudpuddle.co.nz/shumphries