栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何绘制相交平面?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何绘制相交平面?

from mpl_toolkits.mplot3d import axes3dimport matplotlib.pyplot as pltimport numpy as npfig = plt.figure()ax = fig.add_subplot(111, projection='3d')dim = 10X, Y = np.meshgrid([-dim, dim], [-dim, dim])Z = np.zeros((2, 2))angle = .5X2, Y2 = np.meshgrid([-dim, dim], [0, dim])Z2 = Y2 * angleX3, Y3 = np.meshgrid([-dim, dim], [-dim, 0])Z3 = Y3 * angler = 7M = 1000th = np.linspace(0, 2 * np.pi, M)x, y, z = r * np.cos(th),  r * np.sin(th), angle * r * np.sin(th)ax.plot_surface(X2, Y3, Z3, color='blue', alpha=.5, linewidth=0, zorder=-1)ax.plot(x[y < 0], y[y < 0], z[y < 0], lw=5, linestyle='--', color='green',        zorder=0)ax.plot_surface(X, Y, Z, color='red', alpha=.5, linewidth=0, zorder=1)ax.plot(r * np.sin(th), r * np.cos(th), np.zeros(M), lw=5, linestyle='--',        color='k', zorder=2)ax.plot_surface(X2, Y2, Z2, color='blue', alpha=.5, linewidth=0, zorder=3)ax.plot(x[y > 0], y[y > 0], z[y > 0], lw=5, linestyle='--', color='green',        zorder=4)plt.axis('off')plt.show()

注意事项:

  • 我正在运行的版本与当前的主版本非常接近,因此我不确定在较旧的版本中将运行什么版本

  • 划分图的原因是,“上方”和“下方”是以某种不可思议的方式确定的(我不完全确定

    zorder
    实际执行任何操作),并且实际上取决于艺术家的绘制顺序。曲面不能相交(一个在每个位置都将在另一个上方),因此您需要分别在相交的两侧绘制剖面。(您可以在黑色线中看到这一点,而在上面的蓝色平面的“上方”,我并没有看到它的样子)。

  • 表面的“正确”排序似乎也取决于视角。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/625498.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号