L7-15 3D图形
Posted xiaoxiao-ya
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了L7-15 3D图形相关的知识,希望对你有一定的参考价值。
一、课堂导入
通过上节课的学习我们利用画三维图的工具包mpl_toolkits.mplot3d绘制了三维的散点图,本节课将会继续学习绘制更加有趣的立体图形。
二、3D直方图
# 导入必要的库 import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D # 指定图形大小 (宽,长) fig = plt.figure(figsize=(5,5)) # 二维转换为三维 axes3d = Axes3D(fig) # 设置Z轴坐标值,让每一个直方图间隔距离为5 zs = [0,5,10,15,20] for z in zs: # 在0-10中取出值(取头不取尾) x = np.arange(0,10) # 随机在0-30取出10个值 y = np.random.randint(0,30,size =10) # zdir将哪个方向用作z(‘x‘,‘y‘或‘z‘),指定颜色 axes3d.bar(x,y,zs = z,zdir = ‘x‘,color=[‘red‘,‘green‘,‘yellow‘,‘purple‘]) plt.show()
三、3D网格线
3.1 绘制1X1网格,第一子图
from mpl_toolkits.mplot3d import axes3d import matplotlib.pyplot as plt fig = plt.figure() #把画布分为1行1列,从左往右从上往下第1块区域 # 表示“1×1网格,第一子图” 调用Axes3d ax = fig.add_subplot(111, projection=‘3d‘) #生成一系列的测试数据,提供的值在0-0.1之间 X, Y, Z = axes3d.get_test_data(0.08) #绘制线框(输入数据,行步长,列步长) ax.plot_wireframe(X, Y, Z, rstride=10, cstride=10) plt.show()
3.2 两行一列网格线
# # 两行一列 from mpl_toolkits.mplot3d import axes3d import matplotlib.pyplot as plt fig = plt.figure() # 表示“2×1网格,第一子图” 调用Axes3d ax1 = fig.add_subplot(211, projection=‘3d‘) # 表示“2×1网格,第二子图” 调用Axes3d ax2 = fig.add_subplot(212, projection=‘3d‘) #生成一系列的测试数据,提供的值在0-0.1之间 X1, Y1, Z1 = axes3d.get_test_data(0.08) X2, Y2, Z2 = axes3d.get_test_data(0.08) #绘制线框 ax1.plot_wireframe(X1, Y1, Z1, rstride=5, cstride=5) ax2.plot_wireframe(X2, Y2, Z2, rstride=5, cstride=5) plt.show()
四、3D立体图
import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D # 创建一个绘图对象 fig = plt.figure() # 将多个三维图放在一个平面 # # 表示“2×1网格,第一子图” 调用Axes3d ax = fig.add_subplot(111, projection=‘3d‘) #任意三点形成一个面 X = [3,1,2,4,5] Y = [3,7,4,5,3] Z = [1,2,1,6,2] # 绘制曲面 (四个点可以确定一个四面体) ax.plot_trisurf(X, Y, Z) plt.show()
五、正四棱锥
import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D fig = plt.figure() ax = fig.add_subplot(111, projection=‘3d‘) X = [0,4,4,0,2] Y = [0,0,4,4,2] Z = [0,0,0,0,4] ax.plot_trisurf(X, Y, Z) plt.show()
以上是关于L7-15 3D图形的主要内容,如果未能解决你的问题,请参考以下文章
12mmaction2 行为识别商用级别X3D复现 demo实现 检测自己的视频 Expanding Architecturesfor Efficient Video Recognition(代码片段