python画三维地图,其中三个坐标轴长度均为180,在(150,150,0)处有半径为23的上半球,在(75,75,0)处有半径为35的上半球,在(75,75,0)处有半径为35的上半球
时间: 2024-03-08 14:47:08 浏览: 56
您可以使用Python的Matplotlib库中的mpl_toolkits.mplot3d模块来画三维图形。以下是一个示例代码:
```python
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
# 设置坐标轴范围
ax.set_xlim([0, 180])
ax.set_ylim([0, 180])
ax.set_zlim([0, 180])
# 画三个球体
u, v = np.mgrid[0:np.pi/2:30j, 0:2*np.pi:30j]
x1 = 23 * np.sin(u) * np.cos(v) + 150
y1 = 23 * np.sin(u) * np.sin(v) + 150
z1 = 23 * np.cos(u)
ax.plot_surface(x1, y1, z1, color='blue')
u, v = np.mgrid[0:np.pi/2:30j, 0:2*np.pi:30j]
x2 = 35 * np.sin(u) * np.cos(v) + 75
y2 = 35 * np.sin(u) * np.sin(v) + 75
z2 = 35 * np.cos(u)
ax.plot_surface(x2, y2, z2, color='red')
u, v = np.mgrid[0:np.pi/2:30j, 0:2*np.pi:30j]
x3 = 35 * np.sin(u) * np.cos(v) + 75
y3 = 35 * np.sin(u) * np.sin(v) + 75
z3 = 35 * np.cos(u)
ax.plot_surface(x3, y3, z3, color='green')
# 显示图形
plt.show()
```
这个代码会画出一个三维坐标轴,坐标轴长度均为180,并在(150, 150, 0)处画一个半径为23的上半球,在(75, 75, 0)处画一个半径为35的上半球,在(75, 75, 0)处画一个半径为35的上半球。
阅读全文