import numpy as np from mpl_toolkits.mplot3d.art3d import Poly3DCollection, Line3DCollection import mpl_toolkits.mplot3d.art3d as art3d import matplotlib.pyplot as plt from matplotlib.patches import Rectangle from scipy.spatial.transform import Rotation def m_sphere(ax,r=1,z_arg=2*np.pi,x_arg=2*np.pi,color="blue",alpha=0.5): xx_arg = np.linspace(0, x_arg, 100) zz_arg = np.linspace(0, z_arg, 100) xx, zz = np.meshgrid(xx_arg, zz_arg) x = np.cos(xx) * np.sin(zz) * r y = np.sin(xx)*np.sin(zz) * r z = np.cos(zz) * r ax.plot_surface(x,y,z, color='blue',alpha=0.8) fig = plt.figure() ax = fig.add_subplot(111, projection='3d') alpha = np.pi/2-np.arcsin(1/np.sqrt(3)) r= np.sqrt(3) m_sphere(ax,r,z_arg=alpha) ax.set_xlabel('x') ax.set_ylabel('y') ax.set_zlabel('z') ax.set_xlim(-2,2) ax.set_ylim(2,-2) ax.set_zlim(-2,2) plt.show()