// // edge_pigment02.inc // // 2007 Sam Benge // rev. 2009 // // edge_pigment( object ep_obj, float ep_r, float ep_rr, float ep_q ) // ep_obj = a predeclared object // ep_r = radius of effect (range: 0-?) // ep_rr = random radius (range: 0,?) to reduce apparent lines // ep_q = quality of effect (range: 0-1) // // usage: // pigment{ edge_pigment( my_object, 1.5, 1.0 ) } // #declare pts_sphere=array[251]{<-0.333333,-0.666667,-1>,<-1.11022e-016,-0.666667,-1>,<0.333333,-0.666667,-1>,<-0.666667,-0.333333,-1>,<-0.333333,-0.333333,-1>,<-1.11022e-016,-0.333333,-1>,<0.333333,-0.333333,-1>,<0.666667,-0.333333,-1>,<-0.666667,-1.11022e-016,-1>,<-0.333333,-1.11022e-016,-1>,<-1.11022e-016,-1.11022e-016,-1>,<0.333333,-1.11022e-016,-1>,<0.666667,-1.11022e-016,-1>,<-0.666667,0.333333,-1>,<-0.333333,0.333333,-1>,<-1.11022e-016,0.333333,-1>,<0.333333,0.333333,-1>,<0.666667,0.333333,-1>,<-0.333333,0.666667,-1>,<-1.11022e-016,0.666667,-1>,<0.333333,0.666667,-1>,<-0.333333,-1,-0.666667>,<-1.11022e-016,-1,-0.666667>,<0.333333,-1,-0.666667>,<-0.666667,-0.666667,-0.666667>,<-0.333333,-0.666667,-0.666667>,<-1.11022e-016,-0.666667,-0.666667>,<0.333333,-0.666667,-0.666667>,<0.666667,-0.666667,-0.666667>,<-1,-0.333333,-0.666667>,<-0.666667,-0.333333,-0.666667>,<-0.333333,-0.333333,-0.666667>,<-1.11022e-016,-0.333333,-0.666667>,<0.333333,-0.333333,-0.666667>,<0.666667,-0.333333,-0.666667>,<1,-0.333333,-0.666667>,<-1,-1.11022e-016,-0.666667>,<-0.666667,-1.11022e-016,-0.666667>,<-0.333333,-1.11022e-016,-0.666667>,<-1.11022e-016,-1.11022e-016,-0.666667>,<0.333333,-1.11022e-016,-0.666667>,<0.666667,-1.11022e-016,-0.666667>,<1,-1.11022e-016,-0.666667>,<-1,0.333333,-0.666667>,<-0.666667,0.333333,-0.666667>,<-0.333333,0.333333,-0.666667>,<-1.11022e-016,0.333333,-0.666667>,<0.333333,0.333333,-0.666667>,<0.666667,0.333333,-0.666667>,<1,0.333333,-0.666667>,<-0.666667,0.666667,-0.666667>,<-0.333333,0.666667,-0.666667>,<-1.11022e-016,0.666667,-0.666667>,<0.333333,0.666667,-0.666667>,<0.666667,0.666667,-0.666667>,<-0.333333,1,-0.666667>,<-1.11022e-016,1,-0.666667>,<0.333333,1,-0.666667>,<-0.666667,-1,-0.333333>,<-0.333333,-1,-0.333333>,<-1.11022e-016,-1,-0.333333>,<0.333333,-1,-0.333333>,<0.666667,-1,-0.333333>,<-1,-0.666667,-0.333333>,<-0.666667,-0.666667,-0.333333>,<-0.333333,-0.666667,-0.333333>,<-1.11022e-016,-0.666667,-0.333333>,<0.333333,-0.666667,-0.333333>,<0.666667,-0.666667,-0.333333>,<1,-0.666667,-0.333333>,<-1,-0.333333,-0.333333>,<-0.666667,-0.333333,-0.333333>,<-0.333333,-0.333333,-0.333333>,<-1.11022e-016,-0.333333,-0.333333>,<0.333333,-0.333333,-0.333333>,<0.666667,-0.333333,-0.333333>,<1,-0.333333,-0.333333>,<-1,-1.11022e-016,-0.333333>,<-0.666667,-1.11022e-016,-0.333333>,<-0.333333,-1.11022e-016,-0.333333>,<-1.11022e-016,-1.11022e-016,-0.333333>,<0.333333,-1.11022e-016,-0.333333>,<0.666667,-1.11022e-016,-0.333333>,<1,-1.11022e-016,-0.333333>,<-1,0.333333,-0.333333>,<-0.666667,0.333333,-0.333333>,<-0.333333,0.333333,-0.333333>,<-1.11022e-016,0.333333,-0.333333>,<0.333333,0.333333,-0.333333>,<0.666667,0.333333,-0.333333>,<1,0.333333,-0.333333>,<-1,0.666667,-0.333333>,<-0.666667,0.666667,-0.333333>,<-0.333333,0.666667,-0.333333>,<-1.11022e-016,0.666667,-0.333333>,<0.333333,0.666667,-0.333333>,<0.666667,0.666667,-0.333333>,<1,0.666667,-0.333333>,<-0.666667,1,-0.333333>,<-0.333333,1,-0.333333>,<-1.11022e-016,1,-0.333333>,<0.333333,1,-0.333333>,<0.666667,1,-0.333333>,<-0.666667,-1,-1.11022e-016>,<-0.333333,-1,-1.11022e-016>,<-1.11022e-016,-1,-1.11022e-016>,<0.333333,-1,-1.11022e-016>,<0.666667,-1,-1.11022e-016>,<-1,-0.666667,-1.11022e-016>,<-0.666667,-0.666667,-1.11022e-016>,<-0.333333,-0.666667,-1.11022e-016>,<-1.11022e-016,-0.666667,-1.11022e-016>,<0.333333,-0.666667,-1.11022e-016>,<0.666667,-0.666667,-1.11022e-016>,<1,-0.666667,-1.11022e-016>,<-1,-0.333333,-1.11022e-016>,<-0.666667,-0.333333,-1.11022e-016>,<-0.333333,-0.333333,-1.11022e-016>,<-1.11022e-016,-0.333333,-1.11022e-016>,<0.333333,-0.333333,-1.11022e-016>,<0.666667,-0.333333,-1.11022e-016>,<1,-0.333333,-1.11022e-016>,<-1,-1.11022e-016,-1.11022e-016>,<-0.666667,-1.11022e-016,-1.11022e-016>,<-0.333333,-1.11022e-016,-1.11022e-016>,<-1.11022e-016,-1.11022e-016,-1.11022e-016>,<0.333333,-1.11022e-016,-1.11022e-016>,<0.666667,-1.11022e-016,-1.11022e-016>,<1,-1.11022e-016,-1.11022e-016>,<-1,0.333333,-1.11022e-016>,<-0.666667,0.333333,-1.11022e-016>,<-0.333333,0.333333,-1.11022e-016>,<-1.11022e-016,0.333333,-1.11022e-016>,<0.333333,0.333333,-1.11022e-016>,<0.666667,0.333333,-1.11022e-016>,<1,0.333333,-1.11022e-016>,<-1,0.666667,-1.11022e-016>,<-0.666667,0.666667,-1.11022e-016>,<-0.333333,0.666667,-1.11022e-016>,<-1.11022e-016,0.666667,-1.11022e-016>,<0.333333,0.666667,-1.11022e-016>,<0.666667,0.666667,-1.11022e-016>,<1,0.666667,-1.11022e-016>,<-0.666667,1,-1.11022e-016>,<-0.333333,1,-1.11022e-016>,<-1.11022e-016,1,-1.11022e-016>,<0.333333,1,-1.11022e-016>,<0.666667,1,-1.11022e-016>,<-0.666667,-1,0.333333>,<-0.333333,-1,0.333333>,<-1.11022e-016,-1,0.333333>,<0.333333,-1,0.333333>,<0.666667,-1,0.333333>,<-1,-0.666667,0.333333>,<-0.666667,-0.666667,0.333333>,<-0.333333,-0.666667,0.333333>,<-1.11022e-016,-0.666667,0.333333>,<0.333333,-0.666667,0.333333>,<0.666667,-0.666667,0.333333>,<1,-0.666667,0.333333>,<-1,-0.333333,0.333333>,<-0.666667,-0.333333,0.333333>,<-0.333333,-0.333333,0.333333>,<-1.11022e-016,-0.333333,0.333333>,<0.333333,-0.333333,0.333333>,<0.666667,-0.333333,0.333333>,<1,-0.333333,0.333333>,<-1,-1.11022e-016,0.333333>,<-0.666667,-1.11022e-016,0.333333>,<-0.333333,-1.11022e-016,0.333333>,<-1.11022e-016,-1.11022e-016,0.333333>,<0.333333,-1.11022e-016,0.333333>,<0.666667,-1.11022e-016,0.333333>,<1,-1.11022e-016,0.333333>,<-1,0.333333,0.333333>,<-0.666667,0.333333,0.333333>,<-0.333333,0.333333,0.333333>,<-1.11022e-016,0.333333,0.333333>,<0.333333,0.333333,0.333333>,<0.666667,0.333333,0.333333>,<1,0.333333,0.333333>,<-1,0.666667,0.333333>,<-0.666667,0.666667,0.333333>,<-0.333333,0.666667,0.333333>,<-1.11022e-016,0.666667,0.333333>,<0.333333,0.666667,0.333333>,<0.666667,0.666667,0.333333>,<1,0.666667,0.333333>,<-0.666667,1,0.333333>,<-0.333333,1,0.333333>,<-1.11022e-016,1,0.333333>,<0.333333,1,0.333333>,<0.666667,1,0.333333>,<-0.333333,-1,0.666667>,<-1.11022e-016,-1,0.666667>,<0.333333,-1,0.666667>,<-0.666667,-0.666667,0.666667>,<-0.333333,-0.666667,0.666667>,<-1.11022e-016,-0.666667,0.666667>,<0.333333,-0.666667,0.666667>,<0.666667,-0.666667,0.666667>,<-1,-0.333333,0.666667>,<-0.666667,-0.333333,0.666667>,<-0.333333,-0.333333,0.666667>,<-1.11022e-016,-0.333333,0.666667>,<0.333333,-0.333333,0.666667>,<0.666667,-0.333333,0.666667>,<1,-0.333333,0.666667>,<-1,-1.11022e-016,0.666667>,<-0.666667,-1.11022e-016,0.666667>,<-0.333333,-1.11022e-016,0.666667>,<-1.11022e-016,-1.11022e-016,0.666667>,<0.333333,-1.11022e-016,0.666667>,<0.666667,-1.11022e-016,0.666667>,<1,-1.11022e-016,0.666667>,<-1,0.333333,0.666667>,<-0.666667,0.333333,0.666667>,<-0.333333,0.333333,0.666667>,<-1.11022e-016,0.333333,0.666667>,<0.333333,0.333333,0.666667>,<0.666667,0.333333,0.666667>,<1,0.333333,0.666667>,<-0.666667,0.666667,0.666667>,<-0.333333,0.666667,0.666667>,<-1.11022e-016,0.666667,0.666667>,<0.333333,0.666667,0.666667>,<0.666667,0.666667,0.666667>,<-0.333333,1,0.666667>,<-1.11022e-016,1,0.666667>,<0.333333,1,0.666667>,<-0.333333,-0.666667,1>,<-1.11022e-016,-0.666667,1>,<0.333333,-0.666667,1>,<-0.666667,-0.333333,1>,<-0.333333,-0.333333,1>,<-1.11022e-016,-0.333333,1>,<0.333333,-0.333333,1>,<0.666667,-0.333333,1>,<-0.666667,-1.11022e-016,1>,<-0.333333,-1.11022e-016,1>,<-1.11022e-016,-1.11022e-016,1>,<0.333333,-1.11022e-016,1>,<0.666667,-1.11022e-016,1>,<-0.666667,0.333333,1>,<-0.333333,0.333333,1>,<-1.11022e-016,0.333333,1>,<0.333333,0.333333,1>,<0.666667,0.333333,1>,<-0.333333,0.666667,1>,<-1.11022e-016,0.666667,1>,<0.333333,0.666667,1>,} #declare eps=seed(001); #macro edge_pigment(ep_obj,ep_r, ep_rr, ep_q) pigment_pattern{ average pigment_map{ #local V=0; #while(V*ep_rr ] #local V=V+1/ep_q; #end } } #end