- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有 6 个点,它们都位于球体的表面,并且是八面体的顶点。我怎样才能在 3d 轴上探索球体内的这个八面体的表面?
我有以下代码,但它没有达到我的预期:
from mpl_toolkits.mplot3d import Axes3D
from mpl_toolkits.mplot3d.art3d import Poly3DCollection
import matplotlib.pyplot as plt
Points=[[ 0.17770898, 0.72315927, 0.66742804],
[-0.65327074, -0.4196453 , 0.63018661],
[ 0.65382635, 0.42081934, -0.62882604],
[-0.17907021, -0.72084723, -0.66956189],
[-0.73452809, 0.5495376 , -0.39809158],
[ 0.73451554, -0.55094017, 0.39617148]]
fig=plt.figure()
ax =fig.add_subplot(1, 1, 1, projection='3d', aspect=1)
ax.add_collection3d(Poly3DCollection([Points]))
u = np.linspace(0, np.pi, 30)
v = np.linspace(0, 2 * np.pi, 30)
x = np.outer(np.sin(u), np.sin(v))
y = np.outer(np.sin(u), np.cos(v))
z = np.outer(np.cos(u), np.ones_like(v))
ax.plot_wireframe(x, y, z, alpha=0.3)
plt.show()
感谢您的帮助。
最佳答案
补充一下 HYRY 的回答;一个体积是由几个多边形面的列表构建的,而每个面又是由一个点列表构建的。 (因此,如果面相邻,则每个点在列表列表中多次出现)。考虑以下片段,其中标记了点:
from mpl_toolkits.mplot3d import Axes3D
from mpl_toolkits.mplot3d.art3d import Poly3DCollection
import matplotlib.pyplot as plt
fig = plt.figure ()
ax = fig.add_subplot (1, 1, 1, projection = '3d', aspect = 1)
# octahedron
A = [ 0.17770898, 0.72315927, 0.66742804]
B = [-0.65327074, -0.4196453 , 0.63018661]
C = [ 0.65382635, 0.42081934, -0.62882604]
D = [-0.17907021, -0.72084723, -0.66956189]
E = [-0.73452809, 0.5495376 , -0.39809158]
F = [ 0.73451554, -0.55094017, 0.39617148]
OCTO = [[E, A, B],
[E, B, D],
[E, D, C],
[E, C, A],
[F, A, B],
[F, B, D],
[F, D, C],
[F, C, A],
]
ax.add_collection3d (Poly3DCollection (OCTO))
# sphere
u = np.linspace (0, np.pi, 30)
v = np.linspace (0, 2 * np.pi, 30)
x = np.outer (np.sin (u), np.sin (v))
y = np.outer (np.sin (u), np.cos (v))
z = np.outer (np.cos (u), np.ones_like (v))
ax.plot_wireframe (x, y, z, alpha = 0.3)
plt.show ()
关于python - 给定顶点 i 在 pylab 中绘制 3d 曲面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23228703/
我注意到pylab中有一些名称重复。假设我导入 pylab。以下是一些示例: 例如1: pylab.ion() pylab.plt.ion() 例如2 pylab.figure(1) pylab.pl
我希望情节线覆盖文本。这是当前代码: pylab.plot( data[:,0], data[:,1], color='red', lw=3, label='Temp' ) pylab.figtext
这个问题在这里已经有了答案: pylab.ion() in python 2, matplotlib 1.1.1 and updating of the plot while the program
我正在使用 pylab 绘制一些数据,一切都按我的预期完美运行。我有 6 个不同的图表要绘制,我可以将它们单独绘制在单独的图中。但是当我尝试 subplot() 这些图表时,最后一个 (subplot
我有两个数组 x、y 以及函数的坐标。 示例: x=[0,1,2,3,4,5] y=[0,1,5,20,30,32] pylab.plot(x,y) 向我展示了一个平滑的函数。 有没有办法获取y=3的
我正在使用以下代码制作一个非常简单的 pandas/pylab 条形图: df2 = pd.DataFrame(np.random.rand(10, 4), columns=['a', 'b', 'c
我正在使用 PyBrain,在文档中它使用 PyLab...我尝试导入 PyLab 并且它有效,但是当我尝试使用其中的任何模块时,python 返回错误。 >>> import pylab
我需要修改我的图例。 noise_mu 具有诸如 1.6e-29 之类的值,我希望它能够以科学的方式准确绘制。不幸的是,我的图例总是以 0.000000000000000000000016 的形式打印
我有一个 mac OS X Yosimite,我使用 python 2.7.10 和 Pycharm 作为我的 IDLE。我已经正确安装了 pylab,但无法使用它的任何模块。 尝试时: from p
我正在尝试关注 this PCA tutorial并且在尝试使用 启动 pylab 时遇到了障碍 $pylab inline 我在哪里遇到语法错误。我正在使用 Anaconda/Spyder 和 Py
我正在使用 PyLab 在 Python 中制作一些图表。我想制作一个带有黑色文本的洋红色文本框,但无法将文本变为黑色。 text(x, y, 'Summary', backgroundcolor =
我访问了scipy site for PyLab.我在那里找不到它的文档。 matplotlib site也没有提供任何关于它的信息。 我在哪里可以找到 PyLab 的教程/文档? 最佳答案 Pyla
我确定这是一个非常基本的问题,但我似乎找不到正确的代码。我正在创建的箱线图有我的代码。我想标记轴并有一个标题。 from pylab import * import numpy raw_data =
我不断看到人们在各种代码片段中使用 %pylab,尤其是使用 iPython。但是,我看不到“学习 Python”(以及我拥有的其他几本 Python 书籍)中的任何地方提到了 %pylab,也不确定
我已经在 Mac (OSX Lion) 上安装了 iPython + SciPy Superpack。 如果我使用 matplotlib.pyplot 绘图,它会弹出一个带有图形的窗口,我关闭它以便
我有用于绘制以下捕食者猎物模型的代码: dx/dt = x − xy, dy/dt = −y + xy from pylab import * xvalues, yvalues = meshgrid(
我正在绘制图表并使用 pylab.poly1d 函数绘制最佳拟合线。但最佳拟合线不够长。我怎样才能延长这条线。这是我的代码: y=np.genfromtxt('_02total.txt').T[0]
我正在尝试绘制方波的傅立叶序列,但是对于许多项,该程序需要太多时间来计算所有点。我尝试使用多处理模块但没有成功。请帮助我如何使用多处理。我正在 fedora linux 上运行,并拥有 AMD FX
我有一个小代码,用此代码生成以下图片: 代码1: hist, rhist = np.histogram(r, bins=40, range=(0, 0.25)) hist = -hist/np.tra
是否可以使 pylab.show() 不会忘记? 我的意思是这样的: x = np.linspace(0, 10, 1000) y = np.sin(x) pylab.plot(x, y) pylab
我是一名优秀的程序员,十分优秀!