# Compound miter brainteaser

Page 1 of 3
• posted on January 13, 2006, 4:16 pm

Not for those who don't remember their trigonometry:
My father recently built a gazebo. Just for fun, he did it with ten sides, rather than the traditional six or eight. He gave the roof a 5/12 pitch (22.6 degree angle from horizontal). Thus, the roof was comprised of 10 triangular wedges. He sheathed the roof with planks forming concentric ten-sided rings around the center.
At what angles did he have to miter the planks to get them to fit perfectly?
If the roof was flat (zero pitch) like a ten-sided deck, the miter would have been 36 degrees from perpendicular, with a zero degree tilt (vertical cut). If the roof was infinitely steep (like building the walls of a ten-sided tower), he would have to have cut the boards with a zero degree miter (perfectly perpendicular cross-cut) with a 36 degree tilt from vertical.
What would the formula be for N sides with a roof pitch of A degrees?
Josh
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
• posted on January 13, 2006, 5:07 pm
5/12 pitch is 5 divided by 12 x 90 = degrees. 37.5

<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
• posted on January 13, 2006, 5:29 pm

So 12/12 pitch, which most of us think is a 45 degree angle, is really 12/12*90 = 90 degrees?
No, roof pitch refers to "rise over run". except for special cases, you are going to have to resort to tables or trig [angle atan(rise/run)] to get the angle. Josh stated this angle correctly. I think he forgot to divide by two in his other angle.

--
Alex -- Replace "nospam" with "mail" to reply by email. Checked infrequently.

<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
• posted on January 13, 2006, 5:35 pm

Josh, I think you forgot to divide by two here. each angle of an equilateral decagon is 144 degrees. To cut _one_ board to get that angle, you would cut 36 degrees from perpendicular. But presuming that you want the bevel or miter to line up (and maybe my assumption is not correct?), you would want to cut 18 degrees on each board.
--
Alex -- Replace "nospam" with "mail" to reply by email. Checked infrequently.

<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
• posted on January 13, 2006, 6:18 pm
Yes. My bad. I meant to say 18 degrees for both of my examples.
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
• posted on January 13, 2006, 7:07 pm

Answer 1: 18 degrees, after first building a jig to hold the planks at a 5:12 slope in his chop saw, RAS, etc. <g>
Answer 2: 16.7 degree miter and 7.1 degree bevel. If that's not right, then I'll have to solve it on something bigger than a post-it, and write out my steps more carefully!

This is the point where the prof says "The generalization is trivial, and is left as an exercise for the class."
--
Alex -- Replace "nospam" with "mail" to reply by email. Checked infrequently.

<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
• posted on January 13, 2006, 7:18 pm
I agree with you on the miter, not the bevel (though you're close).
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
• posted on January 14, 2006, 12:54 am
Josh wrote:

I got 8.35287747524613872127
er
--
email not valid

<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
• posted on January 14, 2006, 1:46 am
alexy wrote:

If you use Un*x.
bc has a very limited set of functions, and then only if you invoke it with the -l flag. The initial stuff adds a tangent and arcsin function to make up for that, and defines pi so I didn't have to write it out. Save the below to a file named compound-miter.bc, and use
"bc -ql [path/to/]compound-mitre.bc"
to calculate the angles for a (roof) of an arbitrary number of sides and roof pitch.
=8<---------------------------------------- define asin (k) { return a( k / sqrt(1 - sqrt(k)) ); }
define tan (p) { return s(p) / c(p); }
pi=4.0 * a(1);
print "how many sides?: "; #angle60 / angle * pi / 180; angle=2 * pi / read ();
# won't take a fraction :( needs a decimal number print "what is the slope?: "; slope=a(read());
miter=a( c(slope) * tan(angle/2.0)); bevel=asin( s(slope) * s(angle/2.0) );
scale=2; print "\nThe miter is: ", miter * 180.0 / pi, " degrees.\n"; print "The bevel is: ", bevel * 180.0 / pi, " degrees.\n";
quit; =8<----------------------------------------
er
--
email not valid

<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
• posted on January 15, 2006, 5:12 am
Enoch Root wrote:
[snip]
I got the definition of Asin messed up.
should be:
define asin (k) { return a( k / sqrt(1 - k^2) ); }
er
--
email not valid

<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
• posted on January 18, 2006, 7:57 pm
wrote:

For what it's worth, I modeled it up in SolidWorks and I got a 16.57 degree miter with a 7.12 degree bevel. So, I think you're pretty close alexy.
Relz
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
• posted on January 19, 2006, 1:01 am
I'll bet you made the same mistake in SolidWorks that I alluded to in an earlier post. If you were to start at the peak of the roof and draw 10 lines extending radially outward with a downward pitch of 5/12, you'd come up with angles of 16.57 and 7.12, as you did. However, for a 5/12 slope going straight down the roof (i.e. along a path bisecting two adjacent lines of the ten sided "starfish"), the slope along the ridges would not be 5/12; it would be (5/12)*cos(18). If you were to implement that slope in SolidWorks or Inventor or any other 3D modeling program, you should get the same answers as those given by DJ's algorithm (16.7 miter, and 6.8 bevel).
Josh
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
• posted on January 19, 2006, 1:49 pm

I guess I don't understand what you're saying. Could you or someone please explain it to me?
I've modeled two sections of a ten-sided roof with a 5/12 pitch. I've modeled two 1 x 4 "boards" that would join up on the theoretical middle of the rafters. For the boards to come together in both miter and bevel, the CAD software is still telling me that the miter should be 16.57358103 degrees and the bevel should be 7.12327393 degrees.
Sorry, but I've learned to trust my CAD software and either you are all wrong, or more likely, I've put something into my program that's wrong. Also, if anyone has SolidWorks, I am willing to email you my file and maybe you could tell me what I'm doing wrong.
Relz
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
• posted on January 19, 2006, 2:17 pm

I'll try different terminology. I thin what you probably modeled has hip rafters at 5:12 rather than common rafters at 5:12.
I don't have solidworks, but have another solid modeler. I'll try it and see what I get.

--
Alex -- Replace "nospam" with "mail" to reply by email. Checked infrequently.

<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
• posted on January 19, 2006, 2:48 pm

Actually, before I model, let me explain what I'd do, and see if what you did is equivalent.
Start with a plan view of 1/20 of the gazebo: a right triangle with (for convenience) a long leg of length 12.
Extrude this at 90 degrees, to a height greater than 5, leaving you with a triangular prism.
on the surface defined by the long leg (not hypotenuse) of the first right triangle: draw another right triangle consisting of the top of this surface (12 units long), down one side 5 units, and the hypotenuse.
Extrude cut (or whatever it is called in solidworks) with this triangle to cut away the top of the prism.
What you have left is a solid that if reflected on the short side and repeated 10 times at 36 degrees would be the gazebo (but don't do that). Look at the shape of the "roof" piece to get the miter cut.
Now define a plane perpendicular to the roof, and to the edge of the roof that is the hypotenuse in the plan view. Look at the angle on this plane of the intersection of the roof and the side. This is the bevel cut.
--
Alex -- Replace "nospam" with "mail" to reply by email. Checked infrequently.

<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
• posted on January 19, 2006, 3:00 pm
If you can email me a .SAT file I can check it out. Given that you get the exact angles that I get with my dot-product solution above, It seems like you must be defining the hip rafters at 5/12 pitch, which is slightly off from their actual pitch, but then again, maybe we're all wrong ;-)
If you picture the roof comprised of 10 triangular wedges, the two long sides of each triangle would be the hips of the roof, and the short side would be the eave. Now bisect this triangle into two right triangles by drawing a line from the point of the roof to the center of the eve (If the triangle was a Christmas tree, you'd be drawing the trunk). This new line should have a pitch of exactly 5/12 (i.e. should form a 22.62 degree angle from horizontal). Meanwhile, the hip rafters should form an angle of 21.62 degrees from horizontal because they are slightly longer than the common rafter you just drew, but they rise the same distance. In other words, they're slope (rise/run) is less because "rise" is the same, but "run" is longer.
If you measure the angle from your miter joint to horizontal (which should be the same as the pitch of the hip rafters), does it come out to 22.62 degrees or 21.62?
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
• posted on January 19, 2006, 6:44 pm

Okay, I think I know where I went wrong. I was modeling the 5/12 pitch on the rafter, not the roof (your tree trunk).
I remodeled the senario as you described and I'm getting a hip rafter angle of 21.62, just as you described. And, now I am getting a bevel degree of 6.83 which is what everyone else was getting.
Thank you Josh and alexy for helping me see where I went wrong. This information will come in handy when I go to build my gazebo. I just may do it ten sided! :-)
Relz
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
• posted on January 19, 2006, 7:24 pm
Nice. I put a couple of pictures of my father's gazebo online. They're not very good, but I think I have some better ones at home that I might upload.
http://www.geocities.com/jcaron2/gazebo1.jpg
http://www.geocities.com/jcaron2/gazebo2.jpg
Josh
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
• posted on January 14, 2006, 3:19 am

There's a reason why I have a web page to do this:
http://www.delorie.com/wood/compound-cuts.cgi?nsides &angle=5/12 http://www.delorie.com/wood/compound-cuts.html
Number of sides:      10 Angle of sides:      22.6
Cross Cut Angle:      16.7 Blade Angle:      6.8
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
• posted on January 14, 2006, 5:18 am
DJ Delorie wrote:

Now three people have three different answers for the bevel.
Yours is closed source, so no way to check. fwiw, I got my formula from this page:
http://www.woodcentral.com/bparticles/miter_formula.shtml
and tossed up the (interactive!) script myself.
er
--
email not valid