FW: Re: Ball Rolling down on Cosh[t] Path
- To: mathgroup at smc.vnet.net
- Subject: [mg36766] FW: [mg36738] Re: Ball Rolling down on Cosh[t] Path
- From: Blimbaum Jerry DLPC <BlimbaumJE at ncsc.navy.mil>
- Date: Tue, 24 Sep 2002 01:34:17 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
I'd like to add a JLink animation of the rolling ball based on Selwyn's
solution:
UseFrontEndForRendering = False;
createWindow[] := Module[{frame},
frame = JavaNew["com.wolfram.jlink.MathFrame", "Doppler Animation"];
drawArea = JavaNew["com.wolfram.jlink.MathCanvas"];
drawArea@setUsesFE[UseFrontEndForRendering];
drawArea@setSize[800, 600];
JavaBlock[frame@setLayout[JavaNew["java.awt.BorderLayout"]];
frame@add[drawArea, ReturnAsJavaObject[BorderLayout`CENTER]];
frame@pack[];
frame@setSize[800, 600];
frame@setLocation[200, 200];
JavaShow[frame]];
frame
]
drawRoll[t_] :=
Show[curve,
Graphics[{RGBColor[1, 0, 0], Disk[{xx[t], Cosh[xx[t]]}, 0.05]}],
PlotRange -> {{-1.2, 1.2}, {0.9, 1.65}}, AspectRatio -> Automatic,
Axes -> None, DisplayFunction -> Identity];
times = Range[0, 5, .05];
LoadJavaClass["java.lang.Thread"];
AnimationPlot[t_List] := JavaBlock[Block[{frm},
frm = createWindow[];
Map[(obj = drawRoll[#];
drawArea@setMathCommand["obj"];
drawArea@repaintNow[];
Thread@sleep[5];) &, t
]
]]
AnimationPlot[times]
jerry blimbaum panama city, fl
-----Original Message-----
From: Selwyn Hollis [mailto:slhollis at earthlink.net]
To: mathgroup at smc.vnet.net
Subject: [mg36766] [mg36738] Re: Ball Rolling down on Cosh[t] Path
Matthias,
The simplest way to get the equation of motion is to set up the
Lagrangian. Let's assume a 1 kg mass. Then the kinetic energy is
KE = Simplify[(1/2)*(x'[t]^2 + D[Cosh[x[t]],t]^2)]
and the potential energy is
PE = 9.8*Cosh[x[t]]
The Lagrangian is
L = KE - PE
and the equation of motion is
diffeq =
Simplify[ D[D[L, x'[t]], t] ] == Simplify[ D[L, x[t]] ]
Now solve and animate ...
xx[t_] = x[t]/. First[
NDSolve[{diffeq, x[0] == -1, x'[0] == 0}, x[t], {t, 0, 5}]]
curve = Plot[Cosh[x], {x, -1, 1}]
Do[
Show[curve,
Graphics[Disk[{xx[t], Cosh[xx[t]]}, 0.025]],
PlotRange -> {{-1.2, 1.2}, {0.9, 1.65}},
AspectRatio -> Automatic, Axes->None],
{t, 0, 5, 0.1}]
----
Selwyn Hollis
Matthias.Bode at oppenheim.de wrote:
> Dear Colleagues,
>
> I intend to make an animation in which
>
> ball A rolls down on an inclined plane from the left whilst
>
> ball B - starting from the same height - rolls down Cosh[t]'s path from
the
> right.
>
> x-axis is time t, y-axis is height h.
>
> Ball A is fine; ball B - which should arrive at h=0 before A - is beyond
my
> means.
>
> Thank you for your consideration,
>
> Matthias Bode
> Sal. Oppenheim jr. & Cie. KGaA
> Koenigsberger Strasse 29
> D-60487 Frankfurt am Main
> GERMANY
> Tel.: +49(0)69 71 34 53 80
> Mobile: +49(0)172 6 74 95 77
> Fax: +49(0)69 71 34 95 380
> E-mail: matthias.bode at oppenheim.de
> Internet: http://www.oppenheim.de
>
>