The Math Forum

Ask Dr. Math - Questions and Answers from our Archives
Associated Topics || Dr. Math Home || Search Dr. Math

Finding the Angle of Solar Collectors on a Sloped Roof

Date: 08/30/2008 at 03:13:19
From: Neill
Subject: Angle of solar collectors on a sloped roof

After three days of thinking about it, making paper models and drawing
sketches, I am absolutely stumped.

On the roof of my house I have solar collectors and would like to know
which way do they face (which way does the fall line that rain would
follow face)?  What is the angle of the fall line to the horizon?

The collectors are shown at
The roof has an angle of 26 degrees to horizontal and the collectors
have an angle to the roof of 43 degrees.  The collectors are at right
angles to the roof.  The ridge of the roof runs due south/north.

My guesses are about 26 degrees from south and about 48 degrees to the

Ideally I would like to know the answers and how to work this out so
that I can do it myself in future for other collectors.

From school I remember vectors and am sure I must be able to use them
to solve this problem some how.

Greetings from Bavaria!  Thank you!


Date: 08/31/2008 at 21:06:41
From: Doctor Rick
Subject: Re: Angle of solar collectors on a sloped roof

Hi, Neill.

You're right, vectors will help--along with rotation matrices:

  Rotations in Three Dimensions 

Let's set up coordinate axes: the positive x axis to the east, 
positive y axis to the north, and positive z axis pointing up.  If I 
understand correctly, the peak of the roof is aligned north-south, 
that is, parallel to the y axis.

Now, here's what we can do.  We'll start with the solar collectors 
horizontal, and define a vector perpendicular to that surface (this 
is the usual way we identify the orientation of a plane).  This
"normal vector" is vertical, with components (0, 0, 1).

First we tilt the solar panel by the angle beta, which will be the 
angle the collector makes with the roof.  (So far we have a flat 
roof.)  This requires a rotation of beta degrees counterclockwise 
about the (positive) x axis:

       / 1      0          0      \
  A = |  0   cos(beta) -sin(beta)  |
       \ 0   sin(beta)  cos(beta) /

Then we rotate the roof (with the solar collector on it) by an angle 
alpha clockwise about the y axis; this will be considered a negative 
angle, -alpha.  The rotation matrix for this part of the 
transformation is

       /  cos(-alpha)  0   sin(-alpha) \
  B = |       0        1       0        |
       \ -sin(-alpha)  0   cos(-alpha) /

       /  cos(alpha)  0  -sin(alpha) \
    = |     0         1       0       |
       \  sin(alpha)  0   cos(alpha) /

Now we put it all together: we start with the normal vector N 
(represented as a column vector), multiply it (on the left) by matrix 
A, then multiply (on the left again) by matrix B.  The new normal 
vector is

  N' = BAN

        / -sin(alpha)*cos(beta) \
     = |  -sin(beta)             |
        \  cos(alpha)*cos(beta) /

Finally, we want to know the direction this vector is pointed.  The 
angle between this vector and the vertical (which is equal to the 
angle between the rain fall line and the horizontal), which I'll call 
theta, is found by taking the dot product with the vertical vector 
(0, 0, 1), and taking the inverse cosine (because both the vectors 
whose dot product we're taking have length 1):

  theta = arccos(cos(alpha)*cos(beta))

The angle phi in the horizontal plane can be found by projecting N' 
into the x-y plane (that is, setting the z component to 0), then 
using the atan2 function found in programming languages and 
spreadsheets (with some difference in usage, namely the order of 
arguments) to convert Cartesian to polar coordinates:

  phi = atan2(y, x)
      = atan2(-sin(beta), -sin(alpha)*cos(beta))

This will be in radians counterclockwise from east; to change it to 
degrees clockwise from north, we can use

  phi = 90 - 180/pi*atan2(-sin(beta), -sin(alpha)*cos(beta))

It's time to test my work!  I'll use a spreadsheet (which will 
require that I switch the arguments to atan2).  Using your values

  alpha = 26 deg
  beta  = 43 deg

I get values of

  theta =  48.90 deg
  phi   = 205.18 deg

You estimated that theta was 48 degrees.  For phi, your estimate of 
26 degrees from south, I presume *west* of south, would correspond 
to 180+26 = 206 degrees from north.  It looks like I may have gotten 
it right on the first try!

Note that I ran through the work quickly (as I was working it out),
and did not stop to explain everything.  Feel free to ask for more
explanation wherever you need it.  Hope this helps!

- Doctor Rick, The Math Forum 

Date: 09/01/2008 at 05:00:53
From: Neill
Subject: Thank you (Angle of solar collectors on a sloped roof)

Thank you!

It is nice to have our guesses and models confirmed by you.  I will
try and fully understand your answer but I think I need to look into a
few basics first.

Associated Topics:
College Geometry
College Higher-Dimensional Geometry
High School Geometry
High School Higher-Dimensional Geometry
High School Practical Geometry

Search the Dr. Math Library:

Find items containing (put spaces between keywords):
Click only once for faster results:

[ Choose "whole words" when searching for a word like age.]

all keywords, in any order at least one, that exact phrase
parts of words whole words

Submit your own question to Dr. Math

[Privacy Policy] [Terms of Use]

Math Forum Home || Math Library || Quick Reference || Math Forum Search

Ask Dr. MathTM
© 1994- The Math Forum at NCTM. All rights reserved.