一、簡介
今天要跟大家介紹如何用java 畫x,y座標圖。這對工科的許多學生都相當方便,不論是微積分、工程數學、光學....許多領域,許多科目都能用到。
比如今天我們要去算一個 fermi dirac 積分
我們可以先畫出上面式子中f(x)的圖形,也就是畫出 的圖形。
圖形畫出後我們就知道以上這個積分是要算上圖中紅色部分的面積了。是不是很方便呢?以往無法理解的函數都可以輕而易舉的用程式畫出來。
二、安裝
那要如何畫圖呢? 可以自己去寫圖形介面的程式,不過這似乎不容易。要簡單一點的話現在網路上已經有一些免費的軟體囉。今天要跟大家介紹的軟體是GRAL 是一套用java程式撰寫出來的畫圖程式。它的網站如下:
http://trac.erichseifert.de/gral/
進去後的頁面:
點選綠色圈圈的installation 裡面有安裝教學。
GRAL的安裝主要分兩個部分,第一要下載Gradle 這個程式、第二下載Gral 的.jar程式
(a)下載Gradle
首先,要先裝Gradle軟體,這是執行GRAL必備的軟體之一,網路上應該有其他詳細的介紹,這邊就簡單帶大家跑過安裝步驟。點選上圖中第一個綠色圈圈,進入Gradle的網頁。
點選Install Gradle 進入以下頁面。
首先確定電腦有安裝JDK和JRE,並且版本是java 7以上(可以在命令提示字元輸入 java -version),
接下來往下拉看到以下畫面。
照著上圖1,2,3步驟
1 安裝Gradle程式
2 解壓縮下載完的Gradle程式(用7-zip或WinRAR等軟體解壓縮)
3 打開解壓縮完畢的Gradle程式,複製其中bin資料夾的路徑,在環境變數PATH中增加此資料夾路徑(跟安裝java時的設定一模一樣)
新增後去命令提示字元,輸入Gradle -version,若是安裝成功會出現以下畫面。 如果出現以下畫面的話Gradle就成功安裝囉,可以回到GRAL介面繼續下載GRAL的主程式。
(b)下載GRAL
點選Download進入下面頁面,並在Stable version的地方 下載gral-core-0.11.jar
若想要看GRAL的程式碼內容可以下載Source code(裡面是.java的檔案)、若想看一些GRAL的範例可以下載Example application。
下載完後解壓縮gral-core-0.11.jar的檔案,並用命令提示字元切換到這個檔案的路徑。(打開命令提示字元,輸入cd\資料夾a\資料夾a中的資料夾b\資料夾b中的資料夾c\...以此類推,若不會切換資料夾可直接上google搜尋:「命令提示字元切換資料夾」)
再來輸入"gradle build"這個指令,成功後出現以下畫面,安裝部分就到這裡結束囉,接下來就可以寫程式來畫圖了。
三、畫圖
回到剛進GRAL網站的網頁,點選Support的tutorials
裡面有三個畫圖的範例
今天只有跟大家介紹第一個功能, Plotting a 2D sine graph,進入之後會看到以下的圖。
其實網站都有很詳盡的教學不過是英文的,呵呵。這邊直接介紹用法,直接到最下面,複製java的程式碼到筆記本、notepad++、或ellipse等軟體。
因為開頭有import de這個資料夾的一些類別,所以在存檔時要將檔案存在gral-core-0.11的資料夾中,檔名為LinePlotTest.java 。
然後網站給的程式碼有錯誤,分別在24,26,27行,將程式碼修改如下圖。
24、26、27行的Renderer後要加s ,26,27行的.setColor(color); 將它用//註解起來。24,26,27行政是的程式碼如下:
*********************************************************************
** 24 plot.setLineRenderers(data, lines);
** 25 ....
** 26 plot.getPointRenderers(data);//.setColor(color);
** 27 plot.getLineRenderers(data);//.setColor(color);
*********************************************************************
作者小弟我現在也還沒有解決如何增加顏色的問題 如果有人知道可以告訴我喔...目前畫出來的點和線都是黑色的....
修改完程式碼可以直接去編譯和執行程式囉。
成功畫出5*sin(x)在 x=-5到x=5的圖了 !!!
若要畫自己想要的範圍及函數可以回到程式碼的第18,19行去修改迴圈以及函數
以上程式碼可以畫出前言中Fermi Dirac的函數,編譯並執行的結果如下:
想用java畫X-Y圖的朋友們快來試試GRAL這個程式喔。
留言列表