Burning Ship Fractal
2009/11/14,21,28更新のフラクタルの描画ソース
100 OPTION ARITHMETIC NATIVE
110 SET AREA COLOR 0
120 DIM w(8)
130 DIM h(8)
140 LET w(1)=-2.5
150 LET w(2)=1.5
160 LET h(1)=-2.5
170 LET h(2)=1.5
180 DO
190    SET WINDOW w(1),w(2),h(1),h(2)
200    FOR i=w(1) TO w(2) STEP 4/(501*10^l)
210       FOR j=h(1) TO h(2) STEP 4/(501*10^l)
220          LET x=0.5
230          LET y=0
240          FOR k=1 TO 100*SQR(10)^ll
250             LET a=x^2-y^2+i
260             LET b=2*ABS(x*y)+j
270             LET x=a
280             LET y=b
290             IF x^2+y^2>10 THEN GOTO 320
300          NEXT k
310          PLOT LINES:i,j
320       NEXT j
330    NEXT i
340    LET l=l+1
350    pause "拡大したい個所を左クリックしてください。右クリックで停止します。"
360    DO UNTIL left=1
370       mouse poll x,y,left,right
380       IF right=1 THEN GOTO 720
390    LOOP
400    LET left=0
410    LET t=2*10^(-l)
420    LET w(3)=x-t
430    LET w(4)=x+t
440    LET h(3)=y-t
450    LET h(4)=y+t
460    LET col=0
470    FOR i=1 TO 7
480       LET col=1-col
490       SET LINE COLOR col
500       CALL BO(w(3),h(3),w(4),h(4))
510       WAIT DELAY 0.08
520    NEXT i
530    FOR i=1 TO 2
540       LET w(i+4)=(w(i+2)-w(i))/10
550       LET h(i+4)=(h(i+2)-h(i))/10
560    NEXT i
570    FOR i=0 TO 10
580       FOR j=3 TO 4
590          LET w(j+4)=w(j)-i*w(j+2)
600          LET h(j+4)=h(j)-i*h(j+2)
610       NEXT j
620       PLOT AREA:w(7),h(7);w(8),h(7);w(8),h(8);w(7),h(8)
630       WAIT DELAY 0.01
640    NEXT i
650    FOR i=1 TO 2
660       LET w(i)=w(i+2)
670       LET h(i)=h(i+2)
680    NEXT i
690    LET ll=ll+1
700    SET LINE COLOR 1
710 LOOP
720 END
730 EXTERNAL SUB BO(x1,y1,x2,y2)
740 OPTION ARITHMETIC NATIVE
750 PLOT LINES:x1,y1;x1,y2;x2,y2;x2,y1;x1,y1
760 END SUB



戻る?

著作権について
©2009