开发者社区> 问答> 正文

如何用python绘制平行于x轴和z轴的平面?

我要画一个平行于x轴和z轴的平面。这是代码:

import numpy as np

import matplotlib.pyplot as plt

from mpl_toolkits.mplot3d import Axes3D

point = np.array([1, 2, 3])

normal = np.array([1, 1, 2])

d = -point.dot(normal)

xx, yy = np.meshgrid(range(10), range(10))

z = (-normal[0] * xx - normal[1] * yy - d) * 1. /normal[2]

plt3d = plt.figure().gca(projection='3d')

plt3d.plot_surface(xx, yy, z)

plt.show()

要使平面与xz平面平行,ax+by+c*z+d=0中的参数a和c必须为0。当我设置normal = np.array([0,2,0])时,平面消失,这是为什么?

展开
收起
游客6qcs5bpxssri2 2019-10-14 15:46:35 4257 0
1 条回答
写回答
取消 提交回答
  • 在你的代码中,计算z的时候除了0,试试下面的:

    plt3d = plt.figure().gca(projection='3d')

    xx, zz = np.meshgrid(range(10), range(10))

    yy = 2

    plt3d.plot_surface(xx, yy, zz)

    plt.show()

    2019-10-14 15:49:54
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载