POV-Ray : Newsgroups : povray.text.scene-files : old Kodak aperture iris diaphragm : old Kodak aperture iris diaphragm Server Time
28 Jul 2024 12:34:10 EDT (-0400)
  old Kodak aperture iris diaphragm  
From: Bob Hughes
Date: 17 Jul 2000 18:57:40
Message: <39738f64@news.povray.org>
// pov script for the animation at p.b.a.

// Persistence of Vision Ray Tracer Scene Description File
// File: iris.pov
// Vers: 3.1
// Desc: camera aperture mechanism (old Kodak bellows type)
// Date: 00.543
// Auth: Bob Hughes
// Mail: inv### [at] aolcom?Subject=Pov-Scene
// Note: not completely accurate, especially the anchor pivots on the green
ring.
//       the leaves (petals) lack having any S-shape layering curvature.
//       needs Chris Colefax's ClockMod include file to animate as is.
//       yours to do with what you will.

// transparency amounts for x-ray view (use zero for solid)
#declare F=.25;
#declare T=.75;

global_settings {
        max_trace_level 12  // for x-ray view
}

camera {location -10*z
        up y right x
        look_at 0}
light_source {<50,50,-100>,1.5}

background {rgb 1}


#declare clock_type="W"
#include "clockmod.inc"
#declare _C_=mclock;

// diaphragm leaves or petals
#declare C=8;
#while (C>0)
union {
cylinder {<3.25,-.5,-.2>,<3.25,-.5,-.1>,.225 pigment {rgb .9-(C/10) filter F
transmit T-.25}}
union {
disc {<3.175,.2,0>,z,.825,0
   clipped_by {plane {-y,0 translate .2*y}}
}
disc {<-3.175,.2,0>,z,.825,0
   clipped_by {plane {-y,0 translate .2*y}}
}
disc {0,z,4,2.33
   clipped_by {plane {y,0 translate .2*y}}
}
 pigment {rgb .1+(C/10) filter F transmit T-.25}
   scale <1,.8,1>
 }
  rotate <-3,3,0> translate <4,0,-C/80> rotate (-6-(_C_*21))*z
   translate <-4.25,2,0> rotate C*45*z // this rotation based on number of
leaves (petals)
}
#declare C=C-1;
#end

// red aperture control ring
union {
box {-1,1 scale <2,.5,.125> translate <5.75,0,-.0667> rotate 45*z}
difference {
cylinder {0,-.133*z,3.9}
cylinder {.01*z,-.136*z,2.33}
#while (C<8)
box {-1,1 scale <.75,.25,1> translate 2.5*x rotate C*45*z}
#declare C=C+1;
#end
 }
  pigment {rgbf <1,0,0,.25> filter F transmit T}
   rotate (14-(_C_*55))*z translate -.275*z
}

// green aperture anchoring ring
#declare C=8;
union {
difference {
cylinder {-.125*z,.125*z,5}
cylinder {-.133*z,.13*z,3}
 pigment {rgbf <0,1,0,.25> filter F transmit T}
}
#while (C>0)
cylinder {<-4.5,-1.2,-.5>,<-4.5,-1.2,-.25>,.2
         pigment {rgb .9-(C/10) filter F transmit T-.25}
          rotate -45*z rotate C*45*z}
#declare C=C-1;
#end
    translate .5*z
}


// omniVerse http://users.aol.com/persistenceofv/all.htm


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.