python实现3d人物建模_很强!用Python实现3D建模!
在一些大型的科幻片中,常常能看到这样的场景,需要地图的时候,往往不是拿出一张纸,而是出现非常炫酷的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建模!相关推荐
- python中mainloop什么意思_很难理解python中的Tkinter mainloop()
好的,我有一个基本的窗口,有一个编辑和查看按钮.按照我的代码,EDIT和VIEW都会返回一条消息"这个按钮没用".我在"主窗口"下创建了这些.我创建了另一个类& ...
- python能做些什么事_一起来看看Python能干什么?使用Python能做哪些事
原标题:Python能干什么?使用Python能做哪些事情? 先来看看Python的定义: Python是一种动态的.面向对象的脚本语言,尤其近几年Python在TIOBE上的排名直线上升,那么Pyt ...
- python 创意项目_针对python开发人员的10个很棒的python项目创意
python 创意项目 The joy of coding Python should be in seeing short, concise, readable classes that expre ...
- python 建筑建模_不可错过的python 街道数据爬取和分析神器!
hello 大家好! 最近遇到一堆关于街道数据分析的问题,又不想去使用百度和高德的API,有的功能还是得付费,为了学习不想掏钱,那么有什么办法么? 答: 有!必须有!今天给大家分享一个很旧的pytho ...
- excel和python建模_利用Excel学习Python:准备篇
写在前面 这个系列我们要利用Excel的知识,学会用python进行数据分析,如果你精通Excel想要用python提高数据分析效率,那么这个系列你来对了,如果你已经是python大神,想要建模/算法 ...
- python做公众号赚钱_太强了!做副业月入3W的大佬公众号,值得了解
原标题:太强了!做副业月入3W的大佬公众号,值得了解 生活原本沉闷,但跑起来就有风. 趁这个时间给大家推荐几个我日常学习的公众号朋友,他们都在书写属于自己的故事,相信你肯定会像我一样有收获的. 大飞码 ...
- python画3d心形_有了这几个3D立体手工教程,幼儿园手工作业再也不用愁!
大家都听说过3D纸模吗? 妈队今天带来了初级的3D纸模DIY教程非常有意思哦!可以做出很多立体效果的小玩意快来一起试试吧! 3D立体雪花 南方的宝宝不知道有没见过雪呢? 今天就教大家做一款立体雪花冬天 ...
- 使用python 处理表格生成图表_教你用Python自动读取数据生成图表,产生的效益很可观...
厌烦了每次都要在Excel里拖动数据来生成图形吧,这篇文章里,教你用Python自动读取Excel数据生成图表,然后Python 使用XlsxWriter模块在Excel工作表中绘制带有数据表的柱形图 ...
- python可视化案例书籍推荐_这5款Python可视化神器,总有一款适合你!
我们都知道视觉是人们很重要的一种感官,而Python中可视化,在数据相关的研发中也起到"一木支危楼"的作用.如果从直接查看离线存储在各类数据库中杂乱无章的数据,会让人瞬间感到崩溃且 ...
- 学python去哪做项目_有哪些适合 Python 刚入门者去做的项目?
学软件开发的都知道实战项目对于学好一门语言是很重要的.在这里可以向大家推荐几个Python实战项目 项目1.Python 图片转字符画 本课程用 50 行 Python 代码完成图片转字符画小工具.通 ...
最新文章
- 第三章.数据类型和运算符
- Python:matplotlib绘图
- menuconfig和Kconfig、.config的关系
- angular 自定义组件_如何创建Angular 6自定义元素和Web组件
- c语言 原码反码和补码
- ES6新特性_ES6扩展运算符的应用---JavaScript_ECMAScript_ES6-ES11新特性工作笔记014
- 数值积分(辛普森求积、柯特斯求积、龙贝格求积)
- css如何把图片设置成梯形,css实现梯形
- ffmpeg 录屏推流_在 Linux 使用 ffmpeg 推流
- 在防火墙中安装ASDM
- 基于iTextSharp(C#)创建PDF文件
- 地图制图基础(一):地图的分类
- Win11如何优化服务?Win11优化服务的方法
- RecyclerView报错:Scrapped or attached views may not be recycled
- 华为服务器显示110,ar110s路由器设置内部服务器
- Big Faceless Java Pdf报表生成器控件介绍
- 自绘动画android,(译)android利用Canvas和几何学绘制几何动画
- 关于H5页面背景音乐播放的问题
- SQL Server 事务日志已满的解决方案
- 高一数学知识点复习:命题及其关系、充分条件
热门文章
- macOS:删除 MDM 配置描述文件
- 微信小程序微信支付(统一支付)
- loadlibrary函数失败,错误码:126
- 快速低成本的组建Symbian团队(使用pys60)
- MBI5020 16位恒流驱动芯片
- 64位mysql 和32位区别_32位和64位哪个好 区别的对比分析
- 重振pointnet++雄风!PointNeXt: Revisiting PointNet++ with ImprovedTraining and Scaling Strategies
- 关于“该计算机已安装更高版本的Google Chrome浏览器“问题解决方法
- WPS公式编辑器快捷键
- Element UI练习