Drawing Basics: How to draw a roof in perspective

Basic roof in perspective
When teaching students two point perspective I often demonstrate building  a simple house or shed to illustrate some of the basic points behind this type of linear perspective. One thing that seems to be difficult for most beginners is to figure out how to get the roof line in perspective. That is what we will be working on today.

Today, you will need to know some of the basics of two point perspective in order to build a basic box.  If you need help with this or a refresher click this link: two point perspective.

If you have the basics down and are ready to add a basic roof to your building, lets begin.


Build the Walls of the Building

This is just like building a basic box in two point perspective. First, establish the horizon line. Then decide where the two vanishing point should be placed along the horizon line. The drawing the guide lines to from the from leading edge of the box to vanishing points will set up the visual boundaries of the edges of the box.

I put the box on the horizon line to make it appear as seen from the eye level of some standing on the ground.

Find the Visual Center of Each Wall

First, you need to decide what angle the roof is slanting. I decided to go with the slant of the roof running along the long side of the building,

Once you decide that, the next thing to do is to find the center of the wall that will have the peak of the roof above it. Just measuring the half way point will not work because we are looking for the visual center as seen in perspective.

The solution to this is easy. Just draw an X from corner to corner of the wall, as demonstrated by the red lines in the image to the right,. The center of the X will be the visual center of that wall.


Establish the Center at the Top of the Wall

Next, all you need to do is draw a vertical line through the center of the X to locate the center of the wall at the top of the wall.

This is demonstrated by the red vertical line in the image to the right.
Establish the Height of the Roof

Now carry that center line up to the height you want the peak of the roof to be. This can be any height you want, just remember the higher you make the peak the more pitched the roof will be.

This is demonstrated by the blue vertical line in the image to the right.
Establish the First Roof Line and the Incline Vanishing Point

This can be the trickiest part. Draw a line from the front top corner of the wall to the top of the line you drew to set up the height of the roof.

Carry this line beyond that point up into the sky of your composition. Here you will want to establish your vanishing point for the inclined angle. As a helpful guide it is better to place it higher (further from your roof) than lower. If the vanishing point is too close to the roof you will run into some skewing problems.

To the right you can see I have used my original line to help locate the vanishing point an now have the front edge of the roof constructed.

Establish the Second Roof Line from the Vanishing Point

This next step is fairly straight forward. Draw a line from the vanishing point used for the inclined plane to the back top corner of the side wall of the box as demonstrated to the right.
Find the Top of the Roof Line

As you draw the top of the roof line you start by drawing from the front edge of the roof at the peak and draw a line back to the original vanishing point you used to build the box (not pictured in the image)

This will create the proper visual shape of the top roof line. A common mistake is to just draw it horizontal, which is inaccurate because the line is no longer in perspective.
Add the Other Edge of the Roof

To finish the roof draw a line from the peak of the roof down to the top corner of the back edge of the wall. This finishes of the roof line.


Now you have a Roof

This a a simple example of how to build a roof line or any other inclined plane when using two point perspective. You can take this a step further and build multiple roof lines on more complex buildings. I suggest giving that a try.