球体不显示|数学

Posted

技术标签:

【中文标题】球体不显示|数学【英文标题】:Sphere doesn't show| Mathematica 【发布时间】:2017-10-05 01:40:49 【问题描述】:

您好,我正在 3d 表面上创建布朗运动的模拟,因此我尝试将 3dplot 和动画功能联系起来。 一切都在编译,没有任何错误,但我的问题是我想在表面上随机移动的球体没有显示(当然也没有动画)。 可能是什么问题呢?代码如下:

Z[x_, y_] :=  4 x + 3 y - 2         
r = 0.05
Bok = 100
X[1] = RandomReal[0, Bok]
Y[1] = RandomReal[0, Bok]
Z[1] := Z[X1, Y1]
P[1] = Point[X1, Y1, Z1]

For[i = 1, i < 1000, i++, X[i + 1] = X[i] + RandomChoice[0.1, -0.1];
Y[i + 1] = Y[i] + RandomChoice[0.1, -0.1];
Z[i + 1] = Z[X[i + 1], Y[i + 1]];
P[i + 1] := Table[ Point[X[i + 1], Y[i + 1], Z[i + 1]], i, 1000];
(*Print[P[i+1]]*)
]

Animate[
Show[
Plot3D[Z[x, y], x, 0, Bok, y, 0, Bok, 
ColorFunction -> "DarkRainbow", Mesh -> None],
Graphics3D[
Black, Sphere[P[i], r]
]
],
i, 1, 1000
]

【问题讨论】:

Sphere 想要一个坐标列表作为参数,而不是Point。那必须抛出一个错误(你的图形框是粉红色的吗?) 【参考方案1】:

给你一个开始...

funcZ[x_, y_] := 4 x + 3 y - 2
r = 0.05;
Bok = 100;
X[1] = RandomReal[0, Bok];
Y[1] = RandomReal[0, Bok];
Z[a_] := funcZ[X[a], Y[a]]
P[1] = X[1], Y[1], Z[1];

For[i = 1, i < 1000, i++,
 X[i + 1] = X[i] + RandomChoice[0.1, -0.1];
 Y[i + 1] = Y[i] + RandomChoice[0.1, -0.1];
 P[i + 1] = X[i + 1], Y[i + 1], Z[i + 1]]

ar = Array[P, 1000];

plotrange = Through[Min, Max[#]] & /@ Transpose[ar];

g = Graphics3D[Black, Point[Array[P, 1000]], BoxRatios -> 1, 1, 1]

【讨论】:

以上是关于球体不显示|数学的主要内容,如果未能解决你的问题,请参考以下文章

THREEJS在360立体视频球体前显示一个object3D

openGL如何在改变窗口大小时,使自己的图形不被拉伸

VB WPF 标签内容不显示数学计算

word中数学公式显示不出来,怎么办

SceneKit 球体法线似乎随着相机移动而改变?

请帮我写个SQL SERVER的语句,显示:姓名 语文 数学 英语 历史 格式不知道怎么写,请看补充: