怎样设置包围盒,使其能比较好的包围住一个不平行于坐标轴的正方体
1条回答 默认 最新
- 歇歇 2022-05-25 00:32关注
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()
解决评论 打赏 举报无用 1
悬赏问题
- ¥15 如何构建全国统一的物流管理平台?
- ¥100 ijkplayer使用AndroidStudio/CMake编译,如何支持 rtsp 直播流?
- ¥20 和学习数据的传参方式,选择正确的传参方式有关
- ¥15 这是网络安全里面的poem code
- ¥15 用js遍历数据并对非空元素添加css样式
- ¥15 使用autodl云训练,希望有直接运行的代码(关键词-数据集)
- ¥50 python写segy数据出错
- ¥20 关于线性结构的问题:希望能从头到尾完整地帮我改一下,困扰我很久了
- ¥30 3D多模态医疗数据集-视觉问答
- ¥20 设计一个二极管稳压值检测电路