Python: เขียนกราฟ 3 มิติของตำแหน่งในทรงกลม

29 12 2010

20101229

หลังจากที่ได้ทดลองการเขียนกราฟ 3 มิติไปแล้วรู้แล้วว่าต้องการพารามิเตอร์อะไรในการเขียนบ้าง ทีนี้ก็มาลองเขียนตำแหน่งใน 3 มิติของทรงกลมดูหน่อย

กำหนดดังนี้ (อ้างอิงทรงกลมโลกนิดหน่อย)

รัศมีทรงกลม R = 20 เมตร กำหนดมุมราบ(Longitude) -180 -180 องศา กำหนดมุมดิ่ง(Latitude) -90-90 องศา โดยเขียนจุดทุกๆ จุดตัด 10 องศา

# spherical angle 

import numpy as np

R = 20.
Lon = range(-180, 180, 10)
x =[]
y =[]
z =[]
Lat = range(-90,90,10)
for i in Lat:

 for j in Lon:

 x .append(R * np.cos(np.radians(i)) * np.cos(np.radians(j)))
 z .append(R * np.sin(np.radians(i)))
 y .append(R * np.cos(np.radians(i)) * np.sin(np.radians(j)))

#print x,y,z

from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter(x, y, z, c='g', marker = 'o')

ax.set_xlabel('X Axis')
ax.set_ylabel('Y Axis')
ax.set_zlabel('Z Axis')

plt.show()

ได้ผลดังนี้

สามารถหมุนดูในมุมอื่นได้


Actions

Information

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s




%d bloggers like this: