数学建模--三维图像绘制的Python实现

这篇具有很好参考价值的文章主要介绍了数学建模--三维图像绘制的Python实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1.绘制三维坐标轴的方法

2.绘制三维函数的样例1 

3.绘制三维函数的样例2

4.绘制三维函数的样例3

 5.绘制三维函数的样例4

 6.绘制三维函数的样例5


1.绘制三维坐标轴的方法

#%%
#1.绘制三维坐标轴的方法
from matplotlib import pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
#开始绘图
#采用方法1或者方法2都能够建立三维坐标轴
fig=plt.figure()
"""
就个人而言还是比较推荐方法1的.
因为再使用方法二的时候,某些函数再jupyter中不能够运行,最后显示的图片是空白甚至报错!
"""
ax1=plt.axes(projection='3d')#方法1
ax2=Axes3D(fig)#方法2
plt.xlabel("x")
plt.ylabel("y")
plt.title("A blank 3D axis")
plt.savefig('C:/Users/Zeng Zhong Yan/Desktop/空白三维轴.png', dpi=500, bbox_inches='tight')

数学建模--三维图像绘制的Python实现,数学建模,数学建模,python

2.绘制三维函数的样例1 

fig = plt.figure()  #定义新的三维坐标轴
ax3 = plt.axes(projection='3d')

#定义三维数据
xx = np.arange(-5,5,0.5)
yy = np.arange(-5,5,0.5)
X, Y = np.meshgrid(xx, yy)
Z = np.sin(X)+np.cos(Y)

#作图
ax3.plot_surface(X,Y,Z,rstride = 1, cstride = 1,cmap='rainbow')
plt.xlabel("x")
plt.ylabel("y")
plt.title("3D surface plot")
plt.savefig('C:/Users/Zeng Zhong Yan/Desktop/三维曲面.png', dpi=500, bbox_inches='tight')
plt.show()

 文章来源地址https://www.toymoban.com/news/detail-699976.html

数学建模--三维图像绘制的Python实现,数学建模,数学建模,python

3.绘制三维函数的样例2

#绘制等高线曲面tu
from matplotlib import pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

#定义坐标轴
fig4 = plt.figure()
ax4 = plt.axes(projection='3d')

#生成三维数据
xx = np.arange(-5,5,0.1)
yy = np.arange(-5,5,0.1)
X, Y = np.meshgrid(xx, yy)
Z = np.cos(np.sqrt(X**2+Y**2))

#作图,分别向对应的面做投影线,增强效果美感
ax4.plot_surface(X,Y,Z,alpha=0.3,cmap='winter')     #生成表面, alpha 用于控制透明度
ax4.contour(X,Y,Z,zdir='z', offset=-3,cmap="rainbow")  #生成z方向投影,投到x-y平面
ax4.contour(X,Y,Z,zdir='x', offset=-6,cmap="rainbow")  #生成x方向投影,投到y-z平面
ax4.contour(X,Y,Z,zdir='y', offset=6,cmap="rainbow")   #生成y方向投影,投到x-z平面
#设定显示范围
ax4.set_xlabel('X')
ax4.set_xlim(-6, 4)  
ax4.set_ylabel('Y')
ax4.set_ylim(-4, 6)
ax4.set_zlabel('Z')
ax4.set_zlim(-3, 3)
plt.title("Contour surface plot")
plt.savefig('C:/Users/Zeng Zhong Yan/Desktop/等高线图.png', dpi=500, bbox_inches='tight')
plt.show()

  

数学建模--三维图像绘制的Python实现,数学建模,数学建模,python

4.绘制三维函数的样例3

#再绘制一个3D彩面图
%matplotlib inline
%config InlineBackend.figure_format = 'retina'
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

# x,y的导入
x=np.linspace(-3,3,1000)
y=np.linspace(-3,3,1000)
x, y = np.meshgrid(x,y)
z = (1 - x / 2 + x ** 5 + y ** 3) * \
    np.exp(-(x *x+y *y))

# 绘制图片
fig = plt.figure()
plt.title("3D Light Surface", fontsize=18)
#ax3d = Axes3D(fig) #写第一种图片总是出不来,我们一般推荐第种写法
ax3d = mp.axes(projection="3d")    # 同样可以实现
ax3d.set_xlabel("X",color='r')
ax3d.set_ylabel("Y",color='r')
ax3d.set_zlabel("Z",color='r')

plt.tick_params(labelsize=10)
ax3d.plot_surface(x, y, z, rstride=20,cstride=20,  cmap="jet")
plt.savefig('C:/Users/Zeng Zhong Yan/Desktop/3D彩色图片.png', dpi=500, bbox_inches='tight')
plt.show()

 

数学建模--三维图像绘制的Python实现,数学建模,数学建模,python

 5.绘制三维函数的样例4

#再画一个利用coolwarm类型的图
import pylab as plt
import numpy as np
#数据处理
X=np.linspace(-6,6,1000)
Y=np.linspace(-6,6,1000)
X,Y=np.meshgrid(X,Y)
#设置绘图
#推荐plt.axes的写法,不容易出现图像显示空白的情况
ax=plt.axes(projection="3d")

Z=np.sin(np.sqrt(X*X+Y*Y))

surf=ax.plot_surface(X,Y,Z,cmap="coolwarm")
plt.colorbar(surf)
ax.set_xlabel("X",color='r')
ax.set_ylabel("Y",color='r')
plt.title("3D CoolWarm Surface", fontsize=10)
plt.savefig('C:/Users/Zeng Zhong Yan/Desktop/3D CoolWarm Surface.png', dpi=500, bbox_inches='tight')
plt.show()

数学建模--三维图像绘制的Python实现,数学建模,数学建模,python

 6.绘制三维函数的样例5

#最后一张难度比较大一点的图片
#首先引入必要的库
import numpy as np
import matplotlib.pyplot as plt
import mpl_toolkits.axisartist as axisartist
from mpl_toolkits.mplot3d import Axes3D 
from matplotlib import cm  

#数据处理
X1=np.linspace(-6,6,2000)
Y1=np.linspace(-6,6,2000)
x,y=np.meshgrid(X1,Y1)
#代入计算行数
def gaussian_fun(x,y,mu_x,mu_y,sigma_x,sigma_y):
    f_x_y = 1/(sigma_x*sigma_y*(np.sqrt(2*np.pi))**2)*np.exp(-np.power\
              (x-mu_x, 2.)/(2*np.power(sigma_x,2.))-np.power(y-mu_y, 2.)/\
              (2*np.power(sigma_y,2.)))
    return(f_x_y)
mu_x=0
mu_y=0
sigma_x=0.8
sigma_y=0.8
F_x_y = gaussian_fun(X,Y,mu_x,mu_y,sigma_x,sigma_y)
#可视化处理
fig = plt.figure()
ax = plt.axes(projection='3d')
ax.plot_surface(X,Y,F_x_y,cmap='jet')
# 显示等高线图
plt.xlabel("x",color='r')
plt.ylabel("y",color='r')
plt.title("Gaussian Function Figure",color='r')
plt.savefig('C:/Users/Zeng Zhong Yan/Desktop/Gaussian Function Figure.png', dpi=500, bbox_inches='tight')
plt.show()

 

数学建模--三维图像绘制的Python实现,数学建模,数学建模,python

 

到了这里,关于数学建模--三维图像绘制的Python实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数学建模--Radar图绘制

       最近在数学建模中碰见需要绘制Radar图(雷达图)的情况来具体分析样本的各个特征之间的得分与优劣关系,这样的情况比较符合雷达图的使用场景,一般来说,雷达图适用于展示多个维度的数据,并在一个平面上直观地呈现出不同维度的变化趋势,比较适用的场合如下:

    2024年01月23日
    浏览(36)
  • MATLAB数学建模:数据图形可视化-三维绘图函数

    在 MATLAB 中, 我们可使用函数 surf 和 surfc 绘制三维曲面图. 调用格式如下: 以矩阵 ZZZ 所指定的参数创建一个渐变的三维曲面. 坐标 $x = 1:n, y = 1:m, $ 其中 [m,n]=size(Z)[m,n] = size(Z)[m,n]=size(Z) 以 ZZZ 确定的曲面高度和颜色, 按照 X,YX,YX,Y 形成的格点矩阵, 创建一个渐变的三维曲面. X,

    2024年02月06日
    浏览(61)
  • 三维装箱问题 2022长三角高校数学建模A题

    三维装箱问题是NPC问题,可以考虑用启发式算法求解,但无法得到最优解 对每个物品判断能否被装 保证每个物品翻转成长=宽=高 能否被袋装 同时满足两个条件: 对最大号袋子而言 袋子长+袋子高≥物品长+物品高; 袋子宽+袋子高≥物品宽+物品高 能否被箱装 对最大号箱子而

    2024年02月11日
    浏览(49)
  • 数学建模——管住嘴迈开腿——python实现

    (1)体重增加正比于吸收的热量, 平均8000kcal       增加体重1kg. (2)代谢引起的体重减少正比于体重, 每周每千克       体重消耗200 ~ 320kcal (因人而异).70kg每天消耗2000 ~ 3200kcal. (3)运动引起的体重减少正比于体重, 且与运动       形式和运动时间有关.   (4)为了安全与健康

    2024年02月08日
    浏览(106)
  • 数学建模 | 灰色预测原理及python实现

    目录 一、灰色预测的原理 二、灰色预测的应用及python实现 灰色预测是以灰色模型为基础,灰色模型GM(n,h)是微分方程模型,可用于描述对象做 长期、连续、动态 的反应。其中,n代表微分方程式的阶数,h代表微分方程式的变化数目。在诸多的灰色模型中,以灰色系统中 单序

    2024年01月16日
    浏览(48)
  • 数学建模:智能优化算法及其python实现

    优化问题是指在满足一定条件下,在众多方案或参数值中寻找最优方案或参数值,以使得某个或多个功能指标达到最优,或使系统的某些性能指标达到最大值或最小值。优化问题广泛地存在于信号处理、图像处理、生产调度、任务分配、模式识别、自动控制和机械设计等众多

    2024年02月03日
    浏览(48)
  • 数学建模--PageRank算法的Python实现

       P a g e R a n k PageRank P a g e R ank 算法是现代数据科学中用于图链接分析的经典方法,最初由 L a r r y Larry L a rry P a g e Page P a g e 和 S e r g e y Sergey S er g ey B r i n Brin B r in 在1996年提出。两位斯坦福大学研究生认为互联网上的链接结构能够反映页面的重要性,与当时基于

    2024年01月23日
    浏览(38)
  • 数学建模--Subplot绘图的Python实现

    目录 1.Subplot函数简介 2.Subplot绘图范例1:绘制规则子图 3.Subplot绘图范例2:绘制不规则子图 4.Subplot绘图范例3:gridspec辅助实战1 5.Subplot绘图范例4:gridspec辅助实战2

    2024年02月09日
    浏览(34)
  • 数学建模--多项式拟合方法Python实现

    目录    1.算法设计思路  2.算法核心代码  3.算法效果展示 1.算法设计思路  2.算法核心代码  3.算法效果展示

    2024年02月07日
    浏览(45)
  • 数学建模--线性规划方法的Python实现

    目录   1.算法求解问题   2.算法求解思路   3.算法求解代码   4.算法求解结果   

    2024年02月09日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包