1 |
{ RCSid $Id$ } |
2 |
{ |
3 |
Compute Venetian Blinds angle to exclude direct sun. |
4 |
|
5 |
3/19/93 |
6 |
|
7 |
Formula by Kostantinos Papamichael, |
8 |
Translated by Greg Ward and Saba Rofchaei |
9 |
} |
10 |
{ |
11 |
Input variables are solar altitude and azimuth in degrees: |
12 |
|
13 |
SALT - solar altitude (degrees) |
14 |
SAZI - solar azimuth (degrees from South, West is positive) |
15 |
} |
16 |
|
17 |
L = .625; {slat's width} |
18 |
D = .45833; {distance between slats} |
19 |
ORIENT = 0.0; { Window orientation } |
20 |
DEGREE : PI/180.0; |
21 |
|
22 |
tan_lambda = tan(SALT*DEGREE) / cos((SAZI+ORIENT)*DEGREE); |
23 |
lambda = atan(tan_lambda) / DEGREE; |
24 |
a = tan_lambda*tan_lambda + 1.0; |
25 |
b = -2.0*(D/L); |
26 |
c = (D/L)*(D/L) - tan_lambda*tan_lambda; |
27 |
|
28 |
det = sqrt(b*b - 4.0*a*c); |
29 |
|
30 |
{calculating slats' angle corresponding to solar position} |
31 |
POS1 = asin((-b+det)/(2.0*a)) / DEGREE; |
32 |
POS2 = asin((-b-det)/(2.0*a)) / DEGREE; |
33 |
|