Q: How do I know my windmill is on straight?

The original question was:

I got quite the challenge from my father in law. The problem is well defined, but I’m having difficulties finding a meaningful answer. The reason why he asked me is because I’m an engineering student and he is in the windmill industry.

Before they attach the actual mill on the concrete foundation, it has to be absolutely leveled. If not, a tall mill would be quite offset even with a very small angle. To tackle this, they use two angle gauges and measure in two directions. The angle gauges are connected and you know the angle between them, their mutual angle. I’m supposed to find a way to convert these 3 inputs (angle 1, angle 2 and mutual angle) to find 2 outputs (the steepest angle and in which direction this is relative to the gauges).

Physicist: This is a gorgeous question that leads through some pretty math and ends with an elegant answer.  If you’ve taken a class or two that used lots of vectors, then this is a cute exploration of what you can do with surprisingly little.  If you’ve never taken a class or two that used lots of vectors, then please do: it’s fun stuff.  You get to draw pictures and everything.

So you’ve got a flat slab that isn’t quite level.  Two angle gauges (with plumb lines or bubbles or whatever) are placed on the slab in two directions.  Define \vec{a} and \vec{b} as the directions of the two gauges on the ground and \vec{u} as up.  These may as well be unit vectors, so: they are.

An angle gauge or "inclinometer".

An angle gauge or “inclinometer”.

Define the angle between \vec{a} and \vec{b} as \phi and the angle between each each of the levels and \vec{u} as \theta_a and \theta_b.

Measuring the angles between these vectors means that we know sine and cosine of these angles, and knowing that means that we know the dot product and magnitude of the cross product, since \vec{a}\cdot\vec{b} = |\vec{a}||\vec{b}|\cos{(\phi)} = \cos{(\phi)} and |\vec{a}\times\vec{b}| = |\vec{a}||\vec{b}|\sin{(\phi)} = \sin{(\phi)}.

Finally, since the windmill will be built perpendicular to the slab, it will be built perpendicular to both \vec{a} and \vec{b}.  When a physicist (hell, even a mathematician) hears “I need a vector perpendicular to two other vectors” they convulsively respond “cross product those mothers”.  If \vec{w} is the windmill’s “up”, then \vec{w} = \vec{a}\times\vec{b}.  If you were standing on the slab where the tails of \vec{a} and \vec{b} meet, then \vec{a} would be on the right and \vec{b} would be on the left (that’s the right hand rule).

A pristine windmill polluted with a mess of vectors.

A pristine windmill, slanted, and polluted with a mess of vectors.

If we project \vec{u} onto the \vec{a}, \vec{b} plane, the result will be pointing in the direction opposite the direction of the windmill’s lean.  Define this projection as \vec{p}.  The direction of \vec{p} is the direction that the windmill needs to be “leaned” so that it will stand straight.

The questions (way back at the top of this page) now boil down to:

1) What is the angle between \vec{w} and \vec{u}?

2) What is the angle between \vec{p}, and \vec{a} and \vec{b}?

For #1, it turns out that the cross product is easier to work with.  Define \Omega as the angle between \vec{w} and \vec{u}.

\begin{array}{ll}  |\vec{w}\times\vec{u}|^2 \\[2mm]  = |(\vec{a}\times\vec{b})\times\vec{u}|^2 \\[2mm]  = |(\vec{u}\cdot\vec{a})\vec{b} - (\vec{u}\cdot\vec{b})\vec{a}|^2 & \textrm{(nobody can remember this identity)} \\[2mm]  = (\vec{u}\cdot\vec{a})^2|\vec{b}|^2 + (\vec{u}\cdot\vec{b})^2|\vec{a}|^2 - 2(\vec{u}\cdot\vec{a})(\vec{u}\cdot\vec{b})(\vec{a}\cdot\vec{b}) \\[2mm]  = (\vec{u}\cdot\vec{a})^2 + (\vec{u}\cdot\vec{b})^2 - 2(\vec{u}\cdot\vec{a})(\vec{u}\cdot\vec{b})(\vec{a}\cdot\vec{b}) \\[2mm]  = \cos^2{(\theta_a)} + \cos^2{(\theta_b)} - 2\cos{(\theta_a)}\cos{(\theta_b)}\cos{(\phi)} \\[2mm]  \end{array}

We also know that:

\begin{array}{ll}  |\vec{w}\times\vec{u}|^2 \\[2mm]  = |\vec{w}|^2|\vec{u}|^2\sin^2{(\Omega)} \\[2mm]  = |\vec{w}|^2\sin^2{(\Omega)} \\[2mm]  = |\vec{a}\times\vec{b}|^2\sin^2{(\Omega)} \\[2mm]  = |\vec{a}|^2|\vec{b}|^2\sin^2{(\phi)}\sin^2{(\Omega)} \\[2mm]  = \sin^2{(\phi)}\sin^2{(\Omega)} \\[2mm]  \end{array}

And therefore:

\sin^2{(\phi)}\sin^2{(\Omega)} = \cos^2{(\theta_a)} + \cos^2{(\theta_b)} - 2\cos{(\theta_a)}\cos{(\theta_b)}\cos{(\phi)}

In the event that \phi=90^o (and honestly, why wouldn’t you want your gauges perpendicular?), then this simplifies a lot:

\sin^2{(\Omega)} = \cos^2{(\theta_a)} + \cos^2{(\theta_b)}

For #2 we find the projection, \vec{p}, and dot it with \vec{a} and \vec{b}.  The projection onto the slab is \vec{p} = \vec{u} - \frac{\vec{u}\cdot\vec{w}}{|\vec{w}|^2}\vec{w}.  That is; it’s the up direction minus whatever component points in the direction of the windmill.

\begin{array}{ll}  \vec{a}\cdot\vec{p} \\[2mm]  = \vec{a}\cdot\left(\vec{u} - \frac{\vec{u}\cdot\vec{w}}{\vec{w}\cdot\vec{w}}\vec{w}\right)\\[2mm]=\vec{a}\cdot\vec{u}-\frac{\vec{u}\cdot\vec{w}}{\vec{w}\cdot\vec{w}}\vec{a}\cdot\vec{w}\\[2mm]=\vec{a}\cdot\vec{u}  \end{array}

In that last step you know that \vec{a}\cdot\vec{w}=0 since the tower, \vec{w}, and any direction on the slab it’s on, like \vec{a}, are perpendicular.

Defining \omega_a as the angle between the projection  and \vec{a},

\begin{array}{ll}  (\vec{a}\cdot\vec{p})^2 = |\vec{a}|^2|\vec{p}|^2\cos^2{(\omega_a)} \\[2mm]  \Rightarrow (\vec{a}\cdot\vec{u})^2 = |\vec{p}|^2\cos^2{(\omega_a)} \\[2mm]  \Rightarrow \cos^2{\theta_a}=\left|\vec{u} - \frac{\vec{u}\cdot\vec{w}}{|\vec{w}|^2}\vec{w}\right|^2\cos^2{(\omega_a)} \\[2mm]  \Rightarrow \cos^2{\theta_a}=\cos^2{(\omega_a)}\left(|\vec{u}|^2 + \left(\frac{\vec{u}\cdot\vec{w}}{|\vec{w}|^2}\right)^2|\vec{w}|^2 - 2\frac{\vec{u}\cdot\vec{w}}{|\vec{w}|^2}\vec{u}\cdot\vec{w}\right) \\[2mm]  \Rightarrow \cos^2{\theta_a}=\cos^2{(\omega_a)}\left(1 + \frac{(\vec{u}\cdot\vec{w})^2}{|\vec{w}|^2} - 2\frac{(\vec{u}\cdot\vec{w})^2}{|\vec{w}|^2}\right) \\[2mm]  \Rightarrow \cos^2{\theta_a}=\cos^2{(\omega_a)}\left(1-\frac{(\vec{u}\cdot\vec{w})^2}{|\vec{w}|^2}\right) \\[2mm]  \Rightarrow \cos^2{\theta_a} = \cos^2{(\omega_a)}\left(1 - \frac{|\vec{u}|^2|\vec{w}|^2}{|\vec{w}|^2}\cos^2{(\Omega)}\right) \\[2mm]  \Rightarrow \cos^2{\theta_a} = \cos^2{(\omega_a)}\left(1 - \cos^2{(\Omega)}\right) \\[2mm]  \Rightarrow \cos^2{\theta_a} = \cos^2{(\omega_a)}\sin^2{(\Omega)}  \end{array}

Again, in the event that \phi = 90^o, this simplifies:

\begin{array}{ll}  \cos^2{\theta_a} = \cos^2{(\omega_a)}\sin^2{(\Omega)} \\[2mm]  \Rightarrow \cos^2{\theta_a} = \cos^2{(\omega_a)}\left(\cos^2{(\theta_a)} + \cos^2{(\theta_b)}\right) \\[2mm]  \Rightarrow \cos^2{\theta_a}\left(1-\cos^2{(\omega_a)}\right) = \cos^2{(\omega_a)}\cos^2{(\theta_b)} \\[2mm]  \Rightarrow \cos^2{\theta_a}\sin^2{(\omega_a)} = \cos^2{(\omega_a)}\cos^2{(\theta_b)} \\[2mm]  \Rightarrow \tan^2{(\omega_a)} = \frac{\cos^2{(\theta_b)} }{\cos^2{(\theta_a)}} \\[2mm]    \Rightarrow \left|\tan{(\omega_a)}\right| = \left|\frac{\cos{(\theta_b)} }{\cos{(\theta_a)}}\right| \\[2mm]  \end{array}

Similarly, \left|\tan{(\omega_b)}\right| = \left|\frac{\cos{(\theta_a)} }{\cos{(\theta_b)}}\right|.

So, if you’ve got the inclinometer readings, \theta_a and \theta_b, then you can find the lean of the tower, \Omega, and the direction you should push it so that it doesn’t lean, \omega_a and \omega_b from \vec{a} and \vec{b} respectively.  This is a beautiful example of math leading to a cute, relatively simple solution that you probably couldn’t guess.


The windmill picture is from here.

This entry was posted in -- By the Physicist, Engineering, Equations, Geometry, Math. Bookmark the permalink.

4 Responses to Q: How do I know my windmill is on straight?

  1. Kay says:

    Take angle (a) and angle (b) and throw them out the window. Then pour and level the slab a close as you can within a full bubble with anchor bolts correctly inserted in the piers beneath the slab, then set the base on top the slab aligned with the anchor bolts. Plumb the base section using shim stacks between the base flange and concrete slab, then tighten anchor bolt nuts to proper torque. Grout the gap between the base flange and concrete surface. Green horns! Next the father in law will probably ask you to design a propeller blade stretcher; he’s got your number.

  2. Marceli firlej says:

    Once done make a computer software for iPhone so anyone can use it. What to measure only and result!

  3. Rusty Fox says:

    I like the simplicity of Kay’s answer too. Possibly an improvement in some conditions would be to replace the shims with a nut on each stud. Add the windmil, and another nut to each stud. By tightening/loosening different nuts the windmil will not only be level upon installation, but regular checks can determine if there has been any ground movement, and adjustments made.

    Where I come from in Australia we have ‘highly reactive’ soils, meaning that changes to the moisture content of the soil can produce considerable movement. We even have house stumps with this ‘technology’ incorporated so floors can be re-levelled by adjusting the fittings on the top of the stumps.

  4. Vishal Vatsa says:

    Thank you for mentioning that “nobody can remember this identity”, I have been cursing myself so long for always referring to books when it comes to using that identity. Felt good to know most of us has that problem.

Leave a Reply

Your email address will not be published. Required fields are marked *