3

我遇到了这篇文章,发现贝利撒留的回答很有趣。想知道他是否有人可以发布 完整的 mma 代码并给出一些解释。一般来说,我的问题是关于如何在 mma 中实现这种动画/绘图行为。对我来说看起来很神奇!

非常感谢。

4

1 回答 1

3

请告诉我是否需要进一步解释。

x[t_] := {Cos@t, Sin@t, .1  t} /; t <= 3 Pi;
x[t_] := {Cos@t, Sin@t, .3 Pi  (4 - t/Pi)} /; t > 3 Pi;
plotRange = {{-110, 110}, {-110, 110}, {-10, 110}};
z1 = ParametricPlot3D[100 x[t], {t, 0, 4 Pi}, PlotRange -> plotRange];
hel = Import["ExampleData/helicopter.dxf.gz", 
   ViewPoint -> {10, 10, 10}, AlignmentPoint -> {80, 80, 80}];

zz = Table[
   Show[z1, 
    Graphics3D[
     Translate[Rotate[First[hel], t + Pi/2, {0, 0, 1}], 100 x[t]]], 
    PlotRange -> plotRange], {t, 0, 4 Pi, 4 Pi/15}];
Export["c:\\test.gif", zz, "DisplayDurations" -> .5]

(* Or
 Animate[Show[z1, 
   Graphics3D[
    Translate[Rotate[First[hel], t + Pi/2, {0, 0, 1}], 100 x[t]]], 
   PlotRange -> plotRange], {t, 0, 4 Pi}]

在此处输入图像描述

可以使用曲线导数计算螺旋旋转。现在懒得做。

编辑

遵守 Sjoerd 的家居装修规则:

在此处输入图像描述

于 2011-04-09T05:29:39.007 回答