/* S0620.java * 2次元ランダムウォーク * (C) H.Ishikawa 2008 */ package simulation; import java.applet.*; import java.awt.*; import java.awt.event.*; import window.Window; public class S0620 extends Applet implements ActionListener { Button button0; public void init() { button0 = new Button(" 再実行 "); add(button0); button0.addActionListener(this); } public void actionPerformed(ActionEvent e) { String label = e.getActionCommand(); repaint(); } public void paint(Graphics g) { Window w ; w = new Window(); int SPACE = 30; int HIGHT = 400; int WIDTH = 640; double X_MAX = 80.0; double Y_MAX = 50.0; double x,y; /* 粒子の座標 */ double th; /* θ */ int t; /*時刻*/ long T_END = 10000; /* 終りの時刻 */ /*グラフィックの準備*/ w.setWindow(0, -X_MAX, -Y_MAX, X_MAX, Y_MAX, SPACE,HIGHT-SPACE,WIDTH-SPACE,SPACE); w.axis(0, "", 10,"", 10, g); w.moveTo(0, 0, 0, g); /*メイン*/ x = 0.0; y = 0.0; for (t = 1; t <= T_END; t ++) { th = 2.0 * Math.PI * Math.random(); //(1) x = x + Math.cos(th); //(2) y = y + Math.sin(th); //(2) g.setColor(Color.green); w.lineTo(0, x, y, g); //(3) } stop(); } }