|
|
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◀