V1.6では画面描画が大幅に高速化されたので、たった105秒で描画できます(iPad3)。
ちなみに、この512*512サイズで、V1.5のiPad3で1時間25分、10MHzのぺけ-BASICでは3時間半かかりました。X-BASIC/68では6時間くらいかかるそうです。
参考文献:Oh!X 1988 3月号 X68000BASIC入門 中森章
// 自己平方根フラクタル図形描画 // pset()利用型 int wx,wy width(0) getWidth(wx,wy):/* グラフィック幅を得る width(64) // same as X68000 size if wx>=512 then wx=512 if wy>=512 then wy=512 // locate(0,0):print "wx*wy=";wx;"*";wy locate(0,1):print "start=";time$ vpriority(TPAGE,GPAGE0,GPAGE1,GPAGE2,GPAGE3) vpage(B_TPAGE or B_GPAGE0 or B_GPAGE1 or B_GPAGE2 or B_GPAGE3,YES) apage(GPAGE0) int MAXREP=50 int MAXDOT=wx int MAXCOL=255 float remin=-0.5# float remax= 0.5# float immin=-0.5# float immax= 0.5# float recon=-0.04# float imcon=-0.695# int rep,ix,iy float x,y,re,im,dx,dy // dx=(remax-remin)/MAXDOT dy=(immax-immin)/MAXDOT /* for iy=0 to MAXDOT-1 locate(0,2):print "line=";iy for ix=0 to MAXDOT-1 x=remin+ix*dx y=immin+iy*dy for rep=0 to MAXREP re=x*x-y*y+recon im=2#*x*y+imcon if ((re*re+im*im)>4#) then break x=re:y=im next int c=(rep mod MAXCOL)*4 gcolor(c,c,c,255) pset(ix,iy) next next locate(0,2):print "end=";time$ // end
Zipファイル :XBetc.zip
0 件のコメント:
コメントを投稿