level 1
明朗
楼主
data = {}
For[i = 1, i <= 20000,
i++, {\[Phi] = RandomReal[{0, 2 Pi}], t = RandomReal[{0, 1}],
x[i] = Sqrt[1 - t^2] Sin[\[Phi]], y[i] = Sqrt[1 - t^2] Cos[\[Phi]],
z[i] = t}; AppendTo[data, {x[i] , y[i] , z[i]}]]
ListPlot3D[{data}, Mesh -> None]

如果改成全球面 即在z的表达式里加入正负
data = {}
For[i = 1, i <= 20000,
i++, {\[Phi] = RandomReal[{0, 2 Pi}], t = RandomReal[{0, 1}],
a = If[RandomReal[{0, 1}] > 0.5, 1, -1],
x[i] = Sqrt[1 - t^2] Sin[\[Phi]], y[i] = Sqrt[1 - t^2] Cos[\[Phi]],
z[i] = t*a}; AppendTo[data, {x[i] , y[i] , z[i]}]]
ListPlot3D[{data}, Mesh -> None]

为什么出来的不是一个球体 而是一个椭球体
2019年02月14日 09点02分
1
For[i = 1, i <= 20000,
i++, {\[Phi] = RandomReal[{0, 2 Pi}], t = RandomReal[{0, 1}],
x[i] = Sqrt[1 - t^2] Sin[\[Phi]], y[i] = Sqrt[1 - t^2] Cos[\[Phi]],
z[i] = t}; AppendTo[data, {x[i] , y[i] , z[i]}]]
ListPlot3D[{data}, Mesh -> None]

如果改成全球面 即在z的表达式里加入正负data = {}
For[i = 1, i <= 20000,
i++, {\[Phi] = RandomReal[{0, 2 Pi}], t = RandomReal[{0, 1}],
a = If[RandomReal[{0, 1}] > 0.5, 1, -1],
x[i] = Sqrt[1 - t^2] Sin[\[Phi]], y[i] = Sqrt[1 - t^2] Cos[\[Phi]],
z[i] = t*a}; AppendTo[data, {x[i] , y[i] , z[i]}]]
ListPlot3D[{data}, Mesh -> None]

为什么出来的不是一个球体 而是一个椭球体
