ここをクリックするとサンプルファイルのダウンロードができます。 (sample.LZH 5kb) |
アポロニュース2.BAS
SET WINDOW 0,1,0,1 SET POINT STYLE 3 GET POINT: x1,y1 PLOT POINTS:x1,y1 GET POINT: x2,y2 PLOT POINTS:x2,y2 SET LINE COLOR 4 PLOT LINES:X1,Y1;X2,Y2 DO mouse poll x3,y3,L,R if L=1 then set point color 0 plot points: p,q set line color 0 plot lines:x1,y1;p,q;x2,y2 set point color 3 SET POINT STYLE 4 plot points: x3,y3 set LINE color 7 plot LINEs:X1,Y1;X3,Y3;X2,Y2 let p=x3 let q=y3 end if loop until R=1 LET m=SQR((X1-X3)^2+(Y1-Y3)^2) LET n=SQR((X2-X3)^2+(Y2-Y3)^2) let x4=(n*x1+m*x2)/(m+n) let y4=(n*y1+m*y2)/(m+n) let x5=(-n*x1+m*x2)/(m-n) let y5=(-n*y1+m*y2)/(m-n) let a=(x4+x5)/2 let b=(y4+y5)/2 set point color 2 plot points:a,b let r=sqr((x4-a)^2+(y4-b)^2) FOR t=0 TO 2*pi STEP pi/45 PLOT points:a+r*cos(t),b+r*sin(t) plot lines:x1,y1;a+r*cos(t),b+r*sin(t);x2,y2 for s=0 to 100 step 0.02 next s NEXT t set line color 4 plot lines:x1,y1;x2,y2 END
お絵描き.BAS
set window -10,10,-10,10 INPUT PROMPT "a,b=":a,b draw grid set point style 4 do mouse poll x,y,L,R if L=1 then set point color 3 let t=angle(a,b) let r=sqr(a^2+b^2) plot points: x,y set point color 4 plot points:r*(x*cos(t)-y*sin(t)),r*(x*sin(t)+y*cos(t)) else plot lines end if loop until R=1 end
お絵描き2.BAS
set window -10,10,-10,10 draw grid input prompt "p,q=":p,q INPUT PROMPT "a,b=":a,b set point style 4 do mouse poll x,y,L,R if L=1 then set point color 3 let x1=x+p let y1=y+q let t=angle(a,b) let r=sqr(a^2+b^2) plot points: x,y set point color 7 plot points:r*(x1*cos(t)-y1*sin(t)),r*(x1*sin(t)+y1*cos(t)) else plot lines end if loop until R=1 end
お絵描き3.BAS
set window -10,10,-10,10 draw grid input prompt "a,b=":a,b INPUT PROMPT "p,q=":p,q set point style 1 do mouse poll x,y,L,R if L=1 then set point color 3 let t=angle(a,b) let r=sqr(a^2+b^2) plot points: x,y set point color 7 plot points:r*(x*cos(t)-y*sin(t))+p,r*(x*sin(t)+y*cos(t))+q else plot lines end if loop until R=1 end
マンデンブロ.BAS
! マンデルブローのμ-map ! f(z)=z^2+μの反復が有界となる複素数μの集合 ! μ=u+iv, z=x+iy ,f(z)=x1+iy1 とおくと, ! x1=x^2-y^2+u, y1=2xy+v となることを利用して複素数の計算を行う。 ! x^2+y^2>4 であれば発散することを利用。 ! さらに,そこに至るまでの繰り返し回数で色分けする。 OPTION ARITHMETIC NATIVE ! 二進演算 LET l = -2 ! left LET r = .8 ! right LET h = (r - l) ! height SET WINDOW l, r,-h/2,h/2 ASK DEVICE SIZE px,py,s$ SET POINT STYLE 1 FOR u= l TO r step (r-l)/px FOR v = 0 to h/2 step h/py LET x = 0 LET y = 0 FOR n = 1 TO 250 LET x1 = x^2 - y^2 + u LET y1 = 2 * x * y + v LET x = x1 LET y = y1 IF x^2+Y^2>4 THEN SET POINT COLOR MIN(n,15) PLOT POINTS: u,v PLOT POINTS: u,-v EXIT FOR END IF NEXT n NEXT v NEXT u END
円.BAS
picture circle !円の絵定義 set color mix(0) 0,0,1 set point color c for x=0 to 2*pi step pi/10 plot points:cos(x),sin(x) next x end picture set window -10,10,-2,18 !座標の設定 draw grid !グリッド(格子線) def f(t)=t^2/6 !関数の定義 for t=-10 to 10 step 0.05 !ループ let c=7 draw circle with shift(t,f(t)) !円の描画 let c=0 draw circle with shift(t-0.05,f(t-0.05)) !円の消去 next t draw grid !グリッドの再描画 END