ソースです。
import java.awt.Color;
import java.awt.Graphics2D;
import myMath.MyCircle;
import myMath.MyCurve;
import myMath.Tpl10;
public class TestMySin01 extends Tpl10 {
int t = 0;
public void init() {
tr.move(50, getHeight() / 2);
tr.set(1, 0, 0, -1);
tr.scale(50);
setTimer(10);
}
public void draw(Graphics2D g2) {
double x;
MyCircle mc = new MyCircle();
MyParaSin mp = new MyParaSin();
x = Math.toRadians(t);
// 軸
g2.setColor(Color.black);
g2.draw(tr.LineX());
g2.draw(tr.LineY());
// 円
g2.setColor(Color.blue);
mc.p(x);
g2.draw(tr.Line(0, 0, mc.x, mc.y));
g2.setColor(Color.red);
g2.fill(tr.Point(mc.x, mc.y));
g2.setColor(Color.green);
draw(mc, 0, x);
// sin
g2.draw(tr.Line(1, 0, 1+x, 0));
g2.setColor(Color.red);
g2.fill(tr.Point(1+x, 0));
mp.p(x);
g2.fill(tr.Point(mp.x, mp.y));
g2.setColor(Color.orange);
draw(mp, 0, x);
t++;
if (t > 360) {
t = 0;
}
}
class MyParaSin extends MyCurve {
public void p(double t) {
x = t + 1;
y = Math.sin(t);
}
}
}