2017-11-07 46 views
0

I는 Y^2 + Z^2 = (SinX)^2파이썬 시뮬레이션 Y + Z^2^2 = (SiNx 등)^2

시뮬레이트하기 matplotlib를 사용하여 사인 그래프의 X 축을 기준으로 360 ° 회전한다.

from mpl_toolkits.mplot3d import Axes3D 
import matplotlib.pyplot as plt 
from matplotlib import cm 
from matplotlib.ticker import LinearLocator, FormatStrFormatter 
import numpy as np 


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

# Make data. 

t = np.arange(-5, 5, 0.25) 
X,Y = np.meshgrid(t,t) 
Z = np.sin(t)**2 

# Plot the surface. 
surf = ax.plot_surface(X, Y, Z, cmap=cm.coolwarm, 
         linewidth=0, antialiased=False) 

# Customize the z axis. 
ax.set_zlim(-1.01, 1.01) 
ax.zaxis.set_major_locator(LinearLocator(10)) 
ax.zaxis.set_major_formatter(FormatStrFormatter('%.02f')) 

# Add a color bar which maps values to colors. 
fig.colorbar(surf, shrink=0.5, aspect=5) 
plt.show() 

다음 내 기대에 맞지 않을 것 같다, 그러나 image

입니다.

내 방식이 적당합니까?

vpython에서 구현할 수있는 방법이 있습니까?

+0

당신이 질문의 상단에 나열 방정식이 일치하지 않는 중 무엇을 설명하거나 어떤 코드가 않습니다. 나는 그것이 X 축을 따라 움직이는 소시지 링크 체인과 닮은 3D 표면 (한 줄이 아님)이 될 것으로 기대한다. 일부 상수'c'에 대한 'Y ** 2 + Z ** 2 = c ** 2'는 원의 방정식입니다. – Blckknght

+0

코드를 표면으로 업데이트했습니다. 소시지 링크를 만들고 싶다면 어느 부분을 고쳐야합니까? –

+0

죄송합니다. 파이썬에서 플로팅하는 것에 대해 많이 알지 못합니다. 방금 방정식을 인식했습니다. 하나의 축을 중심으로 원통을 그리는 방법을 이해할 수 있다면 도움이 될 것입니다. – Blckknght

답변