Algorithman
Algorithman

Reputation: 1334

Given general 3D plane equation

Let's say I have a 3D plane equation:

ax+by+cz=d

How can I plot this in python matplotlib?

I saw some examples using plot_surface, but it accepts x,y,z values as 2D array. I don't understand how can I convert my equation into the parameter inputs to plot_surface or any other functions in matplotlib that can be used for this.

Upvotes: 6

Views: 12222

Answers (1)

Julien
Julien

Reputation: 15249

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

a,b,c,d = 1,2,3,4

x = np.linspace(-1,1,10)
y = np.linspace(-1,1,10)

X,Y = np.meshgrid(x,y)
Z = (d - a*X - b*Y) / c

fig = plt.figure()
ax = fig.gca(projection='3d')

surf = ax.plot_surface(X, Y, Z)

Upvotes: 8

Related Questions