注册 登录
  • 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

python生成三维点云包围盒

人工智能 一三五 1389次浏览 已收录 0个评论 手机上查看
文章索引目录
[隐藏]

1.matplotlib生成三维点云包围盒

运行环境: win10、 python3.5.2、 matplotlib 评价:消耗时间较长

  效果展示: python生成三维点云包围盒   运行上面包围盒消耗的时间:单位(秒/s)   python生成三维点云包围盒   代码:  

from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np
from itertools import product, combinations

import time
import math

fig = plt.figure()
ax = fig.gca(projection='3d')
ax.set_aspect("equal")


start = time.time()
# draw cube
r = [-1, 1]
for s, e in combinations(np.array(list(product(r, r, r))), 2):
    if np.sum(np.abs(s-e)) == r[1]-r[0]:
        ax.plot3D(*zip(s, e), color="b")

print('spend_time:', time.time() - start)

# draw sphere
#u, v = np.mgrid[0:2*np.pi:20j, 0:np.pi:10j]
#x = np.cos(u)*np.sin(v)
#y = np.sin(u)*np.sin(v)
#z = np.cos(v)
#ax.plot_wireframe(x, y, z, color="r")

# draw a point
#ax.scatter([0], [0], [0], color="g", s=100)

# draw a vector
#from matplotlib.patches import FancyArrowPatch
#from mpl_toolkits.mplot3d import proj3d


# class Arrow3D(FancyArrowPatch):

    # def __init__(self, xs, ys, zs, *args, **kwargs):
        # FancyArrowPatch.__init__(self, (0, 0), (0, 0), *args, **kwargs)
        # self._verts3d = xs, ys, zs

    # def draw(self, renderer):
        # xs3d, ys3d, zs3d = self._verts3d
        # xs, ys, zs = proj3d.proj_transform(xs3d, ys3d, zs3d, renderer.M)
        # self.set_positions((xs[0], ys[0]), (xs[1], ys[1]))
        # FancyArrowPatch.draw(self, renderer)

# a = Arrow3D([0, 1], [0, 1], [0, 1], mutation_scale=20,
           # lw=1, arrowstyle="-|>", color="k")
# ax.add_artist(a)

plt.show()

   


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明python生成三维点云包围盒
喜欢 (0)
[开心洋葱]
分享 (0)

您必须 登录 才能发表评论!

……
加载中……