投稿者:しばっち
投稿日:2015年10月28日(水)22時27分25秒
|
|
|
!'Maurer Rose
SET WINDOW -1,1,-1,1
RESTORE 1
READ N,D
1 DATA 4,119
2 DATA 6,71
3 DATA 3,29
4 DATA 3,41
5 DATA 3,61
6 DATA 3,131
7 DATA 3,149
8 DATA 4,13
9 DATA 4,31
10 DATA 4,41
11 DATA 4,71
12 DATA 4,83
13 DATA 4,101
14 DATA 4,149
15 DATA 5,31
16 DATA 5,83
FOR I=1 TO 360
LET T=T+D
LET R=SIN(N*RAD(T))
LET X=R*COS(RAD(T))
LET Y=R*SIN(RAD(T))
PLOT LINES:X,Y;
NEXT I
END
|
|
|
投稿者:GAI
投稿日:2015年11月 1日(日)12時06分11秒
|
|
|
> No.3939[元記事へ]
しばっちさんへのお返事です。
Mathworld のいろいろな知らない世界をプログラムにしてもらって、とても勉強になります。
これからもこのシリーズを続けてもらえるととてもありがたいのでよろしくお願いします。
はどの様にプログラムに組めるのか教えて下さい。
|
|
|
投稿者:しばっち
投稿日:2015年11月 1日(日)17時51分15秒
|
|
|
> No.3941[元記事へ]
GAIさんへのお返事です。
> はどの様にプログラムに組めるのか教えて下さい。
既に「String Rewriting System」の中で
データ文4行に"Haferman Carpet"を定義していますので
RESTORE文を4行に変更してください。
#3912
!'String Rewriting System
INPUT PROMPT "LEVEL=":LEV !' (1<=LEV<=5)
DIM A(3^LEV,3^LEV),B(3^LEV,3^LEV),P(3,3),Q(3,3)
RESTORE 4 !'<-----ここを4行に変更
READ A(1,1) !'初期値
MAT READ P,Q
4 DATA 1 !'Haferman Carpet
DATA 1,1,1
DATA 1,1,1
DATA 1,1,1
!'
DATA 0,1,0
DATA 1,0,1
DATA 0,1,0
初期値が間違っていました。上記のDATA分にあわせてください。
推測で判断していたのですみません。
> Mathworld のいろいろな知らない世界をプログラムにしてもらって、とても勉強になります。
> これからもこのシリーズを続けてもらえるととてもありがたいのでよろしくお願いします。
これは私が、このサイトを見て理解し、BASIC上にて再現できるものと判断したものです。
また、再現できたとしても、その一部分に過ぎません。(再現できていると言えないものもありますが...)
サイト内が英文ということもあり、理解できないもの、再現できそうにないものも多く、
私も趣味の範囲でやっているだけなので、残念ながら少し難しいと思います。
|
|
|
投稿者:白石 和夫
投稿日:2015年11月 2日(月)18時33分8秒
|
|
|
> No.3941[元記事へ]
定義に忠実にHaferman Carpetを描きます。
100 REM Haferman Carpet
120 DIM h0(3,3),h1(3,3)
130 DATA 1,1,1
140 DATA 1,1,1
150 DATA 1,1,1
160 MAT READ h0
170 DATA 0,1,0
180 DATA 1,0,1
190 DATA 0,1,0
200 MAT READ h1
210 LET n=5
220 SET bitmap SIZE 3^n, 3^n
230 SET WINDOW 0,3^n-1, 0,3^n-1
240 MAT PLOT CELLS, IN 0,0; 3^n-1,3^n-1: h0
250 FOR k=n TO 1 STEP -1
260 PAUSE
270 LET s=3^k
280 FOR a=0 TO 3^n-s STEP s
290 FOR b=0 TO 3^n-s STEP s
300 ASK PIXEL VALUE(a, b) p
310 IF p=0 THEN
320 MAT PLOT CELLS, IN a,b;a+s-1,b+s-1: h0
330 ELSE
340 MAT PLOT CELLS, IN a,b;a+s-1,b+s-1: h1
350 END IF
360 NEXT b
370 NEXT a
380 NEXT k
390 END
|
|
|
戻る