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. Gnuplot和球形/圆柱形绘图
- 2. 安卓绘制球轨迹
- 3. 如何在android中绘制气球形状?
- 4. 绘制球体表面上的矩形区域
- 5. 使用四边形绘制球体的算法
- 6. 图形绘制VC++
- 7. 绘制条形图
- 8. 绘制多边形
- 9. 绘制多边形
- 10. matlab - 图形绘制
- 11. matlab - 图形绘制
- 12. 绘制Web图形
- 13. 绘制多边形
- 14. Android - 绘制矩形
- 15. 用绘制图形方法绘制一个形状?
- 16. 在Matlab中绘制球坐标系
- 17. 如何在android中绘制黑色球?
- 18. 如何用OPENGL库绘制球体?
- 19. 绘制API:Google地球,Worldwind或OpenStreet地图
- 20. 绘制一组球不起作用
- 21. 在Opengl中绘制椭圆球体
- 22. 如何在android中绘制球体
- 23. 高效地绘制多个球体
- 24. 球体上的绘制圆圈
- 25. 用OpenGL ES绘制地球仪
- 26. Swift:在MKMapView中绘制半球体
- 27. 我的弹跳球不绘制
- 28. 在OpenGL中绘制很多球体
- 29. 用Matplotlib绘制球体网格
- 30. 蟒蛇matplotlib:绘制3D球体圆周