我正在尝试创建一个旋转球体的动画但是只能看到该物体表面的2π,因此我需要能够将区域(分为经度和纬度)绘制到圆上并定义它们通过参数使得它们可以使用两个角度(来自球形极坐标的θ和φ)来改变以进行旋转。
我尝试了一些事情,但唯一一次做出任何有价值的事情就是使用tricontour:
import matplotlib.pyplot as plt
import matplotlib.tri as tri
import numpy as np
from math import *
r=1.0
N=360
circlexy = np.asarray([[r*cos(radians(i)), r*sin(radians(i))]
for i in np.arange(0,N,0.1)])
circlez = [r*(cos(radians(j)))*sin(radians(j))
for j in np.arange(0,N,0.1)]
x1 = circlexy[:,0]
y1 = circlexy[:,1]
z1=circlez
plt.figure()
plt.gca().set_aspect('equal')
plt.tricontourf(x1, y1, z1, 3)
plt.show()
然而,这个图不是很平滑,即使它不是很有用,因为z1需要与x1和y1的长度相同,所以我看不到定义两个角度的方法(这个图只在一个平面内旋转。)
由于我在编码方面的经验并不是特别广泛,因此我可能会犯错误。制作这样的情节最好用什么?谢谢你的时间。