pentakun(fractal)

 投稿者:hayashi  投稿日:2018年12月20日(木)15時16分50秒
  アニメーションってこんな感じで
いいんでしょうか。フラクタルに
ついて調べていて五角形を使った
フラクタル「ペンタクン」なるものを
見つけたのでコード化しました。

REM ペンタクン(アニメーション)
LET REDUCTION = (3-SQR(5))/2 ! 縮小率
PICTURE PENTAKUN(N)
   IF N=0 THEN
      SET AREA COLOR 49 ! 黄緑
      PLOT AREA: 1,0; COS(72),SIN(72); COS(144),SIN(144);COS(216),SIN(216);COS(288),SIN(288)
   ELSE
      DRAW PENTAKUN(N-1) WITH SCALE(REDUCTION)*SHIFT(1-REDUCTION,0)
      DRAW PENTAKUN(N-1) WITH SCALE(REDUCTION)*SHIFT(1-REDUCTION,0)*ROTATE( 72)
      DRAW PENTAKUN(N-1) WITH SCALE(REDUCTION)*SHIFT(1-REDUCTION,0)*ROTATE(144)
      DRAW PENTAKUN(N-1) WITH SCALE(REDUCTION)*SHIFT(1-REDUCTION,0)*ROTATE(216)
      DRAW PENTAKUN(N-1) WITH SCALE(REDUCTION)*SHIFT(1-REDUCTION,0)*ROTATE(288)
   END IF
END PICTURE
LET LEFT   = -1.2
LET RIGHT  =  1.2
LET BOTTOM = -1.2
LET TOP    =  1.2
SET WINDOW LEFT, RIGHT, BOTTOM, TOP
OPTION ANGLE DEGREES
SET TEXT COLOR 49 ! 黄緑
DO
   FOR N = 0 TO 4
      SET DRAW MODE HIDDEN    ! 描画途中を画面に反映させない
      SET AREA COLOR 1        ! 背景を黒で塗りつぶす
      PLOT AREA : LEFT,BOTTOM;RIGHT,BOTTOM;RIGHT,TOP;LEFT,TOP
      DRAW PENTAKUN(N)
      PLOT TEXT ,AT -0.1, -1.15, USING "N = %":STR$(N)
      SET DRAW MODE EXPLICIT  ! 描画結果を画面に反映させる
      WAIT DELAY 1          ! 処理を1秒停止
   NEXT N
LOOP
END
 
 

戻る