# Mathematica绘制动态椭圆摆线（一）

## 三、椭圆摆线

h[x_] := Piecewise[{{ArcTan[4 Tan[t]], x <= 0.5 Pi},
{ArcTan[4 Tan[t]] + Pi, 0.5 Pi < x <= Pi},
{ArcTan[4 Tan[t]] + Pi, Pi < x <= 1.5 Pi},
{ArcTan[4 Tan[t]] + 2 Pi, 1.5 Pi < x <= 2 Pi}}];（*转动角度*）
a = Table[
Show[{
Plot[x^2, {x, 1, 3}, Axes -> True, AxesOrigin -> {0, 0},
AspectRatio -> 1/2, PlotStyle -> {Thick, White},
PlotRange -> {{-3, 12}, {-3, 5}}],
ParametricPlot[{ArcLength[Circle[{0, 0}, {1, 2}, {0, t}]] +
Cos[0.5 Pi - h[t] + t]*2/Sqrt[3*Sin[t]^2 + 1] -
2*Cos[0.5 Pi - h[t]],
Sin[0.5 Pi - h[t] + t]*2/Sqrt[3*Sin[t]^2 + 1] -
2*Sin[0.5 Pi - h[t]]}, {t, 0.0001, t},
PlotStyle -> {Thick, Blue}],
Graphics[{Red,
Disk[{ArcLength[Circle[{0, 0}, {1, 2}, {0, t}]] +
Cos[0.5 Pi - h[t] + t]*2/Sqrt[3*Sin[t]^2 + 1],
Sin[0.5 Pi - h[t] + t]*2/Sqrt[3*Sin[t]^2 + 1]}, 0.2]}],
ParametricPlot[{ArcLength[Circle[{0, 0}, {1, 2}, {0, t}]] +
Cos[0.5 Pi - h[t] + t]*2/Sqrt[3*Sin[t]^2 + 1],
Sin[0.5 Pi - h[t] + t]*2/Sqrt[3*Sin[t]^2 + 1]}, {t, 0.0001, t},
PlotStyle -> {Thick, Green}],
Graphics[
Rotate[{Red, Thick,
Circle[{ArcLength[Circle[{0, 0}, {1, 2}, {0, t}]] +
Cos[0.5 Pi - h[t] + t]*2/Sqrt[3*Sin[t]^2 + 1],
Sin[0.5 Pi - h[t] + t]*2/Sqrt[3*Sin[t]^2 + 1]},
{1, 2}
], AxesStyle -> {Thick, Black, Black}},
-h[t]]
]
}], {t, 0.001, 2 Pi, 0.04 Pi}]
Export["e:/Program Files/math files/椭圆滚动69.gif", a,
ImageResolution -> 100];

• 点赞 3
• 评论
• 分享
x

海报分享

扫一扫，分享海报

• 收藏 1
• 手机看

分享到微信朋友圈

x

扫一扫，手机阅读

• 打赏

打赏

山水之间life

你的鼓励将是我创作的最大动力

C币 余额
2C币 4C币 6C币 10C币 20C币 50C币
• 一键三连

点赞Mark关注该博主, 随时了解TA的最新博文
12-02 211

11-13
05-05 9735
02-12 5443
05-08 2876
06-04 4934
11-06 1万+