Как создать 3d-функцию из xy-выражения на matplotlib или mayavi - PullRequest
0 голосов
/ 28 февраля 2020

Я делаю проект, и мне требуется сделать 3D-черчение для функций в python. Я пробовал и matplotlib и майави. У меня проблемы с построением следующего выражения 0.5 * x ^ 4 + 0.5y ^ 4

Это то, чего я достиг в matplotlib

enter image description here

Это нужный 3D-график enter image description here

Это мой текущий код:

import numpy as np
from mayavi import mlab
from tkinter import *
from mpl_toolkits import mplot3d
import matplotlib.pyplot as plt
x = np.outer(np.linspace(-12, 12, 12), np.ones(12))
print(x)
y = x.copy().T # transpose
z = 0.5*x**4+0.5*y**4

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

ax.plot_surface(x, y, z,cmap='viridis', edgecolor='none')
ax.set_title('Surface plot')
plt.show()

Увеличение интервалов только увеличивает точки данных, таким образом, уменьшая эффект lowpoly. Мне также любопытно, может ли это быть легче сделать на майяви и как это можно сделать. Также, если бы вы могли объяснить мне, если с библиотеками можно создать solid оборота было бы отлично.

...