2018年3月15日 星期四

繪製等位線的方法:SciDAVis

作者:王一哲
日期:2018/3/15

前言


最近正好教到靜電學,想要試著用電腦畫出等位線。一開始想到以前用過的 Gnuplot 好像可以辦到,但是它的選項全部都要用指令調整,有點麻煩。後來又想到 Python 當中有一個功能強大的繪圖套件 Matplotlib,但是在網路上找到的範例看起來看麻煩。最後才想到 SciDAVis 應該有這樣的功能,在 Google 上搜尋關鍵字 scidavis 3d plot 的第1個結果就是我尋找已久的答案:http://scidavis.sourceforge.net/manual/x528.html


用 SciDAVis 搭配 matrix 繪製的等電位線圖形



使用版本


SciDAVis 1.22,下載頁面 https://sourceforge.net/projects/scidavis/files/SciDAVis/1.22/




繪圖步驟


  1. 啟動 SciDAVis,由選單:File ⇒ New ⇒ New Project 或按 Ctrl + N 建立新的專案。
  2. 建立新的專案

  3. 由選單:File ⇒ New ⇒ New Matrix 或按 Ctrl + M 開啟建立矩陣頁面,預設的矩陣為 32 × 32。
  4. 建立矩陣選單

    建立矩陣頁面

  5. 由頁面右側的視窗修改 X、Y 的數值範圍,我選擇的是 -2 到 +2 ,最後記得要按下 Apply
  6. 修改 X、Y 的數值範圍

  7. 先在頁面左側按滑鼠左鍵,再按 Ctrl + A 全選所有的儲存格。再從頁面右側的第三個分頁修改儲存格數值的運算式,我預設的狀況是點電荷電量 $q_1 = 2 \times 10^{-8} ~\mathrm{C}$、位置為 (-1, -1),點電荷電量 $q_2 = -2 \times 10^{-8} ~\mathrm{C}$ 、位置為 (+1, +1),因此輸入的運算式為
    V1 = 8.988E9\*2E-8/sqrt((x-(-1))^2 + (y-(-1))^2)
    V2 = 8.988E9\*(-2E-8)/sqrt((x-1)^2 + (y-1)^2)
    V = V1 + V2
    最後記得要按下 Apply
  8. 輸入運算式後的矩陣頁面

  9. 由選單:3D Plot ⇒ 3D Wire Surface 開啟 3D 繪圖視窗,按下之後會顯示由矩陣資料繪製的 3D 圖形,可以由上方的工具列選擇是否繪製等高線,也可以用滑鼠左鍵在圖上拖曳旋轉視角。
  10. 開啟 3D 繪圖視窗選單

    由矩陣資料繪製的 3D 圖形

  11. 如果覺得分割的格子太少、數據點不夠多,可以再回到矩陣資料視窗,由選單:Matrix ⇒ Dimensions開啟矩陣維度視窗,手動修改矩陣的行(column)、列(row)數,在此我將行、列數都改為50。
  12. 開啟矩陣維度視窗選單

    修改矩陣行數視窗

  13. 修改完行、列數後,仿照步驟4,更新所有儲存格的數值,圖形會自動更新。
  14. 修改矩陣行、列數後的圖形


結語


用 SciDAVis 只要幾個步驟,不需要輸入複雜的指令,就能做出這樣的效果,難度遠低於使用 Gnuplot 和 Matplotlib,實在是方便多了。




HackMD 版本連結:https://hackmd.io/s/SkDbNNO4E

沒有留言:

張貼留言