Initial data commit

This commit is contained in:
Ingy döt Net 2023-07-01 11:58:00 -04:00
parent 72d218235f
commit f23f22d71c
199087 changed files with 3378941 additions and 0 deletions

View file

@ -0,0 +1,7 @@
\\ Plot the line from x1,y1 to x2,y2.
plotline(x1,y1,x2,y2,w=0)={plotmove(w, x1,y1);plotrline(w,x2-x1,y2-y1);}
\\ Convert degrees to radians.
rad2(degs)={return(degs*Pi/180.0)}
\\ Convert Polar coordinates to Cartesian.
cartes2(r,a,rndf=0)={my(v,x,y); x=r*cos(a); y=r*sin(a);
if(rndf==0, return([x,y]), return(round([x,y])))}

View file

@ -0,0 +1,34 @@
\\Polyspiral (a spiral made of multiple line segments)
\\ 4/15/16 aev
plotpspiral(size,lim,ai,d,di,c)={
my(x1,y1,x2,y2,air=ai*Pi,a,sai=Strprintf("%.3f",ai));
print(" *** Polyspiral, size=",size," lim=",lim," ai=",sai," d=",d," di=",di);
x1=0; y1=0;
a=air;
for(i=0, lim,
if(c==0, x2=x1+cos(a)*d; y2=y1-sin(a)*d,
x2=x1-sin(a)*d; y2=y1+cos(a)*d;);
plotline(x1,y1,x2,y2);
x1=x2; y1=y2; d+=di; a+=air;
);\\fend i
}
\\ Polyspiral() - Where: ai is an angle increment (in radians), d is a distance/length,
\\ c is a direction 0/1 (clockwise/counter-clockwise); other parameters are self explanative.
\\ 4/15/16 aev Last updated: 4/18/16
polyspiral(size,lim,ai,d,di,c=0)={
plotinit(0);
plotcolor(0,3); \\blue
plotscale(0, -size,size, -size,size);
plotmove(0, 0,0);
plotpspiral(size,lim,ai,d,di,c);
plotdraw([0,size,size]);
}
{\\ Executing:
polyspiral(1500,1500,0.25,9,5); \\Polyspiral1.png
polyspiral(1500,1500,0.25,3,2); \\Polyspiral2.png
polyspiral(10000,10000,0.03,3,2); \\Polyspiral3.png
polyspiral(10000,10000,0.03,3,2,1); \\Polyspiral3b.png
polyspiral(100000,100000,0.03,3,2);\\Polyspiral4.png
}

View file

@ -0,0 +1,36 @@
\\ plotpspiralz() Multi-spiral figure translated from zkl using my own ploting functions.
\\ 4/15/16 aev
plotpspiralz(size,lim,ai,di,lim2)={
my(x1,y1,u1,v1,air=rad2(ai),a,sai=Strprintf("%.3f",ai),sdi=Strprintf("%.3f",di),
sz2=size\2,aj,inc,ao,x,y,u,v,vc,r2i=rad2(130.0),d=0.0);
print(" *** Spiralz: size=",size," lim=",lim," ai=",sai," di=",sdi," lim2=",lim2);
x1=0; y1=0; u1=0; v1=0;
for(i=1, lim,
r=0.0; a=0.0;ao=0.0;
if(i>1, inc=air+r2i, inc=air);
for(j=1, lim2,
d=r+di; aj=a+inc;
vc=cartes2(r,a); x=vc[1]; y=vc[2];
vc=cartes2(r,aj); u=vc[1]; v=vc[2];
plotline(ao+x,ao+y,ao+u,ao+v);
r=d; a=aj;
);\\fend j
air+=0.05;
);\\fend i
}
\\ Spiralz() - Where: ai is an angle increment (in radians), di is a distance/length
\\ increment, other parameters are self explanative.
\\ 4/15/16 aev
Spiralz(size,lim,ai,di,lim2)={
plotinit(0); plotcolor(0,3); \\blue
plotscale(0, -size,size, -size,size);
\\plotscale(0, 0,size, 0,size);
plotmove(0, 0,0);
plotpspiralz(size,lim,ai,di,lim2);
plotdraw([0,size,size]);
}
{\\ Executing:
Spiralz(640,2,3.0,3.0,128); \\Spiralz1.png
}