POV-Ray : Newsgroups : povray.text.scene-files : rocking chairs Server Time
29 Jul 2024 00:33:10 EDT (-0400)
  rocking chairs (Message 1 to 1 of 1)  
From: Lewis Sellers
Subject: rocking chairs
Date: 10 Oct 1998 07:41:56
Message: <361F3A0F.94F1EAC8@usit.net>
// cat tail rocker by Lewis Sellers, 1998.
// lse### [at] usitnet http://www.public.usit.net/~lsellers
http://www.intrafoundation.com



// define textures
#declare T_HardWood =
texture {
    pigment {
        wood
        color_map {
            [0.0 color rgb<.75, .55, .41>]
            [0.9 color rgb<.65, .40, .35>]
            [1.0 color rgb<.45, .26, .24>]
        }
        turbulence 0.3
        octaves 3
        scale <0.05, .05, 1>
        rotate <8,4,2>
    }
    finish {
        ambient 0.3
        diffuse 0.9
        reflection 0.1
        brilliance 1
        specular .5
        roughness .5
    }
}

#declare T_OakWood =
texture {
    pigment {
        wood
        color_map {
            [0.0 color rgb<.85,  .65, .51>]
            [0.9 color rgb<.75,  .50, .45>]
            [1.0 color rgb<.55, .36, .34>]
        }
        turbulence 0.12
        octaves 3
        scale <0.05, .05, 1>
        rotate <4,3,0>
    }
    finish {
        ambient 0.3
        diffuse 0.9
        reflection 0.1
        brilliance 1
        specular .5
        roughness .5
    }
}

#declare T_OakWoodL =
texture {
    pigment {
        wood
        color_map {
            [0.0 color rgb<.85, .65, .51>]
            [0.9 color rgb<.75, .50, .45>]
            [1.0 color rgb<.55, .36, .34>]
        }
        turbulence 0.12
        octaves 3
        scale <0.05, .05, 1>
        rotate <90,90,0>
    }
    finish {
        ambient 0.3
        diffuse 0.9
        reflection 0.1
        brilliance 1
        specular .5
        roughness .5
    }
}

#declare T_SmoothOakWood =
texture {
    pigment {
        wood
        color_map {
            [0.0 color rgb<.85,  .65, .51>]
            [0.9 color rgb<.75,  .50, .45>]
            [1.0 color rgb<.55, .36, .34>]
        }
        turbulence 0.12
        octaves 3
        scale <0.05, .05, 1>
        rotate <4,3,0>
    }
    finish {
        ambient 0.3
        diffuse 1.0
        reflection 0.2
        brilliance 1
        specular .6
        roughness .1
    }
}

#declare T_Stucco =
texture {
    pigment {
       wrinkles
        color_map {
            [0.0 color rgb<.7,.7,.7>]
            [0.9 color rgb<.6,.6,.6>]
            [1.0 color rgb<.4,.4,.4>]
        }
        turbulence 0.3
        octaves 3
        scale <1,1,1>
        rotate <8,4,2>
    }
    finish {
        ambient 0.3
        diffuse 0.9
        reflection 0
    }
}

camera {
//	location <.5,3,-1>
//	look_at  <0,2.5,0>

	location  <3, 4, -6>
	look_at   <-.5, 2.5, 0>
}







//the simple room
plane { //the floor
    y, 0
    texture {T_HardWood}
    hollow
}      
plane { //the wall
    z, 3
    texture {T_Stucco}
    hollow
}      






//rocking chair. all struts are .05w slats are .2w
#declare rc_rearpost = lathe {
    linear_spline                 
    9,
    <0,0>, <.05,0>, <.1,.5>, <.1,4.7>, <.05,4.8>, <.1,4.9>, <.1,5.1>,
<.05,5.15>, <0,5.2>
    texture{T_OakWoodL}
}
#declare rc_forepost = lathe {
    linear_spline                 
    6,
    <0,0>, <.05,0>, <.1,.5>, <.1,2.25>, <.05,2.5>, <0,2.5>
    texture{T_OakWoodL}
}
#declare rc_slat = box {<-.1,2.2,.97>,<.1,4.0,1.03> texture{T_OakWoodL}
} //slat n
#declare rc_seatslat = union {
    difference {
    box {<-.09,0,-.93>,<.09,.1,.93>}
    box {<-.1,0,0>,<.1,.1,.5> rotate<-15,0,0> translate<0,0,-.93>}
    }
    texture{T_SmoothOakWood}
}
#declare rc_leftarm = union {
    difference {
        box {<-.2,0,0>,<.1,.1,2.5>}   
        box {<-.21,-.1,1>,<-.1,.2,2.5>}   
    }
    texture{T_SmoothOakWood}
}
#declare rc_rightarm = union {
    difference {
        box {<.2,0,0>,<-.1,.1,2.5>}   
        box {<.21,-.1,1>,<.1,.2,2.5>}   
    }
    texture{T_SmoothOakWood}
}
#declare rc_roundbrace = union {
    intersection {
        difference {
            cylinder {<0,0,-.05>,<0,0,.05>,2.1}
            cylinder {<0,0,-.06>,<0,0,.06>,2.0}
            translate<0,2.1,0>
        }
        box {<-1,-1,-.2>,<1,1,.2> rotate<0,0,45>}
    }
}
#declare rc_rocker = union {
    intersection {
        difference {
            cylinder {<0,0,-.05>,<0,0,.05>,2.1}
            cylinder {<0,0,-.06>,<0,0,.06>,2.0}
            translate<0,2.1,0>
        }
        box {<-1.75,-1.75,-.2>,<1.75,1.75,.2> rotate<0,0,45>}
    }             
    rotate<0,90,0>
}
#declare rockingchair = union {
    union {
    //rear
    object {rc_rearpost translate<-.9,0,1>}
    object {rc_rearpost translate<.9,0,1>}
          
    //fore
    object {rc_forepost translate<-.9,0,-1>}
    object {rc_forepost translate<.9,0,-1>}

    //struts
    cylinder {<-.9,.5,-1>,<.9,.5,-1>,.05} //low fore
    cylinder {<-.9,1.5,-1>,<.9,1.5,-1>,.05} //high fore
    cylinder {<-.9,1,1>,<-.9,1,-1>,.05} //left
    cylinder {<.9,1,1>,<.9,1,-1>,.05} //right
          
    //seat
    //box {<-.9,1.6,-1>,<.9,1.7,1>}
    object {rc_seatslat rotate<0,0,-20> translate<-.8,1.6+.20,0>}
    object {rc_seatslat rotate<0,0,-15> translate<-.6,1.6+.13,0>}
    object {rc_seatslat rotate<0,0,-10> translate<-.4,1.6+.07,0>}
    object {rc_seatslat rotate<0,0,-5> translate<-.2,1.6+.05,0>}
    object {rc_seatslat rotate<0,0,0> translate<0,1.6+0,0>}
    object {rc_seatslat rotate<0,0,5> translate<.2,1.6+.05,0>}
    object {rc_seatslat rotate<0,0,10> translate<.4,1.6+.07,0>}
    object {rc_seatslat rotate<0,0,15> translate<.6,1.6+.13,0>}
    object {rc_seatslat rotate<0,0,20> translate<.8,1.6+.20,0>}


    //back lattice
    box {<-.8,4.0,.95>,<.8,4.1,1.05>} //top
    object {rc_slat translate<-.5,0,0>}
    object {rc_slat translate<-.2,0,0>}
    object {rc_slat translate<.2,0,0>}
    object {rc_slat translate<.5,0,0>}
    box {<-.8,2.1,.95>,<.8,2.2,1.05>} //bottom

    //back head board
    difference {
    cylinder {<-.8,4.5,1>,<.8,4.5,1>,.2}
    box {<-.85,4.2,.9>,<.85,4.8,.7>}
    box {<-.85,4.2,1.1>,<.85,4.8,1.3>}             
    }

    //left arm
    object {rc_leftarm translate<-.9,2.5,-1.5>}

    //right arm
    object {rc_rightarm translate<.9,2.5,-1.5>}

    //back brace
    object {rc_roundbrace translate<0,1.5,-.9>}

    //fore brace
    object {rc_roundbrace translate<0,1.5,.9>}

    rotate<0,0,0>
    translate<0,.3,0>
    }  
    //rockers
    object {rc_rocker translate<-.9,0,0>}
    object {rc_rocker translate<.9,0,0>}

    texture {T_OakWood}
}






//ok. put the chairs on the floor
object{rockingchair rotate<0,0,0> translate<0,0,0> }
object{rockingchair rotate<0,-45,0> translate<-5,0,0> }
//object{rockingchair rotate<-90,45,0> translate<-2,1,-2> }
//object{rockingchair rotate<0,-45,0> translate<3,0,0>}






//our lighting.... we have two choices
#declare highquality=0; //0=fast low quality, 1=realistic computational
expensive lighting (slow)

//this renders quickly
#if (highquality=0)
    light_source { <5,5,-5> color rgb<1,1,1> fade_distance 5}
#end
                      
//this renders slowly, but looks much better
#if (highquality=1)
    light_source { <10,10,-10>, color rgb<1,1,.9> area_light x*6,y*6,3,3
jitter fade_distance 5} 
    media { scattering { 3 rgb<.1,.1,.1> }}
#end

-- 
Lewis A. Sellers: writer and contract Multimedia Website Developer
mailto:lse### [at] usitnet (The Fourth Millennium Foundation)
http://www.public.usit.net/lsellers/ & http://www.intrafoundation.com
http://brain-of-pooh.tech-soft.com/users/critters/bios/sellers_lewis.html

You can bug the living bejesus out of me live on ICQ @ 491461
(If I don't get back to you within a month, I'm out of prozac in some
dark corner somewhere screaming things quite unintelligable but -- most
curiously -- thick with a sumerian accent.)

"The comedy is over" -i pagliacci


Post a reply to this message

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