在Mathematica中沿3D路径移动AutoCad DXF实体

我发现了这篇文章,发现belisarius的答案很有趣。想知道他是否有人可以发帖  完整的mma代码并给出一些解释。一般来说,我的问题是如何在mma中实现这种广义/绘图行为。这看起来很神奇! 非常感谢。     
已邀请:
如果需要进一步说明,请告诉我。
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的家居装饰规则:     

要回复问题请先登录注册