Go Down

### Topic: A little Trig Challenge For You? (Read 1 time)previous topic - next topic

#### Chojin

##### Dec 02, 2010, 05:39 amLast Edit: Dec 02, 2010, 08:16 am by Chojin Reason: 1
I'm working on a sun tracking project using mirrors to direct the sun into a skylight, but have struck a 3d geometry issue. You can check the project out if your interested here: http://arduinobeam.blogspot.com/
I didn't see this issue coming and still struggle a bit to visualise it but a 3d model helps.

See image below..

Because of the way the primary mirror is offset to prevent shadow being cast onto it from the secondary mirror, it turns out a few complications occur. The adjustment of the primary (elevation) mirror angle effects the azimuth alignment because the reflection plane is not vertical (as it would be if both mirrors were in line). To solve this I need to be able to calculate the two angles marked with ? from the elevation angle E and the mirror offset (currently 18.4deg). I know that the angles A are equal (this is the path of a ray in the plane of reflection).

I have had a go at this, but so far am struggling with the derivation. I assumed that the solid lines were of known length (1 for convenience) but this may not be necessary. If anyone feels inspired please give it a crack and let me know how you get on!

#### RuggedCircuits

#1
##### Dec 02, 2010, 06:33 am
Forgive me if this is too naive but isn't it as simple as saying that 2A = E + ?   (where ? is the lower unknown angle), hence ? = 2A - E.

With this quantity known, A = 18.4 + ? (where ? is the upper angle...you really ought to use different symbols  hence  ? = A - 18.4.

--
The Gadget Shield: accelerometer, RGB LED, IR transmit/receive, light sensor, potentiometers, pushbuttons

#### Chojin

#2
##### Dec 02, 2010, 08:13 am
Ah but A is unknown as it increases and decreases with changed in E (the elevation of the sun). Sorry about the symbols bad form I know, try this one out:

E and 18.4 are known, that's all..

#### cyberteque

#3
##### Dec 02, 2010, 10:10 am
Have a look at
http://www.qsl.net/kd2bd/predict.html

I haven't used the Windows version, but under Linux you can run predict in server mode.
One of the things it broadcasts on port 1280 is the sun's current altitude and azimuth.
You could put an Ethernet shield on your Arduino and receive the Sun's or Moon's current position.

#### Korman

#4
##### Dec 02, 2010, 10:45 am
Chojin,

if there are right angle between the planes containing x and y and the planes containg x and E, you should have:

x = 2 * 18.4 = 36.8 and
y = E / 2

Korman

#### Chojin

#5
##### Dec 02, 2010, 11:36 pm
Hey Korman, there are right angles between the planes containing x and y and the planes containing x and E. But x does not equal 2*18.4. that seems intuitive, and is what I first thought as well, but the model I made shows how the projection of the two equal angles 'a' onto a second plane creates two new angles.. if that makes sense.

I may need to go back to the old text books, seems like this should be easily solvable with the right technique.

#### Chojin

#6
##### Dec 03, 2010, 08:07 am
After tackeling the cad model in a different way it became clear that the tips of the incoming ray vectors all lay on a circle offset from the circle traced by the centre of the elevation mirror. Knowing this and using some similar triangles I came up with these two equations:

az = sin-1(sin(off)/cos(e))
em = tan-1(tan(off).tan(e)/(sin(az) + tan(off).cos(az)))

where :