物件導向程式設計
|
在Applet繪製曲線圖 |
|
|
授課教師:陳慶瀚 WWW : http://www.miat.ee.isu.edu.tw E-mail : neotech@ms19.hinet.net |
|
A.1 一個繪製科學曲線的物件類別庫A.2 繪製曲線外框和座標軸
範例程式碼: import PlotApplet.*; import java.awt.*; import java.applet.Applet; public class PlotDemo1 extends PlotApplet
{
public void init ()
{
super.newPlot();
super.init();
plot().setTitle("1-D時間序列曲線圖");
plot().setYRange(-4, 4);
plot().setXRange(0, 100);
plot().setXLabel("時間");
plot().setYLabel("函數值");
plot().addYTick("-PI", -Math.PI);
plot().addYTick("-PI/2", -Math.PI/2);
plot().addYTick("0", 0);
plot().addYTick("PI/2", Math.PI/2);
plot().addYTick("PI", Math.PI);
}
}
A.3 加上曲線
範例程式碼 import PlotApplet.*; import java.awt.*; import java.applet.Applet; public class PlotDemo2 extends PlotApplet
{
public void init ()
{
super.newPlot();
super.init();
plot().setTitle("1-D時間序列曲線圖");
plot().setYRange(-10, 10);
plot().setXRange(0, 100);
plot().setXLabel("時間");
plot().setYLabel("函數值");
plot().addYTick("-10", -10);
plot().addYTick("-5", -5);
plot().addYTick("0", 0);
plot().addYTick("5", 5);
plot().addYTick("10", 10);
plot().addPoint(0, 0.0, 10 * Math.cos(0),false);
for (int i = 1; i <= 100; i++)
{
plot().addPoint(0, (double)i, 10 * Math.cos(Math.PI * i/20),true);
}
}
}
A.4 繪製多重曲線
範例程式碼 import PlotApplet.*; import java.awt.*; import java.applet.Applet; public class PlotDemo3 extends PlotApplet
{
public void init ()
{
super.newPlot();
super.init(); plot().setTitle("1-D曲線圖");
plot().setYRange(-4, 4);
plot().setXRange(0, 100);
plot().setXLabel("時間");
plot().setYLabel("函數值");
plot().addYTick("-PI", -Math.PI);
plot().addYTick("-PI/2", -Math.PI/2);
plot().addYTick("0", 0);
plot().addYTick("PI/2", Math.PI/2);
plot().addYTick("PI", Math.PI); boolean first = true;
for (int i = 0; i <= 100; i++)
{
plot().addPoint(0, (double)i,
5 * Math.cos(Math.PI * i/20), !first);
plot().addPoint(1, (double)i,
4.5 * Math.cos(Math.PI * i/25), !first);
plot().addPoint(2, (double)i,
4 * Math.cos(Math.PI * i/30), !first);
plot().addPoint(3, (double)i,
3.5* Math.cos(Math.PI * i/35), !first);
first = false;
}
}
}
| ||
物件導向程式設計 義守大學電機系 陳慶瀚 |