// copy machine by Olaf Doschke // This code resembles a simple // copy machine, which creates the // original and a series of copies, // each made of the previous one. // // In this case it rotates the copy // by 6 degrees and it's a // PRECAUTIONS: // Needs option +KFF to work, // with N as you like, but reasonably // 10 to 99 with this long version. // the short version c.pov only works // with +KFF9 // concat() needs to be modified // according to the length of the // final frame number and the name // of the script. // the scanning light of the copy machine: light_source{0 2.6} #if(frame_number=1) // the "original" picture // you might put in another // scene of this or previous // short code contests box{ 1 z pigment{red.5} } // yes, I picked this one for // it's shortness, thanks to // Mark Weyer, I couldn't come // up with something shorter #else // the block of paper, to which // the copy is projected with // the "error" of a slight // rotation and due to the nature // of the image_map projection // and result image resoltion // is scaled and repeated. // experiment with the rotation // and the asoect ratio of the // picture. Add scaling. It's worth // playing around with this, even // if you only will use the // resulting images as textures. box{-1 1 pigment{ image_map{ // you might want to modify this, // when rendering a series of less // than 10 or more than 99 // pictures. concat("copymachine",str(frame_number-1,-2,0)) } rotate 6*z } } #end