このアプレットは円の幾何学模様を描くアプレットです。
これはあまり実用的ではないかも知れませんが、
面白いので練習のために作成しました。
このアプレットを作成するときのポイントは
線を引く開始点と終了点を求める時に三角関数を計算するための
Math.cosおよびMath.sinオブジェクトを使用することです。
それと線の色を決めるためのMath.randomオブジェクトを使用し、
乱数によりランダムに色を発生させています。
ですから、何色で描けるかはその時々で異なります。
描いている状況が目で見て分かるように線を引く時間間隔を開けています。
機能としては以下のようになっています。
入力パラメータは極力少なくしています。
Diamond.classのサイズは3.00KBとなりました。
試験をしてみると処理タイミングによって線の描画がスキップされる(前の線の色が残る)場合があります。
runメソッドからpaintメソッドが起動されるときに抜けてしまうため?
また、IE3.0およびIE4.0では上のケースはあるにしても全ての線が描画されますが、
NN3.0、NN4.0では一番最初に描く線(最右端の点からすぐ下側の点への線)が描かれません。
何故ですかね?
私のバグ? NNのバグ?
runメソッドとpaintメソッドの組み合わせでこのような処理をさせるのは
間違いなのかも知れません。
または、二度書きする?
ソースプログラムリストはメモ帳などにコピーして利用することができます。
コピー方法