Descriptions and Samples for the POV-Ray Raytracer by Friedrich A. Lohmüller
    deutsche Version

Castle (1) with 4 towers and a door overview Castle (3)Tower with windows

Castle: 2.Castle with Moat

The construction of a castle with towers, door and moat.

Objects: "box", "plane".
Methods: "declare", "union", "difference", "intersection", "inverse", "bounded_by"

Castle with moat in frontview.

The construction in details:

The moat is formed by subtraction of a box from the ground plane. Then this hole is filled by a plane with the texture of water situated in a deeper level.

// ground ---------------------------------------------
difference{plane{<0,1,0>, 0}
           box{<-15,-5,-15>,<15,1,15>}
 texture{Cork pigment{quick_color Tan}
         finish {ambient 0.15 diffuse 0.85 phong 1}}
          }// end of difference
// water ------------------------------------------------
 box{<-15,-5,-15>,<15,-0.80,15>
     texture{T_Green_Glass pigment{quick_color Turquoise}
             normal {ripples 0.5 scale 0.25}}}
//-------------------------------------------------------

The moat is dress inside by flat boxes as retaining walls
and the towers were shored up by cones under zero level:

//--------------------------------------------------
#declare Walltex =
  texture{pigment{color White}
          finish {ambient 0.15 diffuse 0.85 phong 1}}
#declare Rooftex =
  texture{pigment{color rgb<0.4,0,0>}
          finish {ambient 0.15 diffuse 0.85 phong 1}}
// wall in the moat ----------------------------------
#declare G_Wall =
box {<-15.3,-6,-0.3 >,< 15.3,  0.2,0.3> rotate<-5,0,0>
     texture{Walltex}}
// drawing 4 walls in the moat -----------------------
object{G_Wall rotate<0,  0,0>translate<  0,-0.25,-15>}
object{G_Wall rotate<0,180,0>translate<  0,-0.25, 15>}
object{G_Wall rotate<0, 90,0>translate<-15,-0.25,  0>}
object{G_Wall rotate<0,-90,0>translate< 15,-0.25,  0>}
//----------------------- Tower --------------------
#declare TR =  2.0;   //TowerRadius
#declare TH =  5.0;   //TowerHeight
//--------------------------------------------------
#declare Turm =  union{  //defines object "Tower"
cone{<0,-TH,0>,TR+1.0,<0,0,0>,TR   texture{Walltex}}
cylinder {<0,0,0>,<0,TH,0>,TR      texture{Walltex}}
cylinder {<0,0.0,0>,<0,0.1,0>,2.05 texture{Walltex}}
cylinder {<0,2.5,0>,<0,2.6,0>,2.05 texture{Walltex}}
cone{<0,0,0>,TR+0.5,<0,TR+0.5,0>,0
                 translate<0,TH,0> texture{Rooftex}}
cone{<0,0,0>,TR -0.2,<0,2*TR+0.5,0>,0
                 translate<0,TH,0> texture{Rooftex}}
}// ------------ end of tower - Ende Turm -----------
//----------------- the walls - die Mauern ----------
#declare Wall = union{
  box {<-4,0,-0.3>,< 4,3.5,0.3> }
  box {<-4.5,-6,-0.3 >,< 4.5,0,0.3> rotate<-5,0,0>}
  texture{Walltex}}
// --------------------- the castle -----------------
// --------------- drawing "Tower" at the 4 angles: -
object{ Tower translate<-6,0,-6>}
object{ Tower translate< 6,0,-6>}
object{ Tower translate< 6,0, 6>}
object{ Tower translate<-6,0, 6>}
// ---------------- drawing 4 walls -----------------
difference{
    object{Wall} // Wall with hole for the door  ----
    box{<-1,0,-0.4>,<1,2,0.4>       texture{Walltex}}
    cylinder{<0,2,-0.5>,<0,2,0.5>,1 texture{Walltex}}
                             translate< 0,0,-6>}
object{Wall rotate<0,  0,0> translate< 0,0, 6>}
object{Wall rotate<0, 90,0> translate<-6,0, 0>}
object{Wall rotate<0,-90,0> translate< 6,0, 0>}
// -------------- floor inside -----------------------
box{<-6,-4,-6>,< 6,0.01,6>
   texture{pigment{color Gray90}
           finish{ambient 0.45 diffuse 0.55 phong 1}}}
//-----------------------------------------------end--

Click here for the complete scene description
for POV-Ray: ".txt" file or ".pov" file



Castle (1) with 4 towers and a door overview Castle (3)Tower with windows

© Friedrich A. Lohmüller, 2003     email email: (legacy email redacted)