Modeling Theater Sets with POV-Ray (Part 4)

This post is part of a how-to series for using POV-Ray to model theater sets. Here are links to Part 1, Part 2 and Part 3. In part 4 I work on modeling the theater and stage for the set in order to check sightlines and provide the best reference for the rest of the production team.

The same way I thought about flats as thin boxes in POV-Ray, I have to decompose the stage into geometric primitives to easily model it. POV-Ray also handles constructive solid geometry, so we can think about shapes as the differences between other shapes–just like the door flat is a flat with another box cut out of it.

For Harvey at The Capitol Theater I was working with a proscenium theater, so that’s what I’ll model in this example. I’m also going to introduce more program-ish concepts, such as using variables for distances and more declarations for objects.

A proscenium theater’s stage is basically a box with a window (the proscenium opening). Many such theaters include a portion of the stage which extends (or thrusts) beyond the proscenium wall toward the audience. Unless the audience sits on three sides of the stage, it’s not really called a thrust-style stage, however. (Or at least that’s how I learned it *shrug*.)

Anyway, I need the dimensions of the stage and the proscenium opening. I either get these from someone, from a plan somewhere, or measure them myself.

 #declare STAGE_WIDTH = 34;            // distance between side walls of stage (includes wings)
 #declare STAGE_DEPTH = 25;            // distance from apron to back wall
 #declare STAGE_CEILING_HEIGHT = 20;   // distance from stage floor to rafters
 #declare STAGE_GRID_HEIGHT = 15;      // distance from stage floor to battens/rigging/grid
 #declare STAGE_FLOOR_HEIGHT = 3;      // distance from house floor to stage
 #declare STAGE_COLOR = color rgb .2;

I need to decide where to position the stage in my virtual world. It makes a lot of sense for the center line of the stage to be x=0. It’s less obvious where to place z=0. The three choices I see are the back wall of the stage, the front of the proscenium arch, or at the front of the apron. I chose the front of the apron, because it was easiest to hang a tape measure there (so that’s where all my measurements are from).

// define the stage
 #declare stage =
 union {
 box { <-STAGE_WIDTH/2,-STAGE_FLOOR_HEIGHT,STAGE_DEPTH>, <STAGE_WIDTH/2,0,0> }
 pigment { color STAGE_COLOR }
 }
 // add the stage to the scene
 object { stage }
 
Stage added
Stage added

The proscenium arch can be treated much like a big door, where we cut one box out of a bigger box.

 #declare PROSCENIUM_ARCH_WIDTH = 24
 #declare PROSCENIUM_ARCH_HEIGHT = 12;
 #declare ARCH_COLOR = color rgb .5;
 //
 // define the proscenium
 #declare proscenium_arch =
 difference {
 box { <-STAGE_WIDTH/2,0,APRON_DEPTH>, <STAGE_WIDTH/2,STAGE_CEILING_HEIGHT,APRON_DEPTH+PROSCENIUM_ARCH_DEPTH> }
 box { <-PROSCENIUM_ARCH_WIDTH/2,-1,-STAGE_DEPTH>, <PROSCENIUM_ARCH_WIDTH/2,PROSCENIUM_ARCH_HEIGHT,STAGE_DEPTH> }
 pigment { color ARCH_COLOR }
 }
 // add the arch to the scene
 object { proscenium_arch }
 
Proscenium added
Proscenium added

Using our dimension values, we can add walls and a roof to the stage.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s