sec2.2.mws

Classical Mechanics with Maple

Section 2.2: Motions in Relative Coordinates in Two Dimensions

Dr. Harald Kammerer
maple@jademountain.de

Initialisation

> restart;

> libname:="C:/mylib/m6dynlib","C:/mylib/m6dynfig",libname:

> with(linalg):with(plots):with(plottools):with(dynamics);with(figures_chapter_2);

Warning, the protected names norm and trace have been redefined and unprotected

Warning, the name changecoords has been redefined

Warning, the name arrow has been redefined

[LAGRANGE, MI, gravitational_energy, impact, kineti...

[Fig_2_1, Fig_2_10, Fig_2_11, Fig_2_12, Fig_2_2, Fi...

2.2.1 Motions in Relative Coordinates

Sometimes it is suitable to describe motions not in an inertial system but in a moving coordinate system, as we had done above, when we described the motion in polar coordinates or in natural coordinates. At this point, we want to survey some important relations, without deriving them in detail. (To show the exact derivation requires some descriptions that are not so easy in Maple.)

In this section we consider the special case of a planar system. The inertial system is given by the coordinates x and y . Additionally we have the moving system, given by X and Y . The X-Y- system is moving with translational motion with respect to the x-y -system. Translation means that the axes don't change their direction, but the origin of the system is moving. Additionally the X-Y- system in general makes rotational motions around its origin. Because we consider only planar motion, the z - and the Z -axes are always parallel. We describe the rotation of the X-Y- system with the angular velocity w by the vector Omega (Omega), which points in the direction of the positive Z -axis. (See Fig 14.)

> display(Fig_2_8(),scaling=constrained,axes=none,title="Figure 14");

[Maple Plot]

To define vectors in both coordinate systems we need unit vectors. So we define the unit vectors in the direction of the x- and the y- axis as

> ex := vector(3,[1, 0, 0])

ex := vector([1, 0, 0])

> ey := vector(3,[0, 1, 0])

ey := vector([0, 1, 0])

The unit vectors in the direction of the X - and the Y- axis of the moving system are defined by

> eX := vector(3,[eXx, eXy, 0])

eX := vector([eXx, eXy, 0])

> eY := vector(3,[eYx, eYy, 0])

eY := vector([eYx, eYy, 0])

They depend on time, but we don't write this explicitly for the sake of clarity. Because e x, e y, e X and e Y are unit vectors, they all have length 1.

In the following, the derivative with respect to time is described by appending " _d " to the variable. For example: The derivative of the vector rho with respect to time is described by " r _d ".

The current position and the motion of the point Q is described by the vector rQ , which is a combination of the current position of the moving coordinate system, described by the vector rP , and the relative position of the point Q with respect to the origin P of the moving system, described by the vector r (rho).

> rP := xP*ex+yP*ey

> evalm(rP);

vector([xP, yP, 0])

> rho := Xrho*eX+Yrho*eY

> evalm(rho);

vector([Xrho*eXx+Yrho*eYx, Xrho*eXy+Yrho*eYy, 0])

Here Xrho*eXx is the x-component of the projection of the vector rho on the X-axis of the moving coordinate system, Yrho*eYx is the x-component of the projection of the vector rho on the Y-axis of the moving coordinate system. Accordingly Xrho*eXy is the y-component of the projection of the vector rho on the X-axis of the moving coordinate system, Yrho*eYy is the y-component of the projection of the vector rho on the Y-axis of the moving coordinate system.

For clarity we make the substitutions

> subs1 := Xrho*eXx = XQx

> subs2 := Yrho*eYx = YQx

> subs3 := Xrho*eXy = XQy

> subs4 := Yrho*eYy = YQy

Now we can write for the vector rQ

> rQ := rP+rho

rQ := xP*ex+yP*ey+Xrho*eX+Yrho*eY

This yields by using subs1 to subs4 (we use the appended letter s to distinguish the expression with and without substutution)

> rQs := subs({subs1, subs2, subs3, subs4},evalm(rQ))...

rQs := vector([xP+XQx+YQx, yP+XQy+YQy, 0])

The rotation of the X-Y-system is described by the vector

> Omega := vector(3,[0, 0, omega])

Omega := vector([0, 0, omega])

The velocity of Q is compounded by three parts. At first we have the velocity of the point P

> vP := vector(3,[xP_d, yP_d, 0])

vP := vector([xP_d, yP_d, 0])

Next there is the changing of the position of Q inside the relative system

> vrels:=vector(3,[XQx_d+YQx_d,XQy_d+YQy_d,0]);

vrels := vector([XQx_d+YQx_d, XQy_d+YQy_d, 0])

We write for the derivatives (remember: " _d " means the derivation with respect to time)

> subs5 := XQx_d = Xrho_d*eXx

> subs6 := YQx_d = Yrho_d*eYx

> subs7 := XQy_d = Xrho_d*eXy

> subs8 := YQy_d = Yrho_d*eYy

Using this substitutions we get

> vrel:=subs({subs5,subs6,subs7,subs8},eval(vrels));

vrel := vector([Xrho_d*eXx+Yrho_d*eYx, Xrho_d*eXy+Y...

Because we consider the changing of the position of Q inside the relative system there are no derivatives of the unit vectors eX and eY in this component of the velocity. This is given by the third component which describes the additional velocity caused by the rotations of the moving coordinate system

> vrot := crossprod(Omega,rho)

vrot := vector([-omega*(Xrho*eXy+Yrho*eYy), omega*(...

or with use of the substitutions above

> vrots := subs({subs1, subs2, subs3, subs4},evalm(vr...

vrots := vector([-omega*(XQy+YQy), omega*(XQx+YQx),...

caused by the rotation of the relative system.

We call

> v_g := vP+vrot

v_g := vP+vrot

> evalm(v_g)

vector([xP_d-omega*(Xrho*eXy+Yrho*eYy), yP_d+omega*...

and with use of the substitutions subs1 to subs4

> v_gs := subs({subs1, subs2, subs3, subs4},evalm(v_g...

v_gs := vector([xP_d-omega*(XQy+YQy), yP_d+omega*(X...

the guide velocity , because this is the velocity of the point which is fixed in the moving system and has currently the same position as the moving particle.

The total velocity is given by the guide velocity plus the velocity of Q inside the moving system

> vQ := v_g+vrel

vQ := vP+vrot+vrel

> evalm(vQ)

vector([xP_d-omega*(Xrho*eXy+Yrho*eYy)+Xrho_d*eXx+Y...

or written as components

> vx := evalm(vQ)[1]

vx := xP_d-omega*(Xrho*eXy+Yrho*eYy)+Xrho_d*eXx+Yrh...

> vy := evalm(vQ)[2]

vy := yP_d+omega*(Xrho*eXx+Yrho*eYx)+Xrho_d*eXy+Yrh...

> vz := evalm(vQ)[3]

vz := 0

Next we consider the accelerations. Here we denote the second derivative with respect to time by appending " _dd ", for example " r _dd ".

The acceleration of the origin of the moving system P is given by

> aP := vector(3,[xP_dd, yP_dd, 0])

aP := vector([xP_dd, yP_dd, 0])

The acceleration of Q inside the relative system is

> arels := vector(3,[XQx_dd+YQx_dd, XQy_dd+YQy_dd, 0]);

arels := vector([XQx_dd+YQx_dd, XQy_dd+YQy_dd, 0])

As above we can write for the derivatives

> subs9 := XQx_dd = Xrho_dd*eXx

> subs10 := YQx_dd = Yrho_dd*eYx

> subs11 := XQy_dd = Xrho_dd*eXy

> subs12 := YQy_dd = Yrho_dd*eYy

With this substitutions we get

> arel:=subs({subs9,subs10,subs11,subs12},eval(arels));

arel := vector([Xrho_dd*eXx+Yrho_dd*eYx, Xrho_dd*eX...

Now we consider the fixed point in the moving system which has currently the same position as the mass. This point is called the coinciding point .

Caused by the rotation of the moving coordinate system we get additionally an acceleration for this coinciding point, same as described above for the description of motions in polar coordinates.

> O_d := vector(3,[0, 0, o_d])

O_d := vector([0, 0, o_d])

We get for this acceleration the tangential component

> arot_t := crossprod(O_d,rho)

arot_t := vector([-o_d*(Xrho*eXy+Yrho*eYy), o_d*(Xr...

From subs1 to subs4 we get

> arot_ts:=subs({subs1,subs2,subs3,subs4},evalm(arot_t));

arot_ts := vector([-o_d*(XQy+YQy), o_d*(XQx+YQx), 0...

In the normal direction we get

> arot_n := crossprod(Omega,crossprod(Omega,rho))

arot_n := vector([-omega^2*(Xrho*eXx+Yrho*eYx), -om...

And again with use of subs1 to subs4

> arot_ns:=subs({subs1,subs2,subs3,subs4},evalm(arot_n));

arot_ns := vector([-omega^2*(XQx+YQx), -omega^2*(XQ...

At last we have in the general the coriolis acceleration

> acs := 2*crossprod(Omega,vrels)

acs := 2*vector([-omega*(XQy_d+YQy_d), omega*(XQx_d...

Now we use subs5 to subs8

> ac:=subs({subs5,subs6,subs7,subs8},evalm(acs));

ac := vector([-2*omega*(Xrho_d*eXy+Yrho_d*eYy), 2*o...

This part is always non-zero when a mass particle is moving in a rotating coordinate system.

We call

> a_g := aP+arot_t+arot_n

> evalm(a_g);

vector([xP_dd-o_d*(Xrho*eXy+Yrho*eYy)-omega^2*(Xrho...

and with use of the substitutions subs1 to subs4

> a_gs := subs({subs1, subs2, subs3, subs4},evalm(a_g...

a_gs := vector([xP_dd-o_d*(XQy+YQy)-omega^2*(XQx+YQ...

the guide acceleration , because this is the acceleration of the point which is fixed in the moving system.

The total acceleration is given by

> aQ:=evalm(a_g+ac+arel);

aQ := vector([xP_dd-o_d*(Xrho*eXy+Yrho*eYy)-omega^2...
aQ := vector([xP_dd-o_d*(Xrho*eXy+Yrho*eYy)-omega^2...

or written as components

> ax:=evalm(aQ)[1];

ax := xP_dd-o_d*(Xrho*eXy+Yrho*eYy)-omega^2*(Xrho*e...

> ay:=evalm(aQ)[2];

ay := yP_dd+o_d*(Xrho*eXx+Yrho*eYx)-omega^2*(Xrho*e...

> az:=evalm(aQ)[3];

az := 0

Example: Straight Motion on a Rolling Wheel

> unassign('v','v0','a','R','phi','omega','rho','vg','Pg','V','V0','vP','vrot','vQ','arot_t','arot_n','ac');

Here we consider a wheel with radius R rolling on the ground. On the wheel there is a mass particle m moving from the center in radial direction to the rim of the wheel. The velocity of the wheel should be constant. The mass particle has a constant velocity relative to the wheel. The situation is shown in Fig. 13 ( click the figure and press "play" on the button in the menu bar ).

> display(Fig_2_9(),insequence=true,scaling=constrained,axes=none, title="Figure 15");

[Maple Plot]

The inertial system to describe the situation is given by the x-y -system with the unit vectors e x and e y .

> ex:=vector(3,[1,0,0]);

ex := vector([1, 0, 0])

> ey:=vector(3,[0,1,0]);

ey := vector([0, 1, 0])

The relative motion is described by the moving X-Y- system with the time dependent unit vectors e X and e Y .

> eX:=vector(3,[eXx,eXy,0]);

eX := vector([eXx, eXy, 0])

> eY:=vector(3,[eYx,eYy,0]);

eY := vector([eYx, eYy, 0])

The origin of the X-Y -system is fixed at the center of the wheel, and the system rotates with the wheel.. The moving mass particle is shown as a blue dot in the figure. It moves with constant velocity in the direction of the X-axis. The fixed inertial system is called the global system, the moved system is called the local system.

The velocity of the center of the wheel is constant and points in the positive x- direction. The velocity is given by the vector

> v(t) := v0*ex

> evalm(v(t));

vector([v0, 0, 0])

We know that the velocity of the wheel is constant. That yields for the position vector

> P(t) := v0*t*ex

> evalm(P(t));

vector([v0*t, 0, 0])

The roation of the wheel will be described by the angle phi . At this point we ignore the relation between phi and the position. We will consider it later.

The local coordinates X and Y are also rotated by the angle phi from the orientation of the global x-y- system. This yields for the components of the unit vectors e X(t) and e Y(t)

> eXx := cos(phi(t))

> eXy := sin(phi(t))

> eYx := -sin(phi(t))

> eYy := cos(phi(t))

and for the unit vectors themselves we get

> eX:=map(eval,eX);

eX := vector([cos(phi(t)), sin(phi(t)), 0])

> eY:=map(eval,eY);

eY := vector([-sin(phi(t)), cos(phi(t)), 0])

The mass particle m moves with constant relative velocity V(t) in the direction of the local X -coordinate.

> V(t) := V0*eX

> evalm(V(t));

vector([V0*cos(phi(t)), V0*sin(phi(t)), 0])

The position of the mass with respect to the local X-Y -coordinate system is described by the vector rho(t) which is given by

> rho(t) := V0*t*eX

> evalm(rho(t));

vector([V0*t*cos(phi(t)), V0*t*sin(phi(t)), 0])

This vector is drawn in blue color in the figure above. The results of the above relations for V(t) and rho(t) which are activated by the Maple-command evalm are the descriptions of the vectors in the global coordinate system. The position of the mass particle m in global coordinates is given by

> Q(t) := P(t)+rho(t)

> Q(t):=evalm(Q(t));

Q(t) := vector([v0*t+V0*t*cos(phi(t)), V0*t*sin(phi...

For the components of the position we have in global coordinates

> xQ(t):=Q(t)[1];

xQ(t) := v0*t+V0*t*cos(phi(t))

> yQ(t):=Q(t)[2];

yQ(t) := V0*t*sin(phi(t))

> zQ(t):=Q(t)[3];

zQ(t) := 0

The rotation of the moved X-Y -coordinate system is described by the angle phi(t) , and the angle velocity of the rotation is given by

> omega:=diff(phi(t),t);

omega := diff(phi(t),t)

We use the vector

> Omega:=vector(3,[0,0,omega]);

Omega := vector([0, 0, diff(phi(t),t)])

which describes the rotation of the local system with respect to the global system.

The velocity of the mass particle m is compounded by the velocity of the origin P of the local coordinate system

> evalm(v(t));

vector([v0, 0, 0])

the relative velocity of the mass particle

> evalm(V(t));

vector([V0*cos(phi(t)), V0*sin(phi(t)), 0])

and additionally the velocity caused by the rotation of the local coordinate system.

> vrot(t) := crossprod(Omega,rho(t));

vrot(t) := vector([-diff(phi(t),t)*V0*t*sin(phi(t))...

We get the guide velocity

> v_g := v(t)+vrot(t)

> evalm(v_g);

vector([v0-diff(phi(t),t)*V0*t*sin(phi(t)), diff(ph...

The total velocity is the guide velocity plus the velocity of the mass particle m with respect to the local coordinate system

> vQ := evalm(v_g)+evalm(V(t))

vQ := vector([v0-diff(phi(t),t)*V0*t*sin(phi(t)), d...

> evalm(vQ)

vector([v0-diff(phi(t),t)*V0*t*sin(phi(t))+V0*cos(p...

or written as components

> vx:=evalm(vQ)[1];

vx := v0-diff(phi(t),t)*V0*t*sin(phi(t))+V0*cos(phi...

> vy:=evalm(vQ)[2];

vy := diff(phi(t),t)*V0*t*cos(phi(t))+V0*sin(phi(t)...

> vz:=evalm(vQ)[3];

vz := 0

Comparison with the derivative of the components of the position vector with respect to time yields

> diff(xQ(t),t)

v0-diff(phi(t),t)*V0*t*sin(phi(t))+V0*cos(phi(t))

> diff(yQ(t),t)

diff(phi(t),t)*V0*t*cos(phi(t))+V0*sin(phi(t))

> diff(zQ(t),t)

0

Of course, there is no difference between the solutions.

Next we consider the acceleration of the mass particle.

The acceleration of the origin of the local coordinate system P is given by

> a(t) := vector(3,[diff(v(t)[1],t), diff(v(t)[2],t),...

a(t) := vector([0, 0, 0])

This result was clear because the velocity of the origin P is constant.

The relative acceleration of the mass particle m is given by

> A(t) := vector(3,[diff(V(t)[1],t),diff(V(t)[2],t),diff(V(t)[3],t)]);

A(t) := vector([0, 0, 0])

Now we consider the acceleration of the coinciding point caused by the rotation of the local system.

The changing of the angular velocity with respect to time is given by the vector

> O_d := vector(3,[diff(Omega[1],t), diff(Omega[2],t)...

O_d := vector([0, 0, diff(phi(t),`$`(t,2))])

With this we get for the tangential part of the acceleration caused by the rotation

> arot_t(t) := crossprod(O_d,rho(t))

arot_t(t) := vector([-diff(phi(t),`$`(t,2))*V0*t*si...

and in the normal direction we have

> arot_n(t) := crossprod(Omega,crossprod(Omega,rho(t)...

arot_n(t) := vector([-diff(phi(t),t)^2*V0*t*cos(phi...

In this example the angular velocity is constant and so its derivative is zero. Then we get

> arot_t(t):=subs(diff(phi(t),`$`(t,2))=0,arot_t(t));

arot_t(t) := vector([0, 0, 0])

> arot_n(t):=subs(diff(phi(t),`$`(t,2))=0,arot_n(t));

arot_n(t) := vector([-diff(phi(t),t)^2*V0*t*cos(phi...

We see that only the acceleration in normal direction is different from zero.

At last we have the coriolis acceleration

> ac(t) := 2*crossprod(Omega,V(t))

ac(t) := 2*vector([-diff(phi(t),t)*V0*sin(phi(t)), ...

We collect now the guide acceleration

> a_g := a(t)+arot_t(t)+arot_n(t)

> evalm(a_g);

vector([-diff(phi(t),t)^2*V0*t*cos(phi(t)), -diff(p...

Of course, it is the same as the rotational acceleration in the normal direction, because all the other components are zero.

The total acceleration is given by

> aQ:=evalm(a_g+ac(t)+A(t));

aQ := vector([-diff(phi(t),t)^2*V0*t*cos(phi(t))-2*...

or written as components

> ax:=evalm(aQ)[1];

ax := -diff(phi(t),t)^2*V0*t*cos(phi(t))-2*diff(phi...

> ay:=evalm(aQ)[2];

ay := -diff(phi(t),t)^2*V0*t*sin(phi(t))+2*diff(phi...

> az:=evalm(aQ)[3];

az := 0

Comparison with the derivative of the components of the position vector in global coordinates yields

> diff(xQ(t),t$2);

-diff(phi(t),`$`(t,2))*V0*t*sin(phi(t))-2*diff(phi(...

> diff(yQ(t),t$2);

diff(phi(t),`$`(t,2))*V0*t*cos(phi(t))+2*diff(phi(t...

> diff(zQg(t),t$2);

diff(zQg(t),`$`(t,2))

We know that diff(phi(t),`$`(t,2)) = 0 and so the results are equal.

Now we want to have a look at some special cases .

Case 1. The wheel makes no rotation . It slides along the ground.

Then we get for the position

> x_slip:=subs(phi(t)=phi0,xQ(t));

x_slip := v0*t+V0*t*cos(phi0)

> y_slip:=subs(phi(t)=phi0,yQ(t));

y_slip := V0*t*sin(phi0)

For the velocity we get

> vx_slip:=eval(subs(phi(t)=phi0,vx));

vx_slip := v0+V0*cos(phi0)

> vy_slip:=eval(subs(phi(t)=phi0,vy));

vy_slip := V0*sin(phi0)

And for the acceleration

> ax_slip:=eval(subs(phi(t)=phi0,ax));

ax_slip := 0

> ay_slip:=eval(subs(phi(t)=phi0,ay));

ay_slip := 0

In this case we wave the sum of two translational motion with constant velocities. Then the general motion has no acceleration.

2. The center of the wheel doesn't make any translational motion, and the angular velocity omega0 is constant:

Then we get for the position of the mass particle

> x_rot:=subs({phi(t)=omega0*t,v0=0},xQ(t));

x_rot := V0*t*cos(omega0*t)

> y_rot:=subs({phi(t)=omega0*t,v0=0},yQ(t));

y_rot := V0*t*sin(omega0*t)

For the velocity we get

> vx_rot:=eval(subs({phi(t)=omega0*t,v0=0},vx));

vx_rot := -omega0*V0*t*sin(omega0*t)+V0*cos(omega0*...

> vy_rot:=eval(subs({phi(t)=omega0*t,v0=0},vy));

vy_rot := omega0*V0*t*cos(omega0*t)+V0*sin(omega0*t...

And for the acceleration

> ax_rot:=eval(subs({phi(t)=omega0*t,v0=0},ax));

ax_rot := -omega0^2*V0*t*cos(omega0*t)-2*omega0*V0*...

> ay_rot:=eval(subs({phi(t)=omega0*t,v0=0},ay));

ay_rot := -omega0^2*V0*t*sin(omega0*t)+2*omega0*V0*...

Here the acceleration is not 0, so we consider the components of the acceleration

The acceleration of the origin of the local coordinate system P is here

> a_rot_ori:=eval(subs({phi(t)=omega0*t,v0=0},a(t)));

a_rot_ori := vector([0, 0, 0])

Of course, there is no acceleration of point P, because we specified that this point doesn't move.

The relative acceleration of the mass particle m is in global coordinates given by the vector

> a_rot_rel:=map(eval,(subs({phi(t)=omega0*t,v0=0},A(t))));

a_rot_rel := vector([0, 0, 0])

Notice that the relative coordinates are defined by unambiguous relations with respect to the global coordinates. So here all results are given with respect to the global coordinates.

Caused by the rotation of the local coordinate system we get the acceleration

in tangential direction

> a_rot_tan:=map(eval,(subs({phi(t)=omega0*t,v0=0},arot_t(t))));

a_rot_tan := vector([0, 0, 0])

and in the normal direction we have

> a_rot_nor:=map(eval,(subs({phi(t)=omega0*t,v0=0},arot_n(t))));

a_rot_nor := vector([-omega0^2*V0*t*cos(omega0*t), ...

At last we have the coriolis acceleration

> a_rot_cor:=map(eval,(subs({phi(t)=omega0*t,v0=0},evalm(ac(t)))));

a_rot_cor := vector([-2*omega0*V0*sin(omega0*t), 2*...

We have now the guide acceleration as the sum of the parts a_rot_tan (t), a_rot_nor(t) and a(t)

> a_rot_gui:=map(eval,(subs({phi(t)=omega0*t,v0=0},evalm(a(t)+arot_t(t)+arot_n(t)))));

a_rot_gui := vector([-omega0^2*V0*t*cos(omega0*t), ...

3. The wheel rolls without sliding

This case can be sonsidered as a combination of the two situations above. The rotation of the wheel is given by the angle phi(t) = -P(t)[1]/R

wh ere P(t)[1] is the current position of the origin of the local coordinate system in x -direction. Then we get for the postion of the mass particle

> subs13:=phi(t)=-evalm(P(t))[1]/R;

subs13 := phi(t) = -v0*t/R

> x_reel:=subs(subs13,xQ(t));

x_reel := v0*t+V0*t*cos(-v0*t/R)

> y_reel:=subs(subs13,yQ(t));

y_reel := V0*t*sin(-v0*t/R)

For the velocity we get

> vx_reel:=eval(subs(subs13,vx));

vx_reel := v0-v0/R*V0*t*sin(v0*t/R)+V0*cos(v0*t/R)

> vy_reel:=eval(subs(subs13,vy));

vy_reel := -v0/R*V0*t*cos(v0*t/R)-V0*sin(v0*t/R)

And for the acceleration

> ax_reel:=eval(subs(subs13,ax));

ax_reel := -v0^2/R^2*V0*t*cos(v0*t/R)-2*v0/R*V0*sin...

> ay_reel:=eval(subs(subs13,ay));

ay_reel := v0^2/R^2*V0*t*sin(v0*t/R)-2*v0/R*V0*cos(...

Notice: The angle phi is choosen to start with the value 0 at the begining of the considered period. The negative sign is used, because usually the angle is counter clockwise defined positive.

The acceleration of the origin of the local coordinate system P is in the last case

> a_reel_ori:=eval(subs(subs13,a(t)));

a_reel_ori := vector([0, 0, 0])

Of cause this acceleration is zero, bacause the origin P makes a linear translational motion with constant velocity.

The relative acceleration of the mass particle m is in the global system

> a_reel_rel:=subs(subs13,A(t));

a_reel_rel := vector([0, 0, 0])

Caused by the rotation of the local coordinate system we get the acceleration

in the tangential direction

> a_reel_tan:=subs(subs13,arot_t(t));

a_reel_tan := vector([0, 0, 0])

and in the normal direction we have

> a_reel_nor:=map(eval,(subs(subs13,arot_n(t))));

a_reel_nor := vector([-v0^2/R^2*V0*t*cos(v0*t/R), v...

This is also the same result as the corresponding component in case 2 for omega0 = -v0/R .

At last we have the coriolis acceleration

> a_reel_cor:=map(eval,(subs(subs13,evalm(ac(t)))));

a_reel_cor := vector([-2*v0/R*V0*sin(v0*t/R), -2*v0...

This is also the same result as the accordingly part in case 2 for omega0 = -v0/R .

We have now the guide acceleration

> a_reel_gui:=map(eval,(subs(subs13,evalm(a(t)+arot_t(t)+arot_n(t)))));

a_reel_gui := vector([-v0^2/R^2*V0*t*cos(v0*t/R), v...

At last we consider the situation for some concrete values .

1. The wheel makes no rotation .

Let

> R:=1;v0:=1;V0:=0.1;phi0:=0;

R := 1

v0 := 1

V0 := .1

phi0 := 0

Then we get for the position

> evalf(x_slip);

1.1*t

> evalf(y_slip);

0.

For the velocity we get

> evalf(vx_slip);

1.1

> evalf(vy_slip);

0.

And for the acceleration

> evalf(ax_slip);

0.

> evalf(ay_slip);

0.

In this case the mass particle moves with constant velocity translational in one direction. There is no acceleration.

2. The center of the wheel don't make any translational motion and the angular velocity is constant:

Let

> R:=1;v0:=0;V0:=0.1;omega0:=-1;

R := 1

v0 := 0

V0 := .1

omega0 := -1

Then we get for the position of the mass particle

> evalf(x_rot);

.1*t*cos(t)

> evalf(y_rot);

-.1*t*sin(t)

For the velocity we get

> evalf(vx_rot);

-.1*t*sin(t)+.1*cos(t)

> evalf(vy_rot);

-.1*t*cos(t)-.1*sin(t)

And for the acceleration

> evalf(ax_rot);

-.1*t*cos(t)-.2*sin(t)

> evalf(ay_rot);

.1*t*sin(t)-.2*cos(t)

The time histories of this solution is shown in the following figures Fig. 16 - Fig. 18. The x -component is allways drawn in red color, the y -component in green.

> Px2:=plot(evalf(x_rot),t=0..10,color=red, thickness=3, legend="x(t)"):

> Py2:=plot(evalf(y_rot),t=0..10,color=green, thickness=3, legend="y(t)"):

> display({Px2,Py2},title="Figure 16 - Displacement");

[Maple Plot]

> Pvx2:=plot(evalf(vx_rot),t=0..10,color=red, thickness=3, legend="vx(t)"):

> Pvy2:=plot(evalf(vy_rot),t=0..10,color=green, thickness=3, legend="vy(t)"):

> display({Pvx2,Pvy2},title="Figure 17 - Velocity");

[Maple Plot]

> Pax2:=plot(evalf(ax_rot),t=0..10,color=red, thickness=3, legend="ax(t)"):

> Pay2:=plot(evalf(ay_rot),t=0..10,color=green, thickness=3, legend="ay(t)"):

> display({Pax2,Pay2},title="Figure 18 - Acceleration");

[Maple Plot]

Here we consider the components of the acceleration.

The acceleration of the origin of the local coordinate system P is in the last case

> evalm(a_rot_ori);

vector([0, 0, 0])

The relative acceleration of the mass particle m is in the global system

> evalf(a_rot_rel)[1];

0

> evalf(a_rot_rel)[2];

0

Caused by the rotation of the local coordinate system we get the acceleration

in the tangential direction

> evalf(a_rot_tan[1]);

0.

> evalf(a_rot_tan[2]);

0.

and in the normal direction we have

> evalf(a_rot_nor[1]);

-.1*t*cos(t)

> evalf(a_rot_nor[2]);

.1*t*sin(t)

At last we have the coriolis acceleration

> evalf(a_rot_cor[1]);

-.2*sin(t)

> evalf(a_rot_cor[2]);

-.2*cos(t)

We have now the guide acceleration

> evalf(a_rot_gui[1]);

-.1*t*cos(t)

> evalf(a_rot_gui[2]);

.1*t*sin(t)

3. The wheel rolls without sliding phi(t) = -P(t)[1]/R

Let be

> R:=1;v0:=1;V0:=0.1;

R := 1

v0 := 1

V0 := .1

Now we get for the postion of the particle

> evalf(x_reel);

t+.1*t*cos(t)

> evalf(y_reel);

-.1*t*sin(t)

For the velocity we get

> evalf(vx_reel);

1.-.1*t*sin(t)+.1*cos(t)

> evalf(vy_reel);

-.1*t*cos(t)-.1*sin(t)

And for the acceleration

> evalf(ax_reel);

-.1*t*cos(t)-.2*sin(t)

> evalf(ay_reel);

.1*t*sin(t)-.2*cos(t)

The time histories of this solution is shown in the following figures Fig. 19 - Fig. 21. The x -component is allways drawn in red color, the y -component in green.

> Px3:=plot(evalf(x_reel),t=0..10,color=red, thickness=3, legend="x(t)"):

> Py3:=plot(evalf(y_reel),t=0..10,color=green, thickness=3, legend="y(t)"):

> display({Px3,Py3},title="Figure 19 - Displacement");

[Maple Plot]

> Pvx3:=plot(evalf(vx_reel),t=0..10,color=red, thickness=3, legend="vx(t)"):

> Pvy3:=plot(evalf(vy_reel),t=0..10,color=green, thickness=3, legend="vy(t)"):

> display({Pvx3,Pvy3},title="Figure 20 - Velocity");

[Maple Plot]

> Pax3:=plot(evalf(ax_reel),t=0..10,color=red, thickness=3, legend="ax(t)"):

> Pay3:=plot(evalf(ay_reel),t=0..10,color=green, thickness=3, legend="ay(t)"):

> display({Pax3,Pay3},title="Figure 21 - Acceleration");

[Maple Plot]

The acceleration of the origin of the local coordinate system P is in the last case

> evalf(a_reel_ori)[1];

0

> evalf(a_reel_ori)[2];

0

Caused by the rotation of the local coordinate system we get the acceleration

in tangential direction

> evalf(a_reel_tan[1]);

0.

> evalf(a_reel_tan[2]);

0.

and in the normal direction we have

> evalf(a_reel_nor[1]);

-.1*t*cos(t)

> evalf(a_reel_nor[2]);

.1*t*sin(t)

We see the time history of the components of this part of the acceleration in Fig. 22.

> Pax3_nor:=plot(evalf(a_reel_nor)[1],t=0..10,color=red, thickness=3, legend="ax_normal(t)"):

> Pay3_nor:=plot(evalf(a_reel_nor)[2],t=0..10,color=green, thickness=3, legend="ay_normal(t)"):

> display({Pax3_nor,Pay3_nor},title="Figure 22");

[Maple Plot]

At last we have the coriolis acceleration

> evalf(a_reel_cor[1]);

-.2*sin(t)

> evalf(a_reel_cor[2]);

-.2*cos(t)

We see the time history of the components of this part of the acceleration in Fig. 23.

> Pax3_cor:=plot(evalf(a_reel_cor)[1],t=0..10,color=red, thickness=3, legend="ax_coriolis(t)"):

> Pay3_cor:=plot(evalf(a_reel_cor)[2],t=0..10,color=green, thickness=3, legend="ay_coriolis(t)"):

> display({Pax3_cor,Pay3_cor},title="Figure 23");

[Maple Plot]

We have now the guide acceleration

> evalf(a_reel_gui[1]);

-.1*t*cos(t)

> evalf(a_reel_gui[2]);

.1*t*sin(t)

Like we have seen above in the general consideration of this example this is the same as the normal component of the acceleration caused by the rotation of the local system, because all other parts are 0.

Finally we give some animations . But at first we define some simplified expressions for the further presentations.

We have the position of the mass particle in the local coordinate system

> X:=V0*t;

X := .1*t

> Y:=0;

Y := 0

Additionally we have the position of the local coordinate system

> x:=v0*t;

x := t

> y:=0;

y := 0

The local system is rotated by

> phi:=-v0*t/R;

phi := -t

For the acceleration we have the part of the guidance

> agx:=a_reel_gui[1];

agx := -.1*t*cos(t)

> agy:=a_reel_gui[2];

agy := .1*t*sin(t)

And for the coriolis acceleration we have

> acx:=a_reel_cor[1];

acx := -.2*sin(t)

> acy:=a_reel_cor[2];

acy := -.2*cos(t)

At first we repeat the figure from the beginning of this example (see the animation in Fig. 24). This shows the motion as people who are fixed in the global coordinate system see.

> display(Fig_2_9(),insequence=true,scaling=constrained,axes=none, title="Figure 24");

[Maple Plot]

Interesting is also what people see when they are moving themselves together with the local coordinate system. This is shown in the animation in Fig. 25

> display(Fig_2_10(R,x,y,X,Y,phi,t),insequence=true,scaling=constrained,axes=none, title="Figure 25");

[Maple Plot]

One of the most interesting things in this example are the accelerations. Fig 26 shows the guide acceleration (blue) and the coriolis acceleration (red) which act on the mass particle. The magenta arrow shows the sum of both parts. All the other parts of the acceleration are zero, as we have seen above. Additionally we see the trajectory of the motion of the mass particle (red line).

> display(Fig_2_11(R,x,y,X,Y,phi,agx,agy,acx,acy,t),insequence=true,scaling=constrained,axes=none, title="Figure 26");

[Maple Plot]

At last we see in Fig. 27 the same as above, but now from the point of view of someone who moves together with the local coordinate system.

> display(Fig_2_12(R,x,y,X,Y,phi,agx,agy,acx,acy,t),insequence=true,scaling=constrained,axes=none, title="Figure 27");

[Maple Plot]

>

Conclusion

In this example we can see the influence of the coriolis acceleration. This acceleration is only different from zero for the situation that there is a motion inside a rotating system. In our example the angular velocity of the rotation is constant, also the relative velocity is constant. This yields that the coriolis acceleration also is constant in its absolute value. Only its orientation is changing. The definition with use of the crossproduct yields that the orientation of the coriolis acceleration always points orthogonal to the plane, which is defined by the vectors Omega and V[rel] .