MyParameter クラス

媒介変数表示を実現するスーパークラスを作ります。

MyParameter.java

/**
 * 媒介変数表示
 * 
 */

public abstract class MyParameter {
	// 次の2つを書き換える
	public abstract double fx(double t);

	public abstract double fy(double t);
}

グラフを描くためのアップレット(Tpl21.java)

import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;

import javax.swing.JApplet;

public abstract class Tpl21 extends JApplet {

	protected MyScreen sc;
	MyShape sp = new MyShape();

	public void init() {
		// 画面の初期化
		sc = new MyScreen(getSize());

		sc.setScale(50);
		sc.moveOrgCenter();
	}

	public void paint(Graphics g) {

		Graphics2D g2 = (Graphics2D) g;

		// 図形アンチエイリアス処理
		g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
				RenderingHints.VALUE_ANTIALIAS_ON);
		// 画面のクリア
		g2.clearRect(0, 0, getWidth(), getHeight());

		// x軸、y軸
		g2.setColor(Color.black);
		g2.draw(sp.LineX(sc));
		g2.draw(sp.LineY(sc));

		draw(g2);
	}

	// グラフを描く
	public void drawParameter(Graphics2D g2, MyParameter mp, double min, double max) {
		double t = min;
		int x1, y1, x2, y2;

		while (t < max) {
			x1 = sc.gx(mp.fx(t));
			y1 = sc.gy(mp.fy(t));
			t += 0.1;
			x2 = sc.gx(mp.fx(t));
			y2 = sc.gy(mp.fy(t));
			g2.drawLine(x1, y1, x2, y2);
		}
	}

	public void drawParameter(Graphics2D g2, MyParameter mp) {
		drawParameter(g2, mp, 0, 2 * Math.PI);
	}

	// これをオーバーライドする
	public abstract void draw(Graphics2D g2);

}

[前へ] [戻る] [次へ]