通过一个函数对比 mgrid以及meshgrid函数
2022/1/8 23:04:22
本文主要是介绍通过一个函数对比 mgrid以及meshgrid函数,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
简 介: 利用3D曲面显示可以更好的将三维函数性能可视化展示。利用view_init()设置不同的视角,动态显示曲面的不同方面。
关键词
: meshgrid,mgrid,view_init
§01 Axes3D函数曲面
1.1 绘制Axes3D函数曲面
1.1.1 利用mgrid产生x,y
import sys,os,math,time sys.path.append("/home/aistudio/external-libraries") import matplotlib.pyplot as plt from numpy import * from mpl_toolkits.mplot3d import Axes3D def fxy(x,y): return 3*(1-x)**2*exp(-(x**2+(y+1)**2))+\ 10*(x/5-x**3-y**5)*exp(-(x**2+y**2))-\ exp(-((x+1)**2+y**2))/3
grid_num = 100 x,y = mgrid[-4:4:grid_num*1j, -2:2:grid_num*1j]
xx = x.flatten() yy = y.flatten() ff = fxy(xx,yy).reshape(x.shape) ax = Axes3D(plt.figure(figsize=(12,8))) ax.plot_surface(x,y,ff, rstride=1, cstride=1, cmap=plt.cm.Blues) plt.show()
▲ 图1 mgrid产生的函数曲面
1.1.2 利用meshgrid产生xy
grid_num = 100 x = linspace(-4,4,grid_num) y = linspace(-2,2,grid_num) x,y = meshgrid(x,y)
▲ 图1.1.2 mgrid产生的函数曲面
1.2 多角度的Axes3D
gifpath = '/home/aistudio/GIF' if not os.path.isdir(gifpath): os.makedirs(gifpath) gifdim = os.listdir(gifpath) for f in gifdim: fn = os.path.join(gifpath, f) if os.path.isfile(fn): os.remove(fn) xx = x.flatten() yy = y.flatten() ff = fxy(xx,yy).reshape(x.shape) ax = Axes3D(plt.figure(figsize=(12,8))) ax.plot_surface(x,y,ff, rstride=1, cstride=1, cmap=plt.cm.Blues) count = 0 for i in range(0, 180, 10): ax.view_init(30,i) fn = os.path.join(gifpath, '%03d.jpg'%count) count += 1 plt.savefig(fn)
▲ 图 旋转GIF
▲ 图 旋转GIF
▲ 图 旋转GIF
1.3 contour3D
xx = x.flatten() yy = y.flatten() ff = fxy(xx,yy).reshape(x.shape) ax = Axes3D(plt.figure(figsize=(12,8))) ax = plt.axes(projection='3d') ax.contour3D(x,y,ff, 100, cmap=plt.cm.hot) count = 0 for i in tqdm(range(0, 350, 10)): ax.view_init(30, i) fn = os.path.join(gifpath, '%03d.jpg'%count) count += 1 plt.savefig(fn)
▲ 图 contour3D
▲ 图 contour3D
▲ 图 contour3D
ax.contour3D(x,y,ff, 100, cmap=plt.cm.hot)
▲ 图 contour3D
※ 总结 ※
利用3D曲面显示可以更好的将三维函数性能可视化展示。利用view_init()设置不同的视角,动态显示曲面的不同方面。
● 相关图表链接:
- 图1 mgrid产生的函数曲面
- 图1.1.2 mgrid产生的函数曲面
- 图 旋转GIF
- 图 旋转GIF
- 图 旋转GIF
- 图 contour3D
- 图 contour3D
- 图 contour3D
- 图 contour3D
这篇关于通过一个函数对比 mgrid以及meshgrid函数的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南