--- ray/src/gen/genbeads.c 2003/02/22 02:07:23 2.5 +++ ray/src/gen/genbeads.c 2003/06/08 12:03:09 2.6 @@ -1,5 +1,5 @@ #ifndef lint -static const char RCSid[] = "$Id: genbeads.c,v 2.5 2003/02/22 02:07:23 greg Exp $"; +static const char RCSid[] = "$Id: genbeads.c,v 2.6 2003/06/08 12:03:09 schorsch Exp $"; #endif /* * genbeads.c - generate a string of spheres using Hermite @@ -12,17 +12,47 @@ static const char RCSid[] = "$Id: genbeads.c,v 2.5 200 #include #include -char *mtype; /* material type */ +void hermite3(double hp[3], double p0[3], double p1[3], + double r0[3], double r1[3], double t); +htan3(double ht[3], double p0[3], double p1[3], + double r0[3], double r1[3], double t); -char *name; /* name */ +static void genstring( + char *mtype, + char *name, + double p0[3], + double p1[3], + double r0[3], + double r1[3], + double rad, + double inc + ) +{ + register int i; + double v[3]; + double t; + + t = 0.0; + for (i = 0; t <= 1.0; i++) { + printf("\n%s sphere %s.%d\n", mtype, name, i); + + hermite3(v, p0, p1, r0, r1, t); + + printf("0\n0\n4 %18.12g %18.12g %18.12g %18.12g\n", + v[0], v[1], v[2], rad); -main(argc, argv) -int argc; -char **argv; + htan3(v, p0, p1, r0, r1, t); + t += inc / sqrt(v[0]*v[0] + v[1]*v[1] + v[2]*v[2]); + } +} + +int main(int argc, char **argv) { double p0[3], p1[3], r0[3], r1[3]; double rad, inc; + char *mtype; /* material type */ + char *name; /* name */ if (argc != 17) { fprintf(stderr, "Usage: %s material name p0 p1 r0 r1 rad inc\n", @@ -51,32 +81,3 @@ char **argv; return(0); } - -genstring(mtype, name, p0, p1, r0, r1, rad, inc) -char *mtype; -char *name; -double p0[3]; -double p1[3]; -double r0[3]; -double r1[3]; -double rad; -double inc; -{ - register int i; - double v[3]; - double t; - - t = 0.0; - for (i = 0; t <= 1.0; i++) { - - printf("\n%s sphere %s.%d\n", mtype, name, i); - - hermite3(v, p0, p1, r0, r1, t); - - printf("0\n0\n4 %18.12g %18.12g %18.12g %18.12g\n", - v[0], v[1], v[2], rad); - - htan3(v, p0, p1, r0, r1, t); - t += inc / sqrt(v[0]*v[0] + v[1]*v[1] + v[2]*v[2]); - } -}