1
Q
繪製球形帽
A
回答
0
使用matplotlib:
def plot_spherical_cap(ax, b, opening_angle, radius=1.0):
r = elevation
phi = numpy.linspace(0, 2 * numpy.pi, 30)
theta = numpy.linspace(0, opening_angle, 20)
X = r * numpy.stack([
numpy.outer(numpy.cos(phi), numpy.sin(theta)),
numpy.outer(numpy.sin(phi), numpy.sin(theta)),
numpy.outer(numpy.ones(numpy.size(phi)), numpy.cos(theta)),
], axis=-1)
# rotate X such that [0, 0, 1] gets rotated to `c`;
# <https://math.stackexchange.com/a/476311/36678>.
a = numpy.array([0.0, 0.0, 1.0])
a_x_b = numpy.cross(a, b)
a_dot_b = numpy.dot(a, b)
if a_dot_b == -1.0:
X_rot = -X
else:
X_rot = (
X +
numpy.cross(a_x_b, X) +
numpy.cross(a_x_b, numpy.cross(a_x_b, X))/(1.0 + a_dot_b)
)
ax.plot_surface(
X_rot[..., 0], X_rot[..., 1], X_rot[..., 2],
rstride=3, cstride=3,
color='#1f77b4',
alpha=0.5,
linewidth=0
)
return
相關問題
- 1. Vpython繪製半球
- 2. Gnuplot和球形/圓柱形繪圖
- 3. 安卓繪製球軌跡
- 4. 如何繪製球殼?
- 5. 在Paraview中繪製球體?
- 6. OpenGL VBOs:繪製球體
- 7. 用Opengl繪製球體
- 8. 使用球拍繪製線
- 9. 重新繪製地球
- 10. 繪製矩形
- 11. 如何使用圖形繪製一個炮彈球
- 12. 使用四邊形繪製球體的算法
- 13. 繪製球體表面上的矩形區域
- 14. 如何在android中繪製氣球形狀?
- 15. VB.net繪製矩形形式
- 16. 繪製圓形扇形
- 17. 在Winforms中繪製圖形繪製
- 18. Pygame繪製矩形
- 19. Android - 繪製矩形
- 20. 繪製多邊形
- 21. matlab - 圖形繪製
- 22. 圖形繪製VC++
- 23. 點繪製矩形
- 24. 繪製條形圖
- 25. 繪製三角形
- 26. 繪製六角形
- 27. 形狀可繪製
- 28. 繪製多邊形
- 29. matlab - 圖形繪製
- 30. Swift繪製矩形