1

使用されるアプレットは、ドメインと範囲 (0, 200) を持つデカルト平面の最初の象限のようなものです。私の課題は、このアプレットに家と太陽を描くことです。太陽の円を描こうとしています。どこから始めればいいのか本当にわかりません。for ループとネストされたループについて学習しているので、おそらくそれに関連しています。このアプレットには、配列や draw.circle などの一般的な関数はありません。役に立ったら、家の屋根 (2 つの直角三角形) を次のように描きました。 ピクセル単位で描かれていることに注意してください。先生もサークルに同じことを望んでいると思います。

//roof
//left side
double starty = 100;
for(double x = 16; x <= 63; x++){
        for(int y = 100; y <= starty; y++){
               img.set(x, y, JRaster.purple);
        }
starty += 1;
}

//right side
double startx = 110;
for(int y = 100; y <= 147; y++){
       for(double x = 63; x <= startx; x++){
               img.set(x , y, JRaster.purple);
       }
startx -= 1;
}
4

2 に答える 2

0

ピクセルごとに円の北東 4 分の 1 を描く方法を次に示します。残りの 4 分の 3 については、わずかに変化させてこれを繰り返すことができます。三角法不要!

  • 円の最東端を描くことから始めます。次に、円の最北端に到達するまで、北と西に移動しながらさらにピクセルを描画します。
  • 今描いた点の中心からの距離を計算します。半径よりも大きい場合、次のピクセルは左に 1 つになり、そうでない場合は次のピクセルが上のピクセルになります。
  • 最北端に到達するまで、前の手順を繰り返します。

これを Java に変換したり、円の他の 4 分の 3 に合わせて調整したりして行き詰まった場合は、コメントを投稿してください。

于 2013-10-13T21:39:17.193 に答える