【问题标题】:Moving an AutoCad DXF solid along a 3D path in Mathematica在 Mathematica 中沿 3D 路径移动 AutoCAD DXF 实体
【发布时间】:2011-08-01 23:05:32
【问题描述】:

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

非常感谢。

【问题讨论】:

  • 编辑并向全世界公开问题
  • @belisarius:向世界敞开大门,然后迅速将您的解决方案打倒! :)
  • @Simon 是的。自从强对另一个问题发表评论后,我一直在研究它。我们已按顺序完成所有代表业务设置:)
  • @belisarius:一个完美的计划!顺便说一句,谈到“代表业务”,我在 default ColorData in Plot 问题上放弃了 100 个代表......因为这个问题可能是不可能的(除非你在 WRI 工作)我怀疑它会有所帮助。

标签: wolfram-mathematica autocad


【解决方案1】:

如果需要进一步解释,请告诉我。

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的家装规定:

【讨论】:

  • @Mr.Wizard 我们可以有一架蓝色的直升机而不是粉红色的吗?它与我的地毯不匹配。
  • @Sjoerd @belisarius 你们疯了!
  • 另外,蓝色的和我的有点不同步。请修复它。
  • @Mr.Wizard @belisarius ;-) 这一切都在旁观者的眼中。
  • @Mr.我将我的与土星环的第四谐波同步,这对于在 Sjoerd 的家居装饰计划中保持 Ying 平衡至关重要,正如他在怀疑论者讨论板上的干预所清楚表明的那样。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-31
  • 2014-02-17
  • 1970-01-01
  • 1970-01-01
  • 2011-09-03
  • 2011-05-26
相关资源
最近更新 更多