1

私は学校向けのプロジェクトを行っており、このフラクタルを(BGIで)大まかに再現する必要があります。

ここに画像の説明を入力してください

中型の三角形はfor/whileループに描画する必要があるため、配置ロジックを見つけようとして立ち往生しています。(メインの三角形とその両側に円を描きました。)

どんなアイデアでも大歓迎です!

4

1 に答える 1

0

間違いなくIFSです。IFSフラクタルは再帰を使用します。これはツリー構造のようなもので、各ブランチはサイドブランチを持つことができ、これらはさらに小さなサイドブランチを持つことができます。(Cのような)擬似コードでは、次のようになります。

draw_triangle(vector2d pos, float scale, int depth)
{
  if (depth < MAX_DEPTH) return;

  /* actual graphics code for the triangle goes here.. use pos and scale */

  /* compute center positions for circles side1_pos, side2_pos, etc... */

  draw_circle(side1_pos, 0.5*scale, depth+1);
  draw_circle(side2_pos, 0.5*scale, depth+1);
  draw_circle(side3_pos, 0.5*scale, depth+1);
}

draw_circle(vector2d pos, float scale, int depth)
{
  if (depth < MAX_DEPTH) return;
  /* actual graphics code for the circle goes here.. use pos and scale */

  /* compute center positions for triangles side1_pos, side2_pos, etc... */

  draw_triangle(side1_pos, 0.5*scale, depth+1);
  draw_triangle(side2_pos, 0.5*scale, depth+1);
  draw_triangle(side3_pos, 0.5*scale, depth+1);
}
于 2013-03-26T08:35:22.320 に答える