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.