I'd like to make an animation showing how we wrap a rectangle to form a cylinder (by joining a pair of parallel sides).
Here's my first pass:
Manipulate[
ParametricPlot3D[
t {Cos[theta], Sin[theta], rho} + (1 - t) {rho, -1, theta},
{theta, -Pi, Pi}, {rho, 0, 2},
PlotRange -> {{-1.5, 1.5}, {-1.5, 1.5}, {-1.5, 1.5}},
PerformanceGoal -> "Quality", ViewPoint -> {-2.3, 0.77, -2},
ViewVertical -> {-0.08, 1, -0.06}],
{t, 0, 1}]
I'd much prefer the simpler looking transformation (without the twists this animation shows) which we'd do by simply rotating the pair of parallel sides until they touch to form the cylinder.
Answer
Think of this as of a flexible strip of fixed length glued to the side of a cylinder with shrinking radius. If radius >> strip length, strip looks almost flat. Making radius smaller will curve the strip more and more until its ends meet.
Manipulate[
ParametricPlot3D[{Sin[t]/a, Cos[t]/a, u}, {t, 0, a}, {u, 0, .5},
Boxed -> False, Axes -> False, PerformanceGoal -> "Quality",
ImageSize -> {300, 300}, MeshStyle -> Opacity[.3],
PlotStyle -> Directive[Opacity[0.7], Orange, Specularity[White, 50]],
ViewPoint -> {-2, 2, -2}, BoundaryStyle -> Directive[Black, Opacity[.3]]],
{{a, .01, "wrap"}, 0.01, 2 Pi}]
Comments
Post a Comment