 0/0 |
|
我終於明瞭你的問題 你是為了在3D的環境中呈現均勻分布的電力線 可是因為座標觀察點的關係 初看好像並沒有均勻分布 滑鼠於3D區域點一下 移動觀察角度會好些 於編輯圖形介面視窗內也移動一下 之後形成的動畫也會改變觀察角度 則效果會好些 你的問題 不是程式問題 而是視覺的感受問題
另外線段長度相同 但是對應距離不同時 會感受成不同的長度
你的問題是 僅用 26個向量 要代表整個空間均勻分布 $\theta$角僅分成3個角度 45,90,135 $\phi$角則分成8個角度 當然更多角度分布會看起來較均勻 可是因為太複雜效果也不盡然理想 怎樣的效果較好 則需要嘗試 如果是我 我會定義 nc,nphi 分別代表兩角度各分成幾等份 num=nc*nphi+2; 以你目前程式 nc=3, nphi=8. 因此 num=26 可是你目前設定中 loop內用的都是數值 一旦修改好幾次都需要修改很麻煩 然後定義 dc=pi/(nc+1), dphi=2*pi/nphi for(int i=0;i<nc;i++){ for(int j=0;j<nphi;j++){ id=i*nc+j+1; c=i*nc; p=j*nphi; xSize[id]=R*Math.sin(c)*Math.cos(p); ySize[id]=R*Math.sin(c)*Math.sin(p); zSize[id]=R*Math.cos(c);
} } 當然第一個向量還是指向 +z軸 最後一個指向 -z軸 程式中盡量以變數處理 則以後要修改數字 只要於定義變數區中修改一個數字就好 其餘會自動處理 否則以你目前方式 修改角度分布數 程式要改很多處
| |
|