user16918900
user16918900

Reputation:

How find angle between two different pitch roof

I'm trying to find the common line angle between adjacent roof lines having different pitch as shown in below diagramenter image description here

Please let me know how the angle can be determined .

I tried arctan(8/12)= 33.69 degree and arctan(14/12)=49.3987 degree but couldn't find any solution around it.

Upvotes: 0

Views: 875

Answers (2)

John Alexiou
John Alexiou

Reputation: 29244

What you are looking for is the angle ψ formed between one side and the projection of the crease line

fig1

Note that the other angle is just 90° - ψ.

The crease line in 3D has a direction vector e with three components (e_x,e_y,e_z) of which the z-component is ignored to get

tan(ψ) = e_y / e_x

But how do we get these direction components?

Look at the problem in 3D, and the crease line is where the two rooflines intersect

fig2

The first roofline is a rotation about the x-axis with pitch 14/12, or angle

φ_x = atan(14/12) = 49.39870°

The direction normal to the plane is thus

      |  0        |   |  0     |
n_x = | -sin(φ_x) | = | -8/√85 |
      |  cos(φ_x) |   |  6/√85 |

Similarly the second roofline is a rotation about the y-axis with pitch 8/12, or angle

φ_y = atan(y/12) = 33.6901°

The direction normal to the plane is thus

      | -sin(φ_y) |   | -2/√13 |
n_y = |  0        | = |  0     |
      |  cos(φ_y) |   |  3/√13 |

The crease line direction is found from the vector cross-product

                | e_x |   | 21/√1105 |
e = n_y × n_x = | e_y | = | 12/√1105 |
                | e_z |   | 14/√1105 |

So the roofline angle is

ψ = atan(e_x/e_y) = atan( 21/12 ) = 29.7449°

There is a shortcut to the above.

ψ = atan(p_2/p_1) = atan(8/14) = 29.7449°

where p_1 = 14/12 and p_2 = 9/12 are the two pitch values.

Upvotes: 1

Jeremy Tammik
Jeremy Tammik

Reputation: 8314

I like John's answer. For a shorter version: the two roof parts define two planes. Calculate the intersection line between the two planes and determine its angle up from horizontal, i.e., in the plane defined by the Z direction and the intersection line itself. I assume that is the gist of Joh's answer as well. And, I totally agree that this question has nothing whatsoever to do with programming.

Upvotes: 0

Related Questions