--- ray/src/gen/genclock.c 1995/05/25 16:34:47 2.1 +++ ray/src/gen/genclock.c 1996/06/23 18:49:55 2.3 @@ -107,7 +107,7 @@ genclock() /* put out clock body */ printf("\n%s ring %s.case_front\n", casemat, name); printf("0\n0\n8\t.12\t0\t0\n\t1\t0\t0\n\t1\t1.1\n"); printf("\n%s cylinder %s.case_inner\n", casemat, name); - printf("0\n0\n7\t.05\t0\t0\n\t.15\t0\t0\n\t1\n"); + printf("0\n0\n7\t.05\t0\t0\n\t.12\t0\t0\n\t1\n"); printf("\nclock_crystal ring %s.crystal\n", name); printf("0\n0\n8\t.10\t0\t0\n\t1\t0\t0\n\t0\t1\n"); printf("\nclock_face_paint ring %s.face\n", name); @@ -125,15 +125,15 @@ double hour; printf("\nhand_paint polygon %s.hour_hand\n", name); printf("0\n0\n12\n"); - rvert(.06, -.03, -.03, hrot); - rvert(.06, .03, -.03, hrot); + rvert(.06, -.03, -.06, hrot); + rvert(.06, .03, -.06, hrot); rvert(.06, .025, .5, hrot); rvert(.06, -.025, .5, hrot); printf("\nhand_paint polygon %s.minute_hand\n", name); printf("0\n0\n12\n"); - rvert(.07, -.02, -.04, mrot); - rvert(.07, .02, -.04, mrot); + rvert(.07, -.02, -.1, mrot); + rvert(.07, .02, -.1, mrot); rvert(.07, .01, .9, mrot); rvert(.07, -.01, .9, mrot); } @@ -142,9 +142,12 @@ double hour; rvert(x, y, z, ang) /* print rotated vertex */ double x, y, z, ang; { - double sa, ca; + static double lastang=0, sa=0, ca=1; - sa = sin(-ang); - ca = cos(-ang); + if (ang != lastang) { + sa = sin(-ang); + ca = cos(-ang); + lastang = ang; + } printf("%15.12g %15.12g %15.12g\n", x, y*ca-z*sa, z*ca+y*sa); }