|
フラクタル画像
http://souzousha.iinaa.net/www/hata/Index.html
OPTION ARITHMETIC COMPLEX
PUBLIC NUMERIC A,B,C,D,FL,XMIN,XMAX,YMIN,YMAX,X0,Y0
SET POINT STYLE 1
SET TEXT COLOR 4
DO
LET I=I+1
LET XMIN=1E+10
LET YMIN=XMIN
LET XMAX=-1E+10
LET YMAX=XMAX
LET X0=0
LET Y0=0
LET FL=0
LET N=12
READ IF MISSING THEN EXIT DO:AR,AI,BR,BI,CR,CI,DR,DI
LET A=COMPLEX(AR,AI)
LET B=COMPLEX(BR,BI)
LET C=COMPLEX(CR,CI)
LET D=COMPLEX(DR,DI)
CALL DRAW(N,0)
LET XM=(XMAX-XMIN)/2*1.5
LET YM=(YMAX-YMIN)/2*1.5
LET X0=X0/2^N
LET Y0=Y0/2^N
SET WINDOW -MAX(XM,YM),MAX(XM,YM),-MAX(XM,YM),MAX(XM,YM)
LET FL=1
CALL DRAW(17,0)
ASK TEXT HEIGHT HEIGHT
PLOT TEXT ,AT -MAX(XM,YM),MAX(XM,YM)-1.5*HEIGHT:"A="&FORMAT$(A)
PLOT TEXT ,AT -MAX(XM,YM),MAX(XM,YM)-3*HEIGHT:"B="&FORMAT$(B)
PLOT TEXT ,AT -MAX(XM,YM),MAX(XM,YM)-4.5*HEIGHT:"C="&FORMAT$(C)
PLOT TEXT ,AT -MAX(XM,YM),MAX(XM,YM)-6*HEIGHT:"D="&FORMAT$(D)
!'GSAVE "フラクタル"&USING$("%%%",I)&".png"
WAIT DELAY 1
CLEAR
LOOP
DATA 0,0,.5,.288675134594813,0,0,.5,-.288675134594813
DATA 0,0,.4614,.4614,.622,-.196,0,0
DATA .4614,.4614,0,0,0,0,.622,-.196
DATA 0,0,.5,.28867,0,0,.6667,0
DATA 0,0,0,.6667,0,0,.6667,0
DATA 0,.7071,0,0,.5,0,0,0
DATA 0,0,.4,.5,0,0,.4,-.5
DATA .4614,.4614,0,0,0,0,.2896,-.585
DATA .4614,.4614,0,0,.622,-.196,0,0
DATA .1,.1,.5,.3,-.1,-.1,.5,-.3
DATA 0,.2887,.5,.2887,0,-.2887,.5,-.2887
DATA .5,.2887,0,0,.5,-.2887,0,0
DATA .5,.4,0,.4,.5,-.4,0,-.4
DATA .5,-.05,0,0,.5,.05,0,0
DATA 0,0,-.5,-.5,0,0,-.5,.5
DATA .5,-.5,0,0,-.5,-.5,0,0
DATA .3,.6,0,0,-.3,.6,0,0
DATA -.3,.7,0,0,.3,-.6,0,0
DATA -.3,.6,0,0,.3,-.6,0,0
DATA .3,.7,0,0,0,0,.2,.5
DATA .2,.7,0,0,0,0,.2,.6
DATA 0,0,-.5,-.5,0,0,0,.7
DATA .6,.2,0,0,0,0,.67,0
DATA .7,.2,0,0,0,0,.67,0
DATA .67,-.5,0,0,-.25,.5,0,0
DATA .55,-.45,0,0,.8,.2,0,0
DATA .71,-.44,.05,0,.73,.5,.02,0
DATA .71,-.37,0,0,.71,.37,0,0
DATA .8,-.5,0,0,.8,.5,0,0
DATA .1,0,.5,.3,.1,0,.67,0
DATA -.25,.5,0,0,0,0,.75,0
DATA 0,0,.8,0,0,0,-.2,-.4
DATA 0,0,.8,.1,0,0,-.2,-.4
DATA 0,0,.3,.6,0,0,-.3,-.6
DATA .7,.1,0,.3,0,.2,.7,0
DATA -.25,.5,0,0,0,0,0,.7
DATA .1,0,.3,.6,.1,0,.3,-.6
DATA .3,.6,-.1,-.1,.1,.1,-.3,-.6
DATA .3,.6,0,0,0,0,-.3,-.6
DATA .3,.8,0,0,0,0,-.3,-.3
DATA .5,-.5,0,0,-.25,.5,0,0
DATA .5,-.6,0,0,-.1,.5,0,0
DATA 0,0,.5,.7,0,0,.7,0
DATA 0,0,.5,.3,0,0,.5,.65
DATA 0,0,.5,.3,0,0,.5,.85
DATA .8,-.2,.1,.1,.1,.2,.6,-.2
DATA .8,.2,.1,.1,.1,.2,.6,.1
DATA .8,.2,.1,.1,.1,-.2,.6,-.2
DATA .8,.2,0,.2,0,.2,.6,.1
DATA 0,0,-.5,-.5,.5,-.5,0,0
DATA .7,-.6,.2,.4,-.7,-.6,.2,.4
DATA .6,-.6,.2,.5,-.6,-.6,.2,.5
DATA .7,-.5,.2,-.4,-.7,-.5,.2,-.4
DATA -.1,.9,0,0,.1,-.55,0,0
DATA 0,0,-.3,.6,-.3,-.6,0,0
DATA .48,.48,0,0,0,0,.48,-.48
DATA .2,0,0,.7,.2,0,0,-.7
DATA .1,0,0,.7,.1,0,0,-.7
DATA 0,0,0,-.5,.8,0,0,0
DATA .5,-.55,0,0,-.1,.55,.2,0
DATA .5,-.5,.2,0,-.25,.5,0,0
DATA .6,-.6,.22,0,-.1,-.2,.22,0
DATA .7,-.6,0,0,-.1,-.2,0,0
DATA .7,-.5,0,0,-.2,-.4,0,0
DATA .7,-.6,.4,0,-.1,-.2,.4,0
DATA .7,-.6,.2,.4,-.1,-.2,.2,.4
DATA .1,.4,-.2,-.2,.1,-.4,1,.3
DATA 0,.1,.7,-.5,0,0,-.2,-.3
DATA .1,.1,.6,-.5,0,.1,-.2,-.3
DATA .1,.1,.5,.3,-.1,.1,-.5,.3
DATA .1,-.1,.4,.5,-.1,.1,-.4,.5
DATA 0,0,.7,-.7,0,0,-.2,-.4
DATA .4,-.5,0,.1,0,0,-.4,-.5
DATA -.1,.1,.6,-.4,.1,.5,.2,0
DATA 0,-.1,.3,-.5,0,-.1,0,.67
DATA -.5,.5,0,0,0,0,0,.5
DATA .5,-.4,0,0,0,0,.5,.4
DATA -.4,.7,0,0,.2,-.3,0,0
DATA .1,.5,-.2,-.2,.1,-.5,1,.3
DATA .1,0,.7,-.6,.1,0,-.2,-.3
DATA .1,.5,-.1,.1,.1,.5,1,.1
DATA .4,.5,-.2,.2,.1,-.3,.6,.5
DATA .7,-.3,0,0,0,0,.6,.3
DATA .7,-.3,-.1,0,-.1,0,.6,.3
DATA .3,-.6,0,-.1,0,-.1,.6,.3
DATA .5,-.6,0,-.1,0,-.1,.6,.3
DATA .5,-.5,.1,0,.1,0,.5,.5
DATA 0,0,.65,0,0,-.65,0,0
DATA 0,0,.65,.2,.2,-.65,0,0
DATA .5,-.5,0,.5,0,.2,.5,-.5
DATA .5,-.5,0,-.3,0,-.3,.5,-.5
DATA .5,-.5,0,-.2,0,.2,.5,-.5
DATA .5,-.5,0,-.5,0,-.2,.5,-.5
DATA .5,-.5,.2,-.1,.2,-.2,.5,-.5
DATA .5,-.5,.1,.1,.3,.4,.5,-.5
DATA .5,-.5,.2,.2,-.25,.5,.1,.2
DATA .6,-.6,.2,-.1,-.1,.4,.1,-.3
DATA .2,-.6,0,0,0,0,.3,-.6
DATA .2,-.6,0,0,0,0,.5,-.6
DATA .2,-.6,0,0,0,0,.5,-.7
DATA .2,-.6,0,0,0,0,.5,-.8
DATA .2,-.6,0,0,0,0,.5,-.9
DATA .3,-.5,0,0,0,0,.5,-.9
DATA .5,-.5,0,0,0,0,.5,-.9
DATA .3,-.7,0,0,0,0,.5,-.9
DATA .3,-.7,.4,0,0,0,.5,-.8
DATA .72,-.5,0,0,0,0,.3,.4
DATA .72,-.5,.2,0,0,0,.3,.4
DATA 1,-.3,.2,0,0,0,.3,-.3
DATA 1,-.3,.2,0,0,.2,.2,-.4
DATA .19,0,.3,.6,.19,0,.3,-.6
DATA .19,.33,.3,.6,.19,-.33,.3,-.6
DATA 0,.33,.3,.6,0,-.33,.3,-.6
DATA .2,.7,0,.2,-.2,.7,0,.2
DATA 0,0,0,.3,-.3,.9,.3,0
DATA .1,0,0,.3,-.3,.9,.3,0
DATA .3,.4,.6,-.4,-.6,-.8,.3,-.4
DATA 0,0,-.5,-.35,-.5,-.35,0,0
DATA .2,0,-.5,-.5,-.5,-.5,-.2,0
DATA 0,.2,-.5,-.5,-.5,-.5,0,.2
DATA 0,-.3,-.5,-.38,-.5,-.38,0,.2
DATA .7,.5,0,-.3,0,-.6,.2,.3
DATA .2,.2,.3,.3,.2,-.2,.3,-.3
DATA .2,.3,.5,.6,.2,-.3,.5,-.6
DATA .6,-.2,0,0,.8,.4,0,0
DATA .6,-.2,.2,.1,.7,.4,0,0
DATA .5,-.2,.3,.1,.7,.5,.3,-.1
DATA .5,-.3,0,0,0,0,.7,-.3
DATA .5,-.3,.3,-.2,0,0,.7,.3
DATA .3,-.2,.3,-.2,0,0,.9,.2
DATA .3,-.5,.1,.1,.3,.5,.1,-.1
DATA .4,-.5,0,0,.4,.5,0,0
DATA .4,-.5,.1,0,.4,.5,0,0
DATA .4,-.6,0,0,.4,.6,0,0
DATA .4,-.65,0,0,.4,.65,0,0
DATA .2,-.72,.2,0,.2,.72,0,0
DATA .4,-.68,.2,0,.4,.68,.2,0
DATA .4,-.6,0,.2,.4,.6,0,0
DATA .4,-.7,0,0,.4,.7,0,0
DATA .5,-.6,0,.1,.5,.6,0,0
DATA .4,-.6,0,.1,-.4,-.6,0,0
DATA .3,-.6,0,0,-.3,-.6,0,0
DATA .3,-.6,0,.1,-.3,-.6,0,0
DATA .3,-.65,0,.1,-.3,-.65,0,0
DATA .3,-.7,0,.3,-.3,-.7,0,0
DATA .3,-.75,.3,-.3,-.3,-.75,.3,-.3
DATA .2,-.8,.4,-.4,-.2,-.8,.4,-.4
DATA .7,.2,.2,.2,.2,-.2,.9,.3
DATA 0,.1,.5,-.3,0,.1,.67,0
DATA 0,.1,.5,-.3,0,.1,.67,.3
DATA 0,.2,.5,-.3,0,.2,.67,.3
DATA 0,.3,.55,-.3,0,.3,.67,.3
DATA .01,.35,.7,-.35,.01,.35,.7,.35
DATA .1,0,.2,.5,.4,-.7,.1,0
DATA 0,0,.2,.5,.4,-.7,.1,0
DATA 0,0,.2,.5,.4,-.7,.3,0
DATA .1,0,.2,.5,.4,-.7,.3,0
DATA 0,0,.2,.5,.3,-.77,0,0
DATA .1,0,.2,.5,.2,-.8,.2,0
DATA .1,0,.2,.5,.2,-.7,.2,0
DATA 0,0,.1,.4,.5,-.8,0,0
DATA 0,0,.1,.4,.5,-.8,.4,0
DATA 0,.1,.1,.4,.5,-.8,.2,0
DATA 0,.1,.1,.4,.5,-.9,.2,0
DATA 0,.2,.1,.4,.5,-.9,.2,0
DATA .2,.2,.1,.4,.5,-.78,-.1,0
DATA 0,.2,.3,-.5,.5,-.8,0,-.2
DATA .5,.3,.1,0,.1,0,.7,0
DATA .5,-.5,.1,0,.1,0,.6,0
DATA .5,-.66,.1,0,.1,0,.6,0
DATA .5,-.6,0,0,0,0,.5,-.6
DATA .5,-.6,0,0,.1,0,.5,-.6
DATA .5,-.6,0,-.15,0,.1,.5,-.6
DATA .5,-.6,0,-.15,0,-.15,.5,-.6
DATA .5,.3,0,0,0,0,.5,-.3
DATA .5,.3,.2,0,0,0,.5,-.3
DATA .5,.3,.2,.2,0,0,.5,-.3
DATA .5,.3,.2,0,.1,.1,.5,-.3
DATA .5,.3,.1,.2,-.1,-.2,.5,-.3
DATA .3,-.7,0,-.15,0,-.15,.3,-.7
DATA .3,-.7,.1,-.2,.1,-.2,.3,-.7
DATA .2,-.7,.1,-.2,.1,-.2,.2,-.7
DATA .2,-.7,.1,.25,0,.25,.2,-.7
DATA .2,-.8,.1,.25,0,.25,.2,-.7
DATA .2,-.8,.1,.4,0,.4,.2,-.8
DATA .2,-.8,0,.45,0,.45,.2,-.8
DATA .3,-.8,.1,-.2,.1,.2,.3,-.2
DATA .6,-.8,.1,-.2,.1,.2,.3,-.3
DATA -.25,.5,0,0,0,0,.75,0
DATA 0,.5,0,0,0,0,.75,0
DATA -.5,.5,0,0,0,0,0,.5
DATA -.7,.5,0,0,0,0,0,.4
END
EXTERNAL FUNCTION FORMAT$(Z)
OPTION ARITHMETIC COMPLEX
IF IM(Z)<0 THEN LET SIGN$=" - " ELSE LET SIGN$=" + "
LET FORMAT$=USING$("-%.####",RE(Z))&SIGN$&USING$("%.####",ABS(IM(Z)))&"i"
END FUNCTION
EXTERNAL SUB DRAW(N,Z)
OPTION ARITHMETIC COMPLEX
IF N>0 THEN
CALL DRAW(N-1,A*Z+B*CONJ(Z))
CALL DRAW(N-1,C*(Z-1)+D*(CONJ(Z)-1)+1)
IF FL=0 THEN
LET XMIN=MIN(XMIN,RE(Z))
LET XMAX=MAX(XMAX,RE(Z))
LET YMIN=MIN(YMIN,IM(Z))
LET YMAX=MAX(YMAX,IM(Z))
LET X0=X0+RE(Z)
LET Y0=Y0+IM(Z)
ELSE
PLOT POINTS:Z-COMPLEX(X0,Y0)
END IF
END IF
END SUB
|
|