|
|
Integrating a rotated function inbetween two circles
Posted:
Nov 19, 2011 6:18 AM
|
|
Hi,
when you execute the following code you get a rotated parabolic function a x^2 rotated around the centre of coordinate system:
becher =. becher[a_, x_] = a x^2; rot = RotationTransform[(\[Theta]), {0, 0}] // FullSimplify bechergedreht =. bechergedreht[\[Theta]_, a_, r_, x_] = rot[{(x), becher[a, x - r]}] x$fuer$r[a_, b_, r_] = (x /. Solve[becher[a, x - r]^2 + x^2 == (r + b)^2, x])[[2]] // Simplify; ParametricPlot[ Table[bechergedreht[2 \[Pi] i/10, 1, 3, x], {i, 0, 9}], {x, 3, x$fuer$r[1, 2, 3]}, PlotRange -> 1.01 {{-5, 5}, {-5, 5}}, Epilog -> {Circle[{0, 0}, 3], Circle[{0, 0}, 5]}] {xstrich, ystrich} = bechergedreht[\[Theta], a, r, x]; loesungx = x /. Solve[xstrich == xs, x] // TrigFactor; bechergedreht$xstrich[\[Theta]_, a_, r_, xs_] = ystrich /. x -> loesungx // FullSimplify; Print["Mit n wird für Table die Anzahl der Schritte festgelegt."] Print["Mit n = 4 bekomme ich das erwartete Ergebnis."] n = 4; Plot[Table[ bechergedreht$xstrich[2 \[Pi] i/10, 1, 3, x], {i, 1, n}], {x, -4, 4}, AspectRatio -> 1, Epilog -> {Circle[{0, 0}, 3]}, PlotRange -> 1.01 {{-5, 5}, {-5, 5}}] Print["Mit n = 5 bekomme ich keinen Plot mehr."] n = 5; Plot[Table[ bechergedreht$xstrich[2 \[Pi] i/10, 1, 3, x], {i, 1, n}], {x, -4, 4}, AspectRatio -> 1, Epilog -> {Circle[{0, 0}, 3]}, PlotRange -> 1.01 {{-5, 5}, {-5, 5}}]
If you fill water into the cups on the right side you get a water wheel.
How do I manage the rotated function most efficiently, that is the well known pair of functions regrading to the rotation vector?
As you see I developed the function bechergedreht$xstrich, solving the x´(x) part of the rotating function to x(x´) and inserting this into the y´(x) part of the rotation vector. But this does not handle to well.
How can I calculate the surface oft the cups on the right side?
Kind regards
Peter
|
|