/***************************************************************************** LATTICE GENERATOR FOR POV-Ray 3.1 (include file 1) Created by: Thomas de Groot (the Netherlands) e-mail: t.degroot@inter.nl.net On: 20 January 1998 Revised: 29 September 1998 Updated: 01 May 1999 Contains: All the pipes to be used with 'Lattice.inc' and a number of miscellaneous objects Copyright: May be freely used and modified. Please acknowledge author. ***************************************************************************** CONTENT: SPHERICAL SHAPES: CYLINDRICAL SHAPES: TOROIDAL SHAPES: Bowl Pipe1 (10x2x2) FlatBowl Pipe2 (15x2x2) FishBowl Pipe3 (20x2x2) GibbousRing Pipe4 (25x2x2) Pipe5 (30x2x2) Pipe6 (35x2x2) Pipe7 (40x2x2) TwoFlatPipes ThreeFlatPipes FourFlatPipes ThreeRibPipes ThreeCornerPipes FourRibPipes FivePipes SixPipes SimpleJoint Gutter */ //==================================================== //=================== SPHERE ========================= //==================================================== //FLAT BOWL #declare FlatBowl = difference { sphere { <0, 0, 0>, 5 scale <1, -0.5, 1> } sphere { <0, 0, 0>, 4.8 scale <1, -0.5, 1> } box { <-6, -1, -6>, <6, 4, 6> } } //GIBBOUS RING #declare GibbousRing = difference { sphere { <0, 0, 0>, 5 scale <1, -0.5, 1> } sphere { <0, 0, 0>, 4.8 scale <1, -0.5, 1> } box { <-6, -1, -6>, <6, -4, 6> } box { <-6, 1, -6>, <6, 4, 6> } } //BOWL #declare Bowl = difference { sphere { <0, 0, 0>, 5 scale <1, -0.5, 1> } sphere { <0, 0, 0>, 4.8 scale <1, -0.5, 1> } box { <-6, 1, -6>, <6, 4, 6> } } //FISH BOWL #declare FishBowl = difference { sphere { <0, 0, 0>, 5 } sphere { <0, 0, 0>, 4.8 } box { <-6, 3.5, -6>, <6, 6, 6> } } //==================================================== //================== CYLINDER ======================== //==================================================== //PIPES #declare Pipe1 = difference { cylinder { <-5, 0, 0>, <5, 0, 0>, 1.8 } cylinder { <-5.1, 0, 0>, <5.1, 0, 0>, 1.6 } } #declare Pipe2 = difference { cylinder { <-7.5, 0, 0>, <7.5, 0, 0>, 1.8 } cylinder { <-7.6, 0, 0>, <7.6, 0, 0>, 1.6 } } #declare Pipe3 = difference { cylinder { <-10, 0, 0>, <10, 0, 0>, 1.8 } cylinder { <-10.1, 0, 0>, <10.1, 0, 0>, 1.6 } } #declare Pipe4 = difference { cylinder { <-12.5, 0, 0>, <12.5, 0, 0>, 1.8 } cylinder { <-12.6, 0, 0>, <12.6, 0, 0>, 1.6 } } #declare Pipe5 = difference { cylinder { <-15, 0, 0>, <15, 0, 0>, 1.8 } cylinder { <-15.1, 0, 0>, <15.1, 0, 0>, 1.6 } } #declare Pipe6 = difference { cylinder { <-17.5, 0, 0>, <17.5, 0, 0>, 1.8 } cylinder { <-17.6, 0, 0>, <17.6, 0, 0>, 1.6 } } #declare Pipe7 = difference { cylinder { <-20, 0, 0>, <20, 0, 0>, 1.8 } cylinder { <-20.1, 0, 0>, <20.1, 0, 0>, 1.6 } } //GUTTER #declare Gutter = difference { cylinder { <-5, 0, 0>, <5, 0, 0>, 1.8 } cylinder { <-5.1, 0, 0>, <5.1, 0, 0>, 1.6 } box { <-5.2, 0, -2>, <5.2, 2.1, 2> } } //JOINT #declare SimpleJoint = difference { cylinder { <-2.5, 0, -10>, <2.5, 0, -10>, 2 } cylinder { <-2.6, 0, -10>, <2.6, 0, -10>, 1.8 } pigment {White} } //2-WAY CROSSING PIPES (FLAT CORNER) #declare TwoFlatPipes = union { difference { sphere { <0, 0, 0>, 2 } sphere { <0, 0, 0>, 1.8 } cylinder { <-5.1, 0, 0>, <0.1, 0, 0>, 1.8 } cylinder { <0, 0, -5.1>, <0, 0, 0.1>, 1.8 } } difference { cylinder { <-5, 0, 0>, <0, 0, 0>, 2 } cylinder { <-5.1, 0, 0>, <0.1, 0, 0>, 1.8 } cylinder { <0, 0, -5.1>, <0, 0, 0.1>, 1.8 } } difference { cylinder { <0, 0, -5>, <0, 0, 0>, 2 } cylinder { <0, 0, -5.1>, <0, 0, 0.1>, 1.8 } cylinder { <-5.1, 0, 0>, <0.1, 0, 0>, 1.8 } } } //4-WAY CROSSING PIPES (SIDE RIB) #declare FourRibPipes = union { difference { cylinder { <-5, 0, 0>, <5, 0, 0>, 2 } cylinder { <-5.1, 0, 0>, <5.1, 0, 0>, 1.8 } cylinder { <-0.1, 0, 0>, <0, 0, 5.1>, 1.8 } cylinder { <0, -5.1, 0>, <0, 0.1, 0>, 1.8 } } difference { cylinder { <0, 0, 0>, <0, 0, 5>, 2 } cylinder { <-0.1, 0, 0>, <0, 0, 5.1>, 1.8 } cylinder { <-5.1, 0, 0>, <5.1, 0, 0>, 1.8 } cylinder { <0, -5.1, 0>, <0, 0.1, 0>, 1.8 } } difference { cylinder { <0, -5, 0>, <0, 0, 0>, 2 } cylinder { <0, -5.1, 0>, <0, 0.1, 0>, 1.8 } cylinder { <-5.1, 0, 0>, <5.1, 0, 0>, 1.8 } cylinder { <-0.1, 0, 0>, <0, 0, 5.1>, 1.8 } } } //3-WAY CROSSING PIPES (CORNER RIB) #declare ThreeCornerPipes = union { difference { sphere { <0, 0, 0>, 2 } sphere { <0, 0, 0>, 1.8 } cylinder { <-5.1, 0, 0>, <0.1, 0, 0>, 1.8 } cylinder { <0, 0, -5.1>, <0, 0, 0.1>, 1.8 } cylinder { <0, -5.1, 0>, <0, 0.1, 0>, 1.8 } } difference { cylinder { <-5, 0, 0>, <0, 0, 0>, 2 } cylinder { <-5.1, 0, 0>, <0.1, 0, 0>, 1.8 } cylinder { <0, 0, -5.1>, <0, 0, 0.1>, 1.8 } cylinder { <0, -5.1, 0>, <0, 0.1, 0>, 1.8 } } difference { cylinder { <0, 0, -5>, <0, 0, 0>, 2 } cylinder { <0, 0, -5.1>, <0, 0, 0.1>, 1.8 } cylinder { <-5.1, 0, 0>, <0.1, 0, 0>, 1.8 } cylinder { <0, -5.1, 0>, <0, 0.1, 0>, 1.8 } } difference { cylinder { <0, -5, 0>, <0, 0, 0>, 2 } cylinder { <0, -5.1, 0>, <0, 0.1, 0>, 1.8 } cylinder { <-5.1, 0, 0>, <0.1, 0, 0>, 1.8 } cylinder { <0, 0, -5.1>, <0, 0, 0.1>, 1.8 } } } //3-WAY CROSSING PIPES (FLAT RIB) #declare ThreeFlatPipes = union { difference { cylinder { <-5, 0, 0>, <5, 0, 0>, 2 } cylinder { <-5.1, 0, 0>, <5.1, 0, 0>, 1.8 } cylinder { <0, 0, 0>, <0, 0, 5.1>, 1.8 } } difference { cylinder { <0, 0, 0>, <0, 0, 5>, 2 } cylinder { <0, 0, 0>, <0, 0, 5.1>, 1.8 } cylinder { <-5.1, 0, 0>, <5.1, 0, 0>, 1.8 } } } //4-WAY CROSSING PIPES #declare FourFlatPipes = union { difference { cylinder { <-5, 0, 0>, <5, 0, 0>, 2 } cylinder { <-5.1, 0, 0>, <5.1, 0, 0>, 1.8 } cylinder { <0, 0, -5.1>, <0, 0, 5.1>, 1.8 } } difference { cylinder { <0, 0, -5>, <0, 0, 5>, 2 } cylinder { <0, 0, -5.1>, <0, 0, 5.1>, 1.8 } cylinder { <-5.1, 0, 0>, <5.1, 0, 0>, 1.8 } } } //5-WAY CROSSING PIPES (SIDE) #declare FivePipes = union { difference { cylinder { <-5, 0, 0>, <5, 0, 0>, 2 } cylinder { <-5.1, 0, 0>, <5.1, 0, 0>, 1.8 } cylinder { <0, 0, -0.1>, <0, 0, 5.1>, 1.8 } cylinder { <0, -5.1, 0>, <0, 5.1, 0>, 1.8 } } difference { cylinder { <0, 0, 0>, <0, 0, 5>, 2 } cylinder { <0, 0, -0.1>, <0, 0, 5.1>, 1.8 } cylinder { <-5.1, 0, 0>, <5.1, 0, 0>, 1.8 } cylinder { <0, -5.1, 0>, <0, 5.1, 0>, 1.8 } } difference { cylinder { <0, -5, 0>, <0, 5, 0>, 2 } cylinder { <0, -5.1, 0>, <0, 5.1, 0>, 1.8 } cylinder { <-5.1, 0, 0>, <5.1, 0, 0>, 1.8 } cylinder { <0, 0, -0.1>, <0, 0, 5.1>, 1.8 } } } //6-WAY CROSSING PIPES #declare SixPipes = union { difference { cylinder { <-5, 0, 0>, <5, 0, 0>, 2 } cylinder { <-5.1, 0, 0>, <5.1, 0, 0>, 1.8 } cylinder { <0, 0, -5.1>, <0, 0, 5.1>, 1.8 } cylinder { <0, -5.1, 0>, <0, 5.1, 0>, 1.8 } } difference { cylinder { <0, 0, -5>, <0, 0, 5>, 2 } cylinder { <0, 0, -5.1>, <0, 0, 5.1>, 1.8 } cylinder { <-5.1, 0, 0>, <5.1, 0, 0>, 1.8 } cylinder { <0, -5.1, 0>, <0, 5.1, 0>, 1.8 } } difference { cylinder { <0, -5, 0>, <0, 5, 0>, 2 } cylinder { <0, -5.1, 0>, <0, 5.1, 0>, 1.8 } cylinder { <-5.1, 0, 0>, <5.1, 0, 0>, 1.8 } cylinder { <0, 0, -5.1>, <0, 0, 5.1>, 1.8 } } } //=================================================== //=================== TORUS ========================= //===================================================