擅长:python、mysql、java
<p>请不要误解我的意思,但我认为你给出的方程可以简化为一个简单的二维图</p>
<pre><code>sin(x)*sin(y)*sin(z)+cos(x)*sin(y)*cos(z) = 0
sin(y)[sin(x)*sin(z)+cos(x)*cos(z)] = 0
sin(y)*cos(x-z) = 0
Hence sin(y) = 0 or cos(x-z)=0
Hence y = n*pi (1) or x-z=(2*n + 1)pi/2
Implies, x = z + (2*n + 1)pi/2 (2)
</code></pre>
<p>对于(1),它将是一条直线(y对n的图),在第二种情况下,你将得到平行线,它在(2*n+1)π/2处切割x轴,两条平行线之间的距离为π。(假设n保持不变)</p>
<p>假设<code>y</code>不能为零,则可以将绘图简化为仅使用<code>x</code>和<code>z</code>的二维绘图</p>
<p>回答您最初的问题,您需要使用<code>mplot3d</code>来绘制3D绘图。但与任何图形工具一样,您需要<code>x</code>、<code>y</code>、<code>z</code>的值或点。(您可以通过编程计算可能的点)。然后将这些点输入到绘图中,如下所示</p>
<pre><code>from mpl_toolkits import mplot3d
import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure()
ax = plt.axes(projection="3d")
xs = [] # X values
ys = [] # Y values
zs = [] # Z values
ax.plot3D(xs, ys, zs)
plt.show()
</code></pre>