Wolfram mathematica 在mathematica中维护图形3D的一致绘图区域
我正在尝试使用Wolfram mathematica 在mathematica中维护图形3D的一致绘图区域,wolfram-mathematica,bounding-box,graphics3d,Wolfram Mathematica,Bounding Box,Graphics3d,我正在尝试使用动画与图形3d一起制作具有振荡长度的向量列表。基本上,从原点绘制随机三维向量列表。然后,向量的长度由具有随机相位的余弦函数控制 比如说, randomVec[r_] := r*Normalize@RandomVariate[NormalDistribution[], 3] vecs = Table[randomVec[i], {i, 10^2}]; hues = Table[RandomReal[], {i, 10^2}]; rans = Table[RandomReal[], {
动画
与图形3d
一起制作具有振荡长度的向量列表。基本上,从原点绘制随机三维向量列表。然后,向量的长度由具有随机相位的余弦函数控制
比如说,
randomVec[r_] := r*Normalize@RandomVariate[NormalDistribution[], 3]
vecs = Table[randomVec[i], {i, 10^2}];
hues = Table[RandomReal[], {i, 10^2}];
rans = Table[RandomReal[], {i, 10^2}];
Animate[
Graphics3D[
Table[{Hue[hues[[i]]],
Arrow[Tube[{{0, 0, 0},
vecs[[i]] + Cos[\[Eta] + rans[[i]]*Pi]*vecs[[i]]},
Scaled[0.007]]]}, {i, 10^2}],
Boxed -> False, AxesOrigin -> {0, 0, 0},
ViewPoint -> {Pi, Pi, Pi}],
{\[Eta], 0, 2*Pi}]
但是,当我运行这段代码时,动画的原点似乎在查看帧内反弹。如何强制图形3d
每次在动画中调用时都使用完全相同的查看框
此外,这段代码可能是低效的,所以任何有关如何使其动画更顺利的提示将不胜感激 我认为在您的案例中,首先要尝试的是添加一个
PlotRange->{{xmin, xmax},{ymin, ymax},{zmin, zmax}}
选择权
它将控制立方体的大小,而不受计算结果的影响
数据
您可能还需要查看选项BoxRatios
和spherecalRegion
,以便更好地缩放结果。很好,一起使用PlotRange
和spherecalRegion
使其看起来很好。现在我只想尝试平滑动画…动画是伟大的快速建立一个互动动画。问题是它降低了计算速度的分辨率。如果要生成最终的平滑动画,可能需要对其进行预计算,有几种方法。这值得再问一个问题,我建议你在mathematica.stackexchange问这个问题,那里有很多专家。