【发布时间】:2013-12-22 20:41:21
【问题描述】:
我想绘制两个平面并找到它们的相交线,但我得到了这个结果,因为一个平面覆盖另一个平面,所以无法分辨它们相交的位置。
3D 投影应该隐藏平面的不可见部分,我如何使用 matplotlib 获得这个结果?
你可以清楚地看到这些到平原应该相交。
这是我用来获取此结果的代码
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
values = range(-10, 11)
def plotPlane(plot, normal, d, values, colorName):
# x, y, z
x, y = np.meshgrid(values, values)
z = (-normal[0] * x - normal[1] * y - d) * 1. / normal[2]
# draw plot
plot.plot_surface(x, y, z, color=colorName)
image = plt.figure().gca(projection='3d')
plotPlane(image, [3, 2, -4], 1, values, "red")
plotPlane(image, [5, -1, 2], 4, values, "gray")
plt.show()
【问题讨论】:
-
看我的回答here。
标签: python 3d matplotlib