Forums

You may post here on any subjects related to this site or the software therein. (Most everything on this site is tied into the forums so that you may leave or post comments about it.)

   

A Cat Tail Rocker

   From: Lewis A. Sellers
   Date: October 12 1998 9:12 PM
This is a povray 3.1 model of a rocking chair.
This is a povray 3.1 model of a rocking chair.

Code:

// a cat tail rocker by Lewis Sellers, 1998.
// lsellers@usit.net http://www.public.usit.net/~lsellers http://www.intrafoundation.com



//
// macro 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 {
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 {
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 {
diffuse 1.0
reflection 0.2
brilliance 1
specular .6
roughness .1
}
}



// 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 {
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 {
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 {
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 {
diffuse 0.9
}
}




//the simple room
//floor
box {<-10,-1,-10>,<5,0,4> texture {T_HardWood} }
//the walls
box {<-11,-1,3>,<5,8,4> texture {T_Stucco} }
box {<-10,-1,3>,<-11,8,-17> texture {T_Stucco} }





//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_OakWood rotate<90,90,0>}
}
#declare rc_forepost = lathe {
linear_spline
6,
<0,0>, <.05,0>, <.1,.5>, <.1,2.25>, <.05,2.5>, <0,2.5>
texture{T_OakWood rotate<90,90,0>}
}
#declare rc_slat =
box { //slat n
<-.1,2.2,.97>,<.1,4.0,1.03>
texture{T_OakWood rotate<90,90,0>}
}
#declare rc_seatslat =
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.4>}
box {<-.21,-.1,1>,<-.1,.2,2.6>}
cylinder {<-.15,-.11,1>,<-.15,.11,1>,.05}
}
cylinder {<-.05,0,0>,<-.05,.1,0>,.15}
texture{T_SmoothOakWood}
}
#declare rc_rightarm = union {
difference {
box {<.2,0,0>,<-.1,.1,2.4>}
box {<.21,-.1,1>,<.1,.2,2.6>}
cylinder {<.15,-.11,1>,<.15,.11,1>,.05}
}
cylinder {<.05,0,0>,<.05,.1,0>,.15}
texture{T_SmoothOakWood}
}
#declare rc_roundbrace =
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> texture{T_SmoothOakWood rotate<0,7,0>} }
object {rc_seatslat rotate<0,0,-15> translate<-.6,1.6+.13,0> texture{T_SmoothOakWood rotate<0,2,0>} }
object {rc_seatslat rotate<0,0,-10> translate<-.4,1.6+.07,0> texture{T_SmoothOakWood rotate<0,14,0>} }
object {rc_seatslat rotate<0,0,-5> translate<-.2,1.6+.05,0> texture{T_SmoothOakWood rotate<0,-15,0>} }
object {rc_seatslat rotate<0,0,0> translate<0,1.6+0,0> texture{T_SmoothOakWood rotate<0,1,0>} }
object {rc_seatslat rotate<0,0,5> translate<.2,1.6+.05,0> texture{T_SmoothOakWood rotate<0,13,0>} }
object {rc_seatslat rotate<0,0,10> translate<.4,1.6+.07,0> texture{T_SmoothOakWood rotate<0,0,0>} }
object {rc_seatslat rotate<0,0,15> translate<.6,1.6+.13,0> texture{T_SmoothOakWood rotate<0,5,0>} }
object {rc_seatslat rotate<0,0,20> translate<.8,1.6+.20,0> texture{T_SmoothOakWood rotate<0,-10,0>} }


//back lattice
box {<-.8,4.0,.95>,<.8,4.1,1.05>} //top
object {rc_slat translate<-.5,0,0> texture{T_SmoothOakWood rotate<0,0,0>} }
object {rc_slat translate<-.2,0,0> texture{T_SmoothOakWood rotate<15,0,0>} }
object {rc_slat translate<.2,0,0> texture{T_SmoothOakWood rotate<45,0,0>} }
object {rc_slat translate<.5,0,0> texture{T_SmoothOakWood rotate<90,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,-42,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=1; //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,-9.5>, color rgb<1,.99,.9> area_light x*6,y*6,3,3 jitter fade_distance 5}
//media { scattering { 3 rgb<.1,.1,.1> }}
#end


camera {
// location <2,4,-1>
// look_at <0,2.5,-1>

// location <2,4,-1>
// look_at <0,2.5,0>

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

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

//location <11, 11, -6>
//look_at <-.5, 2.5, 0>
}
views 366
Copyright © 1997-2006 by Lewis A. Sellers.        Login