サイクロイド

完成

最後に、見易くするために半径や円上の点を描きます。

TestMyCycloid03.java

ここまでのソースです。

import java.awt.Color;
import java.awt.Graphics2D;

import myMath.MyCycloid;
import myMath.Tpl10;

public class TestMyCycloid03 extends Tpl10 {

	int t = 0;

	public void init() {
		tr.move(0, getHeight());
		tr.set(1, 0, 0, -1);
		tr.scale(50);
		setTimer(10);
	}

	public void draw(Graphics2D g2) {
		MyCycloid mp = new MyCycloid();
		double x;

		x = Math.toRadians(t);
		// 円
		g2.setColor(Color.green);
		g2.draw(tr.Circle(x, 1, 1));

		// 線
		g2.setColor(Color.blue);
		mp.p(x);
		g2.draw(tr.Line(mp.x, mp.y, x, 1));
		// 円上の点
		g2.setColor(Color.red);
		g2.fill(tr.Point(mp.x, mp.y));

		// cycloid
		draw(mp, 0, x);

		t++;
		if (x > 12) {
			t = 0;
		}
	}
}

[前へ] [戻る]