在一些大型的科幻片中,常常能看到这样的场景,需要地图的时候,往往不是拿出一张纸,而是出现非常炫酷的3d投影地图,一目了然。在如今,3d技术早已经被人们所熟知,并且熟练地应用。网购鞋子的时候,出现的3d鞋子图片,可以全方位的了解鞋子的样式,还有3D网络广告,3D电影等等。

我们今天就一起来学习用python建一个3D的模型图。老规矩,先导入功能库:

import numpy as np

import matplotlib.pyplot as plt

from mpl_toolkits.mplot3d.axes3d import Axes3D

#用matplotlib绘制的图显示在页面里而不是弹出一个窗口

%matplotlib inline

先生成3D坐标轴来看看效果吧

fig1=plt.figure()#创建一个绘图对象

ax=Axes3D(fig1)#用这个绘图对象创建一个Axes对象(有3D坐标)

plt.show()#显示模块中的所有绘图对象

然后设置算法,不同的算法会生成不同的3D模型图。

#系数,有X,Y生成Z

a = 0.7

#将圆周率赋值给b

b = np.pi

#计算Z轴的值

def mk_Z(X,Y):

return 2+a-2*np.cos(X)*np.cos(Y)-a*np.cos(b-2*X)

生成X,Y,Z的数据

#生成X,Y,Z

#numpy.linspace(start, stop, num=xxx, endpoint=True, retstep=False, dtype=None)

#在指定的间隔内返回均匀间隔的100个数字

x = np.linspace(0,2*np.pi,100)

y = np.linspace(0,2*np.pi,100)

##用这两个对象中的可能取值一一映射去扩充为所有可能的取样点

X,Y = np.meshgrid(x,y)

Z = mk_Z(X,Y)

查看数据类型

生成3D图形

#创建绘图对象,设置对象大小

fig = plt.figure(figsize=(14,6))

#创建3d的视图,使用属性projection

#add_subplot在一块画布上确定图形分布,1行,2列,占据第一列

ax = fig.add_subplot(1, 2, 1, projection='3d')

#rstride和cstride表示行列隔多少个取样点建一个小面

ax.plot_surface(X,Y,Z,rstride = 5,cstride = 5)

生成带有颜色的3D图像

#创建3d视图,使用colorbar,添加颜色柱

#add_subplot在一块画布上确定图形分布,1行,2列,占据第二列

ax = fig.add_subplot(1, 2, 2, projection='3d')

#rstride和cstride表示行列隔多少个取样点建一个小面,cmap表示绘制曲面的颜色,rainbow代表彩虹色

p = ax.plot_surface(X, Y, Z, rstride=5, cstride=5, cmap='rainbow', antialiased=True)

cb = fig.colorbar(p, shrink=0.5)

图像显示

如果不喜欢这种图片呢,我们还可以换一种算法来创建不同的3D图形,

#网兜图形

def fun(x,y):

return np.power(x,2)+np.power(y,2)

怎么样,小伙伴们快来试一试吧!

python实现3d人物建模_很强!用Python实现3D建模!相关推荐

  1. python中mainloop什么意思_很难理解python中的Tkinter mainloop()

    好的,我有一个基本的窗口,有一个编辑和查看按钮.按照我的代码,EDIT和VIEW都会返回一条消息"这个按钮没用".我在"主窗口"下创建了这些.我创建了另一个类& ...

  2. python能做些什么事_一起来看看Python能干什么?使用Python能做哪些事

    原标题:Python能干什么?使用Python能做哪些事情? 先来看看Python的定义: Python是一种动态的.面向对象的脚本语言,尤其近几年Python在TIOBE上的排名直线上升,那么Pyt ...

  3. python 创意项目_针对python开发人员的10个很棒的python项目创意

    python 创意项目 The joy of coding Python should be in seeing short, concise, readable classes that expre ...

  4. python 建筑建模_不可错过的python 街道数据爬取和分析神器!

    hello 大家好! 最近遇到一堆关于街道数据分析的问题,又不想去使用百度和高德的API,有的功能还是得付费,为了学习不想掏钱,那么有什么办法么? 答: 有!必须有!今天给大家分享一个很旧的pytho ...

  5. excel和python建模_利用Excel学习Python:准备篇

    写在前面 这个系列我们要利用Excel的知识,学会用python进行数据分析,如果你精通Excel想要用python提高数据分析效率,那么这个系列你来对了,如果你已经是python大神,想要建模/算法 ...

  6. python做公众号赚钱_太强了!做副业月入3W的大佬公众号,值得了解

    原标题:太强了!做副业月入3W的大佬公众号,值得了解 生活原本沉闷,但跑起来就有风. 趁这个时间给大家推荐几个我日常学习的公众号朋友,他们都在书写属于自己的故事,相信你肯定会像我一样有收获的. 大飞码 ...

  7. python画3d心形_有了这几个3D立体手工教程,幼儿园手工作业再也不用愁!

    大家都听说过3D纸模吗? 妈队今天带来了初级的3D纸模DIY教程非常有意思哦!可以做出很多立体效果的小玩意快来一起试试吧! 3D立体雪花 南方的宝宝不知道有没见过雪呢? 今天就教大家做一款立体雪花冬天 ...

  8. 使用python 处理表格生成图表_教你用Python自动读取数据生成图表,产生的效益很可观...

    厌烦了每次都要在Excel里拖动数据来生成图形吧,这篇文章里,教你用Python自动读取Excel数据生成图表,然后Python 使用XlsxWriter模块在Excel工作表中绘制带有数据表的柱形图 ...

  9. python可视化案例书籍推荐_这5款Python可视化神器,总有一款适合你!

    我们都知道视觉是人们很重要的一种感官,而Python中可视化,在数据相关的研发中也起到"一木支危楼"的作用.如果从直接查看离线存储在各类数据库中杂乱无章的数据,会让人瞬间感到崩溃且 ...

  10. 学python去哪做项目_有哪些适合 Python 刚入门者去做的项目?

    学软件开发的都知道实战项目对于学好一门语言是很重要的.在这里可以向大家推荐几个Python实战项目 项目1.Python 图片转字符画 本课程用 50 行 Python 代码完成图片转字符画小工具.通 ...

最新文章

  1. 第三章.数据类型和运算符
  2. Python:matplotlib绘图
  3. menuconfig和Kconfig、.config的关系
  4. angular 自定义组件_如何创建Angular 6自定义元素和Web组件
  5. c语言 原码反码和补码
  6. ES6新特性_ES6扩展运算符的应用---JavaScript_ECMAScript_ES6-ES11新特性工作笔记014
  7. 数值积分(辛普森求积、柯特斯求积、龙贝格求积)
  8. css如何把图片设置成梯形,css实现梯形
  9. ffmpeg 录屏推流_在 Linux 使用 ffmpeg 推流
  10. 在防火墙中安装ASDM
  11. 基于iTextSharp(C#)创建PDF文件
  12. 地图制图基础(一):地图的分类
  13. Win11如何优化服务?Win11优化服务的方法
  14. RecyclerView报错:Scrapped or attached views may not be recycled
  15. 华为服务器显示110,ar110s路由器设置内部服务器
  16. Big Faceless Java Pdf报表生成器控件介绍
  17. 自绘动画android,(译)android利用Canvas和几何学绘制几何动画
  18. 关于H5页面背景音乐播放的问题
  19. SQL Server 事务日志已满的解决方案
  20. 高一数学知识点复习:命题及其关系、充分条件

热门文章

  1. macOS:删除 MDM 配置描述文件
  2. 微信小程序微信支付(统一支付)
  3. loadlibrary函数失败,错误码:126
  4. 快速低成本的组建Symbian团队(使用pys60)
  5. MBI5020 16位恒流驱动芯片
  6. 64位mysql 和32位区别_32位和64位哪个好 区别的对比分析
  7. 重振pointnet++雄风!PointNeXt: Revisiting PointNet++ with ImprovedTraining and Scaling Strategies
  8. 关于“该计算机已安装更高版本的Google Chrome浏览器“问题解决方法
  9. WPS公式编辑器快捷键
  10. Element UI练习