[問題] 這段程式碼的數學意義

作者: st40182 (天羽)   2018-10-27 15:46:58
最近在找利用numpy建模的資料
原本是使用python的 ax.plot_trisurf 來繪製立體圖形
但是不知為何地畫出來總是破圖
所以才去找更好的建模方法
後來找到這段
https://stackoverflow.com/questions/29800749/delaunay-triangulation-of-points-from-2d-surface-in-3d-with-python
縮:https://goo.gl/4iLj93
下面的回應
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.tri as mtri
X = np.load('./mydatars.npy')
# My data points are strictly positive. This doesn't work if I don't center
about the origin.
X -= X.mean(axis=0)
rad = np.linalg.norm(X, axis=1)
zen = np.arccos(X[:,-1] / rad)
azi = np.arctan2(X[:,1], X[:,0])
tris = mtri.Triangulation(zen, azi)
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.plot_trisurf(X[:,0], X[:,1], X[:,2], triangles=tris.triangles,
cmap=plt.cm.bone)
plt.show()
===================================================
紅色的那段就是我看不懂得點
不太曉得他這麼做的數學意義是甚麼
另外
雖然說將他的程式碼稍作修改後可以跑出我所期望的輪廓
但是還有點瑕疵
模型總是會有一條裂痕
我原本以為是建模開始與結束沒連接起來而產生的問題
但是補上去之後瑕疵仍然存在著
想請問有沒有什麼方法可以修補
謝謝!
作者: edwar (海邊的野孩子)   2018-10-28 01:06:00
可能是換算成球座標之類的
作者: iphone2003 (307)   2018-10-28 02:14:00
應該是球座標沒錯,那個X的第0到2行應該是x,y,z座標吧,rad代表半徑,zen代表天頂角,azi是方位角
作者: st40182 (天羽)   2018-10-28 16:18:00
謝謝!

Links booklink

Contact Us: admin [ a t ] ucptt.com