Tillbaka till svenska Fidonet
English   Information   Debug  
R20_SPRAK.ENGLISH   0/1
R20_SQUISH   107
R20_TEST   2
R20_WORST_OF_FIDONET   12
RAR   0/9
RA_MULTI   106
RA_UTIL   0/162
REGCON.EUR   0/2056
REGCON   0/13
SCIENCE   359/1206
SF   0/239
SHAREWARE_SUPPORT   0/5146
SHAREWRE   0/14
SIMPSONS   0/169
STATS_OLD1   0/2539.065
STATS_OLD2   0/2530
STATS_OLD3   0/2395.095
STATS_OLD4   0/1692.25
SURVIVOR   0/495
SYSOPS_CORNER   0/3
SYSOP   0/84
TAGLINES   0/112
TEAMOS2   0/4530
TECH   0/2617
TEST.444   0/105
TRAPDOOR   0/19
TREK   0/755
TUB   0/290
UFO   0/40
UNIX   0/1316
USA_EURLINK   0/102
USR_MODEMS   0/1
VATICAN   0/2740
VIETNAM_VETS   0/14
VIRUS   0/378
VIRUS_INFO   0/201
VISUAL_BASIC   0/473
WHITEHOUSE   0/5187
WIN2000   0/101
WIN32   0/30
WIN95   0/4288
WIN95_OLD1   0/70272
WINDOWS   0/1517
WWB_SYSOP   0/419
WWB_TECH   0/810
ZCC-PUBLIC   0/1
ZEC   4

 
4DOS   0/134
ABORTION   0/7
ALASKA_CHAT   0/506
ALLFIX_FILE   0/1313
ALLFIX_FILE_OLD1   0/7997
ALT_DOS   0/152
AMATEUR_RADIO   0/1039
AMIGASALE   0/14
AMIGA   0/331
AMIGA_INT   0/1
AMIGA_PROG   0/20
AMIGA_SYSOP   0/26
ANIME   0/15
ARGUS   0/924
ASCII_ART   0/340
ASIAN_LINK   0/651
ASTRONOMY   0/417
AUDIO   0/92
AUTOMOBILE_RACING   0/105
BABYLON5   0/17862
BAG   135
BATPOWER   0/361
BBBS.ENGLISH   0/382
BBSLAW   0/109
BBS_ADS   0/5290
BBS_INTERNET   0/507
BIBLE   0/3563
BINKD   0/1119
BINKLEY   0/215
BLUEWAVE   0/2173
CABLE_MODEMS   0/25
CBM   0/46
CDRECORD   0/66
CDROM   0/20
CLASSIC_COMPUTER   0/378
COMICS   0/15
CONSPRCY   0/899
COOKING   32953
COOKING_OLD1   0/24719
COOKING_OLD2   0/40862
COOKING_OLD3   0/37489
COOKING_OLD4   0/35496
COOKING_OLD5   9370
C_ECHO   0/189
C_PLUSPLUS   0/31
DIRTY_DOZEN   0/201
DOORGAMES   0/2061
DOS_INTERNET   0/196
duplikat   6002
ECHOLIST   0/18295
EC_SUPPORT   0/318
ELECTRONICS   0/359
ELEKTRONIK.GER   1534
ENET.LINGUISTIC   0/13
ENET.POLITICS   0/4
ENET.SOFT   0/11701
ENET.SYSOP   33903
ENET.TALKS   0/32
ENGLISH_TUTOR   0/2000
EVOLUTION   0/1335
FDECHO   0/217
FDN_ANNOUNCE   0/7068
FIDONEWS   24128
FIDONEWS_OLD1   0/49742
FIDONEWS_OLD2   0/35949
FIDONEWS_OLD3   0/30874
FIDONEWS_OLD4   0/37224
FIDO_SYSOP   12852
FIDO_UTIL   0/180
FILEFIND   0/209
FILEGATE   0/212
FILM   0/18
FNEWS_PUBLISH   4408
FN_SYSOP   41679
FN_SYSOP_OLD1   71952
FTP_FIDO   0/2
FTSC_PUBLIC   0/13599
FUNNY   0/4886
GENEALOGY.EUR   0/71
GET_INFO   105
GOLDED   0/408
HAM   0/16070
HOLYSMOKE   0/6791
HOT_SITES   0/1
HTMLEDIT   0/71
HUB203   466
HUB_100   264
HUB_400   39
HUMOR   0/29
IC   0/2851
INTERNET   0/424
INTERUSER   0/3
IP_CONNECT   719
JAMNNTPD   0/233
JAMTLAND   0/47
KATTY_KORNER   0/41
LAN   0/16
LINUX-USER   0/19
LINUXHELP   0/1155
LINUX   0/22093
LINUX_BBS   0/957
mail   18.68
mail_fore_ok   249
MENSA   0/341
MODERATOR   0/102
MONTE   0/992
MOSCOW_OKLAHOMA   0/1245
MUFFIN   0/783
MUSIC   0/321
N203_STAT   926
N203_SYSCHAT   313
NET203   321
NET204   69
NET_DEV   0/10
NORD.ADMIN   0/101
NORD.CHAT   0/2572
NORD.FIDONET   189
NORD.HARDWARE   0/28
NORD.KULTUR   0/114
NORD.PROG   0/32
NORD.SOFTWARE   0/88
NORD.TEKNIK   0/58
NORD   0/453
OCCULT_CHAT   0/93
OS2BBS   0/787
OS2DOSBBS   0/580
OS2HW   0/42
OS2INET   0/37
OS2LAN   0/134
OS2PROG   0/36
OS2REXX   0/113
OS2USER-L   207
OS2   0/4786
OSDEBATE   0/18996
PASCAL   0/490
PERL   0/457
PHP   0/45
POINTS   0/405
POLITICS   0/29554
POL_INC   0/14731
PSION   103
R20_ADMIN   1121
R20_AMATORRADIO   0/2
R20_BEST_OF_FIDONET   13
R20_CHAT   0/893
R20_DEPP   0/3
R20_DEV   399
R20_ECHO2   1379
R20_ECHOPRES   0/35
R20_ESTAT   0/719
R20_FIDONETPROG...
...RAM.MYPOINT
  0/2
R20_FIDONETPROGRAM   0/22
R20_FIDONET   0/248
R20_FILEFIND   0/24
R20_FILEFOUND   0/22
R20_HIFI   0/3
R20_INFO2   3221
R20_INTERNET   0/12940
R20_INTRESSE   0/60
R20_INTR_KOM   0/99
R20_KANDIDAT.CHAT   42
R20_KANDIDAT   28
R20_KOM_DEV   112
R20_KONTROLL   0/13273
R20_KORSET   0/18
R20_LOKALTRAFIK   0/24
R20_MODERATOR   0/1852
R20_NC   76
R20_NET200   245
R20_NETWORK.OTH...
...ERNETS
  0/13
R20_OPERATIVSYS...
...TEM.LINUX
  0/44
R20_PROGRAMVAROR   0/1
R20_REC2NEC   534
R20_SFOSM   0/340
R20_SF   0/108
Möte SCIENCE, 1206 texter
 lista första sista föregående nästa
Text 1198, 178 rader
Skriven 2007-07-07 20:56:06 av DAVID WILLIAMS (1:250/514)
Ärende: sun position and heliostat
==================================
Having nothing much better to do today, I wrote a QBasic program that 
calculates the position of the sun in the sky, as seen from anywhere on 
earth at ant time. It also calculates the alignment of a mirror if it 
is to reflect sunlight in a desired direction, as is done in a 
heliostat. 
  
In case anyone is interested, here it is. 
  
------------------------------------------------- 
  
' SunAlign.BAS 
' Calculates position of sun in sky, as azimuth (true 
' compass bearing) and angle of elevation, as seen from 
' any place on earth, on any date and any time. 
' Also calculates alignment of a heliostat mirror. 
  
' David Williams 
' P.O. Box 48512 
' Toronto, Canada 
' M8W 4Y6 
  
' Version dated 2007 Jul 07 
  
DECLARE FUNCTION ET.Dec (D, F%) 
DECLARE FUNCTION ROff$ (X) 
DECLARE SUB D2P (X, Y, Z, AZ, EL) 
DECLARE SUB P2D (AZ, EL, X, Y, Z) 
DECLARE FUNCTION Ang (X, Y) 
DECLARE FUNCTION Ang2 (X, Y) 
  
CONST PI = 3.1415926536# 
CONST DR = 180 / PI ' degree / radian factor 
  
CLS 
PRINT "Use negative numbers for directions opposite to those shown." 
INPUT "Observer's latitude (degrees North)"; LT 
INPUT "Observer's longitude (degrees West)"; LG 
INPUT "Date (M#,D#)"; Mth%, Day% 
INPUT "Time (HH,MM) (24-hr format)"; HR, MIN 
INPUT "Time Zone (+/- hours from GMT/UT)"; TZN 
  
D = INT(30.6 * ((Mth% + 9) MOD 12) + 58.5 + Day%) MOD 365 
ET = ET.Dec(D, 1) ' Equation of Time 
DC = ET.Dec(D, 0) ' Declination 
  
LD = (15 * (HR - 12 - TZN) + (MIN + ET) / 4 - LG) / DR ' long diff 
CALL P2D(LD, DC / DR, sX, sY, sZ) 
RR = SQR(sY * sY + sZ * sZ) 
CL = (90 - LT) / DR ' colatitude in radians 
AA = Ang(sY, sZ) + CL 
sY = RR * COS(AA) 
sZ = RR * SIN(AA) 
CALL D2P(sX, sY, sZ, sAZ, sEL) 
  
PRINT 
IF sEL < 0 THEN PRINT "Sun Below Horizon": END 
PRINT "Sun's azimuth: "; ROff$(sAZ); " degrees" 
PRINT "Sun's elevation: "; ROff$(sEL * DR); " degrees" 
  
PRINT 
PRINT "Calculate heliostat mirror alignment? (y/n) "; 
DO 
 K$ = UCASE$(INKEY$) 
LOOP UNTIL K$ = "Y" OR K$ = "N" 
PRINT K$ 
  
IF K$ = "Y" THEN 
   PRINT 
   INPUT "Azimuth of target direction (degrees)"; tAZ 
   INPUT "Elevation of target direction (degrees)"; tEL 
   CALL P2D((tAZ - 180) / DR, tEL / DR, tX, tY, tZ) 
   CALL D2P(sX + tX, sY + tY, sZ + tZ, mAZ, mEL) 
  
   PRINT 
   PRINT "Mirror aim direction (perpendicular to surface):" 
   PRINT "Azimuth: "; ROff$(mAZ); " degrees" 
   PRINT "Elevation: "; ROff$(mEL * DR); " degrees" 
END IF 
  
END 
  
FUNCTION Ang (X, Y) 
 ' calculates angle between positive X axis and vector to (X,Y) 
  
  IF X = 0 THEN 
    A = SGN(Y) * PI / 2 
  ELSE 
    A = ATN(Y / X) 
    IF X < 0 THEN A = A + PI 
  END IF 
  Ang = A 
  
END FUNCTION 
  
FUNCTION Ang2 (X, Y) 
  ' does Ang in degrees, between zero and 360 
  
  A = Ang(X, Y) * DR + 180 
  Ang2 = A - 360 * INT(A / 360) 
  
END FUNCTION 
  
SUB D2P (X, Y, Z, AZ, EL) 
  ' convert from X,Y,Z to AZ, EL 
  
  EL = Ang(SQR(X * X + Y * Y), Z) 
  AZ = Ang2(Y, X) 
  
END SUB 
  
FUNCTION ET.Dec (D, F%) STATIC 
  ' Calculates equation of time, in minutes, or solar declination, 
  ' in degrees, on day number D of year. (D = 0 on January 1.) 
  ' F% selects function: True (non-zero) for Equation of Time, 
  ' False (zero) for Declination. 
  ' STATIC means variables are preserved between calls of function 
  ' This version assumes PI and DR (180/PI) are already initialized 
  
IF W = 0 THEN ' first call, initialize constants 
  
 W = 2 * PI / 365 ' earth's mean orbital angular speed in radians/day 
 C = -23.45 / DR ' reverse angle of earth's axial tilt in radians 
 ST = SIN(C) ' sine of reverse tilt 
 CT = COS(C) ' cosine of reverse tilt 
 E2 = 2 * .0167 ' twice earth's orbital eccentricity 
 SP = 12 * W ' 12 days from December solstice to perihelion 
 D1 = -1 ' holds last D. Saves time if D repeated for both functions 
  
END IF 
  
IF D <> D1 THEN ' new value of D 
  A = W * (D + 10) ' Solstice 10 days before Jan 1 
  B = A + E2 * SIN(A - SP) 
  D1 = D 
END IF 
  
IF F% THEN  ' equation of time calculation 
  C = (A - ATN(TAN(B) / CT)) / PI 
  ET.Dec = 720 * (C - INT(C + .5)) 
  ' in 720 minutes, earth rotates PI radians relative to sun 
  
ELSE ' declination calculation 
  C = ST * COS(B) 
  ET.Dec = ATN(C / SQR(1 - C * C)) * DR 
  ' arcsine of C in degrees. ASN not directly available in QBasic 
  
END IF 
  
END FUNCTION 
  
SUB P2D (AZ, EL, X, Y, Z) 
  ' convert from AZ,EL to X,Y,Z 
  
  Z = SIN(EL) 
  C = COS(EL) 
  X = C * SIN(AZ) 
  Y = C * COS(AZ) 
  
END SUB 
  
FUNCTION ROff$ (X) 
 ' neatly rounds number to one place of decimals 
  
S$ = LTRIM$(STR$(INT(10 * ABS(X) + .5))) 
IF S$ = "3600" THEN S$ = "0" 
IF LEN(S$) = 1 THEN S$ = "0" + S$ 
IF X < 0 THEN IF VAL(S$) THEN S$ = "-" + S$ 
ROff$ = LEFT$(S$, LEN(S$) - 1) + "." + RIGHT$(S$, 1) 
  
END FUNCTION 
  
------------------------------------------------------ 
  
P.S. I tried to send this a few minutes ago, and the system locked up. 
You may get an incomplete version, along with this one, which is 
complete. 
--- Platinum Xpress/Win/WINServer v3.0pr5
 * Origin: The Bayman BBS,Toronto, (416)698-6573 - 1:250/514 (1:250/514)