View Full Version : Rotary math


unpocoloco
05-01-2005, 08:02 PM
Taking the obsession up a notch, I have decided to explore exactly how the rotors within the rotary engine move. Oh sure, we've all been to "How Stuff Works" (right? If not, you should!) and taken a look at their most excellent animation, but again, I want to understand this thing in some real depth. Before I go any further, another GREAT site to check out is www.rotaryengineillustrated.com. Beautiful animations.

I want to be able to figure out how they made those beautiful animations.

Unfortunately, deriving the actual equations for the motion of the rotary engine is proving to be quite tricky. People not interested in the mathematics behind our sweet, sweet engine should check out now. Fellow obsessors and attention-to-detailers, I welcome you :D

Here's what I know so far:

The motion of the rotor is actually the combination of two motions: rotation, and orbit. The rotor orbits around a fixed circle. I don't understand all the anatomy of the engine, so I'm not exactly sure what this fixed circle represents. I do know, however, that the fixed circle is a gear with external teeth, and the larger, moving circle is a gear with internal teeth. The larger circle orbits around the smaller one, thus making the motion look sort of like a hula-hoop going around a fixed circle. As the larger circle orbits, it also rotates - and makes 3 complete revolutions for every 1 complete orbit.

I've managed to model this much (see attached animated gif. Anyway, it should be animated...for some reason it isn't showing up for me in my browser, but it does work in Windows Picture and Fax Viewer ).
http://www.geocities.com/app_hq/rotary/circularMotion.gif

So:
* Orbital Motion: Check.
* Rotational Motion: Check.

And yet, I simply can not figure out how to add the rotor itself.

I know the tips of the rotor carve out a hypotrochoid. A hypotrochoid is a special case of a cycloid, which is what happens when you roll a circle on the exterior of another circle. For instance, rolling a penny around a fixed quarter. A cycloid would be the path traced out by a point within the penny, say, Lincoln's nose. A hypotrochoid is the path traced out by a point on the circumference of the penny.

The parametric equations for a hypotrochoid are:
x(t) = (a+b)*cos(t) - h*cos((a+b)*t/b);
y(t) = (a+b)*sin(t) - h*sin((a+b)*t/b);
where a=radius of larger circle, b=radius of smaller circle, t=theta (0 to 2*pi).
For a hypotrochoid, h=b.

I appreciate those few that are still with me. I'm almost out of gas, so to speak, so bear with me just a little longer.

To make that unique housing shape, we not only have a hypotrochoid, but the radii "a" and "b" must be carefully chosen. To get those two indentations at the middle of the housing (cusps), a must be 2*b.
a = 2*b;

The closest I've come to making this work is this:
http://www.geocities.com/app_hq/rotary/fourCircles.jpg

However, you can see this isn't quite right. The red and green circles stick outside of this housing.


So, basically, I am simply trying to overlay a rotor onto my already working model of a circle that rotates three times around another, smaller fixed circle. I'll start with a simple equilateral triangle to represent the rotor, then move on from there. I am STUCK!

(Once this is done, I would like to post the working model and how I created it for others that might like to try as well. I think that'd be a great addition to RX8club.com.)

Nubo
05-01-2005, 10:13 PM
I think the term for the housing shape is 'epitrochoid'. I don't know the math. But I did play with a spirograph when I was a kid; and I stayed at a Marriot a few months ago.... :)

Here's a site with some good animations

http://rotaryengineillustrated.com/

unpocoloco
05-01-2005, 10:32 PM
hey Nubo,
Yeah - I've read about so many cycloids that I think I got them mixed up. Epi = outside, but I was thinking there was a special case of the epitrochoid that the rotary engine is. Let me make sure I get it right this time. Yes, here we go:

Epitrochoid: The roulette traced by a point P attached to a circle of radius b rolling around the outside of a fixed circle of radius a
Special cases:
limaçon with a = b,
the circle with a = 0, and the
epicycloid with h = b.

I think technically we have an epicycloid, a special case of the epitrochoid.

Ugh, enough 'choids.
I think I might be able to solve the problem by simply making a triangle rotate independently based on 3*theta, and have the center of the triangle move along the big circle's path. But this is sort of cheating. I want the math behind the man. Er, machine.

Anyway, I believe I mentioned rotaryengineillustrated in my post - definitely a cool site!

unpocoloco
05-02-2005, 09:26 AM
Hmm...I think my last post might have answered my own question.

All I need to do is create an equilateral triangle instead of the large circle. The *center* of the triangle will move along the path traced out by the large circle as shown above. The vertices of the triangle will rotate around independently, based on 3*theta. Then, all I need to do is make 3 arcs connecting the vertices, and this will make the shape of the rotor.

I guess what I'm still looking for is a simple equation that defines the path that one of those triangle vertices will follow.

Rotarian_SC
05-02-2005, 10:03 AM
Next you can derive the changing amount of area in the combustion cycle given the curve of the outer rotor face based on the given compression ratio. Ah, I remember doing that Calculus problem last year :D.

Nubo
05-02-2005, 11:58 AM
There are some equations here:

http://www.stevemullin.com/rotary101.htm

army_rx8
05-02-2005, 12:01 PM
hehe now math is fun:D

army_rx8
05-02-2005, 12:04 PM
There are some equations here:

http://www.stevemullin.com/rotary101.htm


sweet web-page....:D thanks for teh link (even though it wasn't fo rme)..hehe tiem to add it to my rotary bookmarks :D

automaton
05-02-2005, 12:10 PM
You've probably already allowed for this, but the drive shaft (or anchor if you want to talk orbit) isn't a just perfectly round gear, it has a smaller gear that is mounted off center from the drive shaft.

I thought maybe that was where you were having some trouble with the math.

unpocoloco
05-02-2005, 12:52 PM
Actually, yes - this was the original motivation (to derive the changing amount of area in the combustion cycle ... based on theta). And yea, it goes to show that RX-8+(anything) = fun, even if anything involves a lot of math!

It turns out I've had the solution staring right at me the whole time. The key is understanding the epitrochoid equation. It has everything built it in right there.

I always thought an epitrochoid was the path followed by a point on a little circle traveling on the OUTSIDE of a big circle. However, apparently, you get the SAME PATH if you swap the circles, and make the little circle go INSIDE the big circle. Basically, now the big circle travels on the outside of the little circle. I guess that makes sense...wish I had thought of it that way sooner!

So, let's look at the equation one more time:
x(t) = (a+b)cos(t) - h*cos((a+b)*t/b);
y(t) = (a+b)sin(t) - h*sin((a+b)*t/b);

Let's plug in a few numbers. Some neat things drop out if you choose carefully:
Let a=2, b=1, h=1.

Now, look at the term inside the cosine and sine. We've got two frequencies here:
One moves at a rate "t" (theta).
The other moves at a rate "(a+b)*t/b". Plugging in, we get 3*t.
SO, aha - this is why the rotor moves around 3 times per every 1 revolution.

And the inner circle on which it travels - well this is just "b".

In fact, I already made a model of this, but then thought it was incorrect because it looks like the triangle is changing size. It's not - it's just that the x and y scales are different, so it looks that way. I can't post this right now b/c the file is too big, but I will later :)

I'll also have to check out that link! Thanks!

unpocoloco
05-02-2005, 12:59 PM
Oops I forgot to mention. Why must a=2b?
Because the number of cusps ("n") is determined by that fast frequency.
(a+b)
------- = (n+1)
b

So if we want 2 cusps, a+b = 3b, --> a = 2b.

I've only skimmed the mullin link, but I can see that I've been operating on the wrong assumption. I've been thinking that the inner circle is fixed and NOT offset. ug!

abbid
05-02-2005, 01:01 PM
If only i paid attention in HS... :[

Aoshi Shinomori
05-03-2005, 01:13 PM
Where is Eugene when we need him? This math is way ahead of me so my understanding is poor at best :p

Kaliken
05-03-2005, 07:33 PM
hmm I found a nifty PDF i a while back with some equations and stuff like that. I will have to dig it out.

I was making a matlab model of it when i first got my car but I never finished it.. perhaps I should. slightly different approach was that I was doing it in terms of cylindrical coordinates. The pdf came in handy as I was trying to add in the curvature of the rotor. I will have to find it.

mjcampb
05-03-2005, 08:21 PM
I'm just as obsessed I guess as the rest of you. The rotor shape is called the "Releaux" triangle (seach on some math sites). I wanted to computer generate a picture, so I started out taking some eye-ball measurements from the RX8 brochure, but figured there was a mathematical procedure out there. I posted a rather lame render in the pictures forum awhile back with the depth of the rotor way out of specs, I've since done a little more research (still don't know the depth). Anyway, I've since animated the darn thing. I'll post the animation over in the pictures area. For what it's worth the eptrochoid parametric equations I used (the variable names are my own, so don't read too much into it):

EPI_A = 1
ECCENT = 0.1333
angle = 0 to 2PI

fx(angle) = EPI_A * sin(angle) + ECCENT * sin(3 * angle)
fy(angle) = EPI_A * cos(angle) + ECCENT * cos(3 * angle)

I glad I'm not the only one interested in this stuff.

nomopistons
05-03-2005, 10:17 PM
This stuff is making my head hurt, but I have a question. Would a 4 sided rotor have less torque than a three sided.

Nevermind, 1-there would not be a compression cycle. 2-there is no offset of the "crankshaft" if it revolved in a cylinder.

unpocoloco
05-19-2005, 01:08 PM
Okay, I have figured out where my problem is. Knowing the problem is at least something, I guess.

I hate to keep bringing up nasty math, but: (a=2b, h=b)
x(t) = (3b)cos(t) - b*cos(3*t);
y(t) = (3b)sin(t) - b*sin(3*t);

Now let's say I've got a nice equilateral triangle. This happens, I have unearthed, at:
Point A: theta = 0 degrees
Point B: theta = 90 degrees
Point C: theta = 155 degrees.

Now if I connect the dots, I've got the triangle.

My idea was, starting at these initial thetas for A,B, and C - just increment them a little bit at a time (say, 1 degree), redraw, increment, etc.

This, I had hoped, would give me the moving and rotating triangle. I'd draw in the arcs later.

Here's the problem:
The rate of change of a cosine changes!!! Thus, my triangle starts off equilateral, but quickly slips into a mere ordinary triangle. For example, Point A initially moves more slowly than Point C, so point C starts catching up. Then vice versa.

So how do I show the motion and keep the equilateral triangle equilateral?

Any math people?

Nubo
05-19-2005, 03:36 PM
Polar coordinates

mjcampb
05-19-2005, 08:11 PM
Okay, I have figured out where my problem is. Knowing the problem is at least something, I guess.

I hate to keep bringing up nasty math, but: (a=2b, h=b)
x(t) = (3b)cos(t) - b*cos(3*t);
y(t) = (3b)sin(t) - b*sin(3*t);

Now let's say I've got a nice equilateral triangle. This happens, I have unearthed, at:
Point A: theta = 0 degrees
Point B: theta = 90 degrees
Point C: theta = 155 degrees.

Now if I connect the dots, I've got the triangle.

My idea was, starting at these initial thetas for A,B, and C - just increment them a little bit at a time (say, 1 degree), redraw, increment, etc.

This, I had hoped, would give me the moving and rotating triangle. I'd draw in the arcs later.

Here's the problem:
The rate of change of a cosine changes!!! Thus, my triangle starts off equilateral, but quickly slips into a mere ordinary triangle. For example, Point A initially moves more slowly than Point C, so point C starts catching up. Then vice versa.

So how do I show the motion and keep the equilateral triangle equilateral?

Any math people?

I'm not sure I follow what you are doing and why you create your triangle the way you do. Angles of 0, 120 and 240 around a circle work just fine for this. Anyway, this is the method I used in my animations. Keep the rotation angle the same as the one you use in the parametric equations and you should not have a problem. Hope this helps and is not confusing as I am not sure if this adresses your problem.

unpocoloco
05-27-2005, 07:24 PM
How's this? (uh...this should be rotating)

http://www.geocities.com/app_hq/rotary/Rotary_Animation.gif

RCMarquis
05-28-2005, 09:51 PM
You think you guys could help me with my algebra homework?

unpocoloco
05-28-2005, 10:41 PM
I've made this into a Java applet as well. It allows you to play with the shape of the rotor housing and the speed of the rotor.

I think it is interesting to note that when the housing becomes too non-circular, the rotor doesn't fit inside the housing. You have to be very careful about the value of h you choose in:
x = (r+R)cos(t) - h*cos((r+R)*t/r)
y = same, but with sin instead of cos

Just experimentally I have found that h=r/3 is a good choice. Can anyone back this up as to why this would be good? I think that the physical interpretation would be the amount of eccentricity of the shaft.

Oh yeah, and the applet is here. (http://www.geocities.com/app_hq/rotary/rotaryMotion.html) Enjoy!