分享一些有趣的Mathematica示例

上一篇:Wolfram Mathematica入门教程 | 高治中的个人空间 (xinyixx.com),写了简单的Mathematica使用方法,有同学表示再多了解一些。今天写了部分示例,再扩展一些相关知识,感受一下Mathematica的魅力。

以下基于Mathematica12.0版本实现:

1.用ParametricPlot3D函数绘制3D曲面-甜甜圈:

ParametricPlot3D[{(2 + Sin[v]) Sin[u], (2 + Sin[v]) Cos[u], 
  Cos[v]}, {u, 0, 2 Pi}, {v, 0, 2 Pi}]

2.用ParametricPlot3D绘制3D曲面-圆环:

ParametricPlot3D[{{4 + (3 + Cos[v]) Sin[u], 4 + (3 + Cos[v]) Cos[u], 
   4 + Sin[v]}, {8 + (3 + Cos[v]) Cos[u], 3 + Sin[v], 
   4 + (3 + Cos[v]) Sin[u]}}, {u, 0, 2 Pi}, {v, 0, 2 Pi}, 
 PlotStyle -> {Red, Green}]

3.用ParametricPlot3D生成由变量 t 参数化的三维空间曲线:

ParametricPlot3D[{Cos[t], Sin[t], t/10}, {t, 0, 20 Pi}, 
 ColorFunction -> (ColorData["Rainbow"][#4] &)]

4.生成朱利亚集合的图像:

JuliaSetPlot[-0.70176 - 0.3842 I, ColorFunction -> "SunsetColors"]

5.曼德勃罗特集:只要计算的点足够多,不管把图案放大多少倍,都能显示出更加复杂的局部,这些局部既与整体不同,又有某种相似的地方。图形具有无穷无尽的细节和自相似性。

MandelbrotSetPlot[]

6.绘制水星、金星、地球的参数线:

ParametricPlot[
 Evaluate[Table[{Cos[t + i], Sin[t + i]}/(1 + i/2), {i, 3}]], {t, 0, 
  2 Pi}, PlotLegends -> {"Mercury", "Venus", "Earth"}]

7.绘制一个周而复始的太阳系:

SolarSystemModel[] := 
 Animate[Graphics3D[
   Table[{Hue[(i - 1)/8], 
     Sphere[{Cos[t + i], Sin[t + i], 0}, 0.1]}, {i, 8}], 
   Boxed -> False, SphericalRegion -> True], {t, 0, 2 Pi}]

8.元胞自动机:它是一种时间、空间和状态都离散,空间相互作用和时间因果关系为局部的网格动力学模型,具有模拟复杂系统时空演化过程的能力。

ArrayPlot[CellularAutomaton[50, {{1}, 0}, {100, All}]]

9.绘制一个蝴蝶线条:

ParametricPlot3D[{Sin[t] (Exp[Cos[t]] - 2 Cos[4 t] - Sin[t/12]^5), 
  Cos[t] (Exp[Cos[t]] - 2 Cos[4 t] - Sin[t/12]^5), -Sin[t/12]^5}, {t, 
  0, 2 Pi}]

10.绘制化学3D分子模型:下图分别是乙醇、苯、水分子

MoleculePlot3D[Molecule["water"]]

11.用Dynamic函数实现的动态模型:

list = RandomReal[{-1, 1}, {100, 2}];

Dynamic[Graphics@Polygon[list = (list + RotateLeft@list)/2]]

感兴趣的同学可以在worlframe mathematica里尝试这几个示例。

顺便分享一个好用免费的Gif制作工具:https://www.screentogif.com/,有需要的同学可自行下载。

发表回复