|
DataMuseum.dkPresents historical artifacts from the history of: RC4000/8000/9000 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RC4000/8000/9000 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 1536 (0x600) Types: TextFile Names: »spiraltxt«
└─⟦00964e8f7⟧ Bits:30007478 RC8000 Dump tape fra HCØ. └─⟦b2ec5d50f⟧ └─⟦dd2c1b53f⟧ »tplot« └─⟦this⟧
scope temp spiral clear temp spiral spiral=set 100 scope day spiral spiral=algol list.no begin integer i,j,k,N,M,type; real topiN,v,origx,size; ; write(out,<:<10>kanter,omdrejninger,formindskelse=:>);outendcur(32); read(in,N,M,v); ; if N>1 and M>0 then begin real array x(1:N+1,1:2); ; INIT: write(out,<:type (1,2,3), format (>0:houstona) =:>);outendcur(32); read(in,type,size); if size=0 then begin size:=5; origx:=5.0*1024.0/766.0; setplotname(<:tek4006a:>,0); plotform(10,2*origx,10); end else begin setplotname(<:houstona:>,0); plotform(10,size,size); size:=size/2.0; origx:=size; end; if v<0.0 or v>1.0 then v:=0.5; topiN:=2.0*pi/N; comment writeplot(<:polygonspiral, :>,N,<: kanter:>); for i:= 1 step 1 until N do begin x(i,1):=origx+size*cos((i-1)*topiN); x(i,2):=size+size*sin((i-1)*topiN); end; ; LOOP: for i:= 1 step 1 until M do begin x(N+1,1):=x(1,1); x(N+1,2):=x(1,2); for j:= 1 step 1 until N do begin if type=1 or type=3 then plotline(x(j,1),x(j,2),origx,size); if type=2 or type=3 then plotline(x(j,1),x(j,2),x(j+1,1),x(j+1,2)); for k:= 1,2 do x(j,k):=x(j,k)+v*(x(j+1,k)-x(j,k)); end j; v:= if v<0.5 then v-v/M else v+(1-v)/M; end i; plotclose; end N; end ▶EOF◀