Matplotlib: Лучший способ построить трехмерную фигуру, созданную многими пересекающимися функциями f (x, y, z)? - PullRequest
0 голосов
/ 10 марта 2019

Как лучше всего использовать matplotlib для построения трехмерной фигуры, созданной многими пересекающимися функциями f (x, y, z)?

Я пытался сделать что-то вроде следующего, за исключением того, что я до сих пор не представляю, какую форму образуют пересекающиеся функции при просмотре графика:

# Jupyter Notebook
#--------------------------------------------
# attempting to visualize the intersections of 
# the following f(x,y,z) functions:
#    y = x         <= 3D-plane
#    z = x + y     <= 3D-plane
#    z = 0         <= 3D-plane
#    y = 0         <= 3D-plane
#    x = 1         <= 3D-plane

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

def NewPlot():
    fig = plt.figure()
    ax  = Axes3D(fig)
    ax.set_xlabel('X')
    ax.set_ylabel('Y')
    ax.set_zlabel('Z')
    return ax

def Mesh():
    A=np.linspace(-5,5,20)
    B=np.linspace(-5,5,20)
    A,B=np.meshgrid(A,B)
    return A,B

ax = NewPlot()

# Graph y = x
X,Z = Mesh()
Y = X
ax.scatter(X,Y,Z)

# Graph z = x+y
X,Y = Mesh()
Z=X+Y
ax.scatter(X,Y,Z)

# Graph Z = 0
X,Y = Mesh()
Z=0*X
ax.scatter(X,Y,Z)

# Graph Y = 0
X,Z = Mesh()
Y=0*X
ax.scatter(X,Y,Z)

# Graph X = 1
Y,Z = Mesh()
X=1 + 0*Y
ax.scatter(X,Y,Z)

plt.show()

Я понимаю, что это может требовать многого, но если бы был способ просто показать точки на поверхности пересекающихся функций? это не обязательно должно быть основано на matplotlib, это может быть сделано на других языках математического скриптинга, таких как октава, R и т. д ...

сюжет многих 3D-функций

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...