栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > 资讯 > 综合新闻

莫比乌斯环:python-matplotlib可视化实现

莫比乌斯环:python-matplotlib可视化实现

1 说明:

=====

1.1 莫比乌斯环:mobius strip,又叫莫比乌斯带。

1.2 公元1858年,德国数学家莫比乌斯(Mobius,1790~1868)和约翰·李斯丁发现。

图片来自网络,仅供学习

1.3 即把一根纸条扭转180°后,两头再粘接起来做成的纸带圈。

图片来自今日头条

1.4 这样的纸带只有一个面(即单侧曲面),蚂蚁可以爬遍整个曲面而不必跨过它的边缘。

图片来自网络,仅供学习

1.5 华为老总任正非说过,我们国家一定要重视教育,而基础科学包括数学和物理是关键。

2 python+matplotlib:

===============

2.1 代方法一&码一:

代码来源:

https://blog.csdn.net/qq_39119949/article/details/88826103
#第1步:导入模块from matplotlib.tri import Triangulationimport matplotlib.pyplot as pltimport numpy as np#第2步:定一个画布和3d显示,必须必#以前说过一维和二维,且非动画可以不设置,那就是默认fig = plt.figure()#创建一个三维坐标轴ax = plt.axes(projection='3d')#第3步:参数定义# 一个维度定义为 θ,取值范围为0~2π;theta = np.linspace(0, 2 * np.pi, 30)# 另一个维度是 w,取值范围是 -1~1,表示莫比乌斯带的宽度w = np.linspace(-0.25, 0.25, 8)#生成:坐标矩阵w, theta = np.meshgrid(w, theta)# 对于一条莫比乌斯带,必然会有环的一半扭转 180 度# 即 ΔΦ = Δθ / 2phi = 0.5 * theta# x - y平面内的半径r = 1 + w * np.cos(phi)#将多维数组降为一维#返回视图(view),即对降维后的数据做修改会影响原始矩阵#定义X,Y,Z三个坐标轴的数据集x = np.ravel(r * np.cos(theta))y = np.ravel(r * np.sin(theta))z = np.ravel(w * np.sin(phi))#第3步:三角#三角测量tri = Triangulation(np.ravel(w), np.ravel(theta))#用函数填满4个点组成的三角形空间ax.plot_trisurf(x, y, z, triangles=tri.triangles,cmap='viridis', linewidths=0.2)#x,y和z的坐标刻度取值范围ax.set_xlim(-1, 1)ax.set_ylim(-1, 1)ax.set_zlim(-1, 1)#图片展示plt.show()

2.2 图1:

2.3 方法二&代码二:

#https://www.cnblogs.com/HuZihu/p/9441217.html  #国人改进后#https://matplotlib.org/gallery/mplot3d/trisurf3d_2.html?highlight=mobius  #官网

代码来源:

#第1步:导入模块import numpy as npimport matplotlib.pyplot as pltimport matplotlib.tri as mtri#第2步:初始化画布和3d设置fig = plt.figure()ax = plt.axes(projection='3d')#第3步:参数设置# u, v 两个变量的产生,等差序列u = np.linspace(0, 2*np.pi, endpoint=True, num=50)v = np.linspace(-1, 1, endpoint=True, num=50)#用meshgrid函数来产生三维绘图时的矩阵u,v=np.meshgrid(u,v) u=u.flatten() #把u展开,变成一维数组v=v.flatten() #把v展开,变成一维数组#x、y和z轴上的数据x = (1 + 0.5 * v * np.cos(u / 2.0)) * np.cos(u)y = (1 + 0.5 * v * np.cos(u / 2.0)) * np.sin(u)z = 0.5 * v * np.sin(u / 2.0)#第4步:三角形成和展示tri = mtri.Triangulation(u, v)#颜色模块:cool,美艳ax.plot_trisurf(x,y,z,cmap="cool",triangles=tri.triangles)#3个轴的刻度取值范围ax.set_xlim(-1.1, 1.1)ax.set_ylim(-1.1, 1.1)ax.set_zlim(-1, 1)#展示plt.show()

2.4 图2:

3 莫比乌斯环的应用和意义:

====================

3.1 国内比较著名的建筑,灵感来自莫比乌斯环,是北京凤凰国际媒体中心。

图片来自今日头条

3.2 莫比乌斯环意义:

===============

3.2.1 数学意义:

是一种拓扑学结构,它只有一个面,和一个边界。

3.2.2 哲学意义:

这个平面没有开始与结尾,循环往复且无止无休,因此“∞”被定义为无限大的同时,也象征亘古永恒。

引申符号:∞→infinity→无限(大)

3.2.3 爱情意义:

莫比乌斯对戒,象征永恒的爱。

普及知识,这种戒指叫:莫比乌斯对戒

题外话:我没买过这个,感觉我是一个假结婚的人了。哈哈哈哈。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/news/1023149.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号