import java.awt.*; import javax.swing.*; public class Ex10_2 extends JPanel implements Runnable { double theta, a, b; int x,y, x1,y1, wid,hei; int rr,gg,bb; int num; Thread thd = null; // スレッド public Ex10_2() { // コンストラクタ // setOpaque(false); // 前絵を消してから描画 x = 200; y = 120; // 初期中心位置(x,y) num = 360; // 描画回数 360回 theta = 2*Math.PI/60; // 回転角 2π/60 ラジアン a = 1.2; b = 0.15; rr = 255; gg = 0; bb = 0; // 初期色RGB(rr,gg,bb) thd = new Thread(this); thd.start(); // スレッド開始 } public void paintComponent(Graphics g) { g.setColor(new Color(rr,gg,bb)); // 色指定 g.drawOval(x1,y1,wid,hei); // 楕円描画(スケルトン) } public static void main(String[] args) { JFrame app = new JFrame(); app.add(new Ex10_2()); app.setTitle("対数螺旋アニメ"); app.setSize(500, 500); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); app.setVisible(true); } public void run() { for (int i=0; i