プログラムは下記になります。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
import java.applet.Applet; import java.awt.Graphics; public class MoreChallengeSection11 extends Applet { public void paint(Graphics g) { g.drawLine(0,200,400,200); g.drawLine(200,0,200,400); for(int i = -200; i <= 200; i++) { int y = i * i * i / 10000; g.drawLine(i + 200,200 - y,i + 200,200 - y); } } } |
ポイントとしては、
- X軸(横)の値は、−200から200までを想定しています。
- Y軸(縦)の値は-8000000から8000000まで変化するので、実際の値を10000分の1に(縮小)しています。
- 実際に点を描く座標は、x,yの値に対して、それぞれ(x+200,200-y)と補正しています。どうしてそうするかは考えてみましょう
- Graphicsクラスでは点を描くメソッドが存在しないので、線を描くdrawLineメソッドで始点と終点の座標を同じに指定することで点を描いています。
以下は実行結果です。
最近のコメント