新しく発言する  EXIT  インデックスへ
万華鏡

  万華鏡 ひでき 2007/12/22 19:15:43 
  !ご参考に。 SECOND 2007/12/23 02:54:41 
  │└x軸,y軸に関する対称移動は,それぞれ,SC... 白石 和夫 2007/12/23 10:36:54 
  │ └気が付きませんでした、直します。 SECOND 2007/12/23 17:13:48 
  !ご参考に。こちらが簡単になります。 SECOND 2007/12/23 17:16:58 
  │└ポイントは、再帰呼び出しにあるのですね。 ひでき 2007/12/24 19:56:12 
  │ ├飾る前に、3重書きの不具合がありました。 SECOND 2007/12/24 21:10:09 
  │ ├!少し飾ったものです。(修2) SECOND 2007/12/24 23:45:32  (修正2回)
  │ └厳密の計算ではありませんが、また、対称変... 山中和義 2007/12/25 11:18:13 
  !フラクタル描画で、3重書きの弊害を解消し... SECOND 2007/12/24 21:02:15 
   ├!こちらが見やすい。動きを細かくした。 SECOND 2007/12/25 04:00:25 
   │└シェルピンスキーの三角形ですね。 山中和義 2007/12/25 11:08:08 
   │ ├日増しに訪問者が、減っていくようで寂しい... SECOND 2007/12/25 19:09:12 
   │ └腰を折ってすみません。六角形の方を紹介し... SECOND 2007/12/26 03:06:45 
   │  └!簡易万華鏡(ランダム)※FOR文による6角... 山中和義 2007/12/26 11:26:29 
   └!シルピンスキーのガスケットと並べて動かし... SECOND 2007/12/26 05:27:23  (修正2回)

Re: !フラクタル描画で、3重書きの弊害を解消し...  返事を書く  ノートメニュー
SECOND <jjqdmekgpt> 2007/12/26 05:27:23 ** この記事は2回修正されてます
!シルピンスキーのガスケットと並べて動かしてみる。

OPTION ARITHMETIC NATIVE
DIM px(11),py(11)

MAT READ px
DATA 0.20, 0.40, 0.60, 0.80, 0.70, 0.60, 0.50, 0.40, 0.30, 0.20, 0.40
MAT READ py
DATA 0.11, 0.11, 0.11, 0.11, 0.29, 0.47, 0.65, 0.47, 0.29, 0.11, 0.11

!----------
FOR N=0 TO 4
FOR s=9 TO 1 STEP -1
SET DRAW mode hidden
CLEAR
SET WINDOW -0.4,1.6, -1.1,0.9
PLOT TEXT,AT 0.6,0.8:"ミラー縮小4分岐"
PLOT TEXT,AT 0.8,0.7, USING "N= %%":N
DRAW D4(N)
SET WINDOW -1.0,1.0, -0.05,1.95
PLOT TEXT,AT 0.6,0.8:"中を抜いたもの"
PLOT TEXT,AT 0.8,0.7, USING "N= %%":N
DRAW D42(N)
SET WINDOW 0.0,4.0, -0.1,3.9
PLOT TEXT,AT 0.1,1.8:"シルピンスキーのガスケット"
PLOT TEXT,AT 1.2,1.6, USING "N= %%":N
DRAW D3(N)
SET DRAW mode explicit
WAIT DELAY 0.2
NEXT s
NEXT N

!------ ミラー縮小4分岐
PICTURE D4(k)
IF 0<k THEN
DRAW D4(k-1) WITH SCALE(1/2,1/2)*SHIFT(1/4,SQR(3)/4) ! 上
DRAW D4(k-1) WITH SCALE(1/2,-1/2)*SHIFT(1/4,SQR(3)/4) ! 中
DRAW D4(k-1) WITH SCALE(1/2,1/2)*ROTATE(-PI*2/3)*SHIFT(1/4,SQR(3)/4) ! 左
DRAW D4(k-1) WITH SCALE(1/2,1/2)*ROTATE(PI*2/3)*SHIFT(1,0) ! 右
ELSE
DRAW Set01
END IF
END PICTURE

!------ ミラー縮小4分岐(中)を外すと、シルピンスキーのガスケットもどきになる。
PICTURE D42(k)
IF 0<k THEN
DRAW D42(k-1) WITH SCALE(1/2,1/2)*SHIFT(1/4,SQR(3)/4) ! 上
! これを外す DRAW D42(k-1) WITH SCALE(1/2,-1/2)*SHIFT(1/4,SQR(3)/4) ! 中
DRAW D42(k-1) WITH SCALE(1/2,1/2)*ROTATE(-PI*2/3)*SHIFT(1/4,SQR(3)/4) ! 左
DRAW D42(k-1) WITH SCALE(1/2,1/2)*ROTATE(PI*2/3)*SHIFT(1,0) ! 右
ELSE
DRAW Set01
END IF
END PICTURE

!------ シルピンスキーのガスケット
PICTURE D3(k)
IF 0<k THEN
!---リンク・BASICで描く自己相似図形から拝借
DRAW D3(k-1) WITH SCALE(1/2)
DRAW D3(k-1) WITH SHIFT(-2,0)*SCALE(1/2)*SHIFT(2,0)
DRAW D3(k-1) WITH SHIFT(-1,-SQR(3))*SCALE(1/2)*SHIFT(1,SQR(3))
ELSE
DRAW Set01
END IF
END PICTURE

!------ 親集合の三角図1枚
PICTURE Set01
PLOT LINES: 0,0; 1,0 ;0.5,SQR(3)/2 ;0,0
SET AREA COLOR 2
DRAW disk WITH SCALE(0.1)*SHIFT(px(s),py(s)) ! 飾り1
SET AREA COLOR 3
DRAW disk WITH SCALE(0.1)*SHIFT(px(s+1),py(s+1)) ! 飾り2
SET AREA COLOR 4
DRAW disk WITH SCALE(0.1)*SHIFT(px(s+2),py(s+2)) ! 飾り3
END PICTURE

END

    └「中を抜いたもの」を、シルピンスキーのガ... SECOND 2007/12/26 09:35:33 

 インデックスへ  EXIT
新規発言を反映させるにはブラウザの更新ボタンを押してください。