This is random.c in view mode; [Download] [Up]
#include <stdio.h>
#include <math.h>
double rnd()
{ return (random()&0xffff)/65536.0;
}
main(ac,av)
int ac;
char **av;
{int i,j,n;
double x,y,z,r,cr,d,l; float rr, r1, r2, g1, g2, b1, b2;
if(ac!=3&&ac!=4)
{ fprintf(stderr,"Usage: %s number radious [seed]\n",
av[0]);
exit(1);
}
n=atoi(av[1]);
sscanf(av[2]," %f \0",&rr); r = rr; /* */
/*r=atof(av[2]); /* */
if(ac==4)
srandom(atoi(av[3]));
if(n<0||r<=0)
{ fprintf(stderr,"Usage: %s number radious [seed]\n",
av[0]);
exit(1);
}
for(i=0;i<n;i++)
{ while(1)
{ x=rnd()*2-1;
y=rnd()*2-1;
z=rnd()*2-1;
l=x*x+y*y+z*z;
if(l<=(1-r)*(1-r))
break;;
}
r1=rnd() * 0.01; r2=rnd()*0.8+0.1;
g1=rnd() * 0.01; g2=rnd()*0.8+0.1;
b1=rnd() * 0.01; b2=rnd()*0.8+0.1;
printf("o 0 1\n");
printf("\t%g %g %g %g\n",x,y,z+2,r);
printf("\t%g %g %g\t%g %g %g\t0.7 0.7 0.7 0.01\n",
r1,g1,b1,r2,g2,b2);
}
exit(0);
}
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.