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