再帰的グラフィック --java

実生活では、次のような非常に規則的なグラフィックを目にすることがよくあります。

Java言語でそれを描く方法は?

ここでは、一般的に使用されるフィボナッチ数列で使用される再帰的思考を使用します。

多くのものがあり、それらが同じ法則を持っている場合、再帰を使用して前者から後者にプッシュできます。

この時点で、複雑なことを完了するには、初期条件を入力するだけです。

以下の方法:

根底にある法律について考え、

中心に塗りつぶした四角形を描き、その周りに小さな塗りつぶした四角形を描き、小さな四角形を中心と見なし、精度が必要になるまで手順を繰り返すと考えることができます。

1. 中央に塗りつぶされた長方形を描きます (デフォルトでは、点の座標、幅、高さのパラメータが設定されています)。

g.fillRect(x + w / 3, y + h / 3, w / 3, h / 3);

2. このとき、再帰を利用し(再帰は「class-method」自身の呼び出しとして反映されます)、その周りに小さな長方形を描きます。

 drawrect(g, x + w / 3, y, w / 3, h / 3);

ここでは例として 1 つだけ掲載します。

3. 再帰終了条件を設定します (一度再帰を使用すると、「デッド再帰」に注意する必要があります。つまり、ループが継続し、停止することはできません)。

ここで一般的に使用されるのは次の 2 つです。

A:回数を制限してください。

B: パラメータ範囲を制限します。

if (w > 10){
    前方的代码;
}

ここで使用されるのは、パラメーターの範囲を制限することです。

以上で、完了です。

したがって、描画したいものがこれである場合:

アイデアはほぼ同じです。自分で試すことができます。

追加する必要があるのは、Polygon クラスを使用して三角形を描画できることです。

            Polygon plo=new Polygon();
            plo.addPoint((a1+a2)/2,(b1+b2)/2);
            plo.addPoint((a2+a3)/2,(b2+b3)/2);
            plo.addPoint((a1+a3)/2,(b1+b3)/2);
            g.fillPolygon(plo);

株式市場の折れ線グラフや山の浮き沈みをよく目にしますが、

考え方は同じですが、最後の呼び出しが行われたときにのみ接続を開始する必要があります。

同様に、最小の長方形である三角形のみを描画します。

少しアップグレードして、ランダムな色を追加することもできます. これらはすべて前に述べたので、詳細には触れません.

おすすめ

転載: blog.csdn.net/AkinanCZ/article/details/125221634