10 REM PROGRAM TRACK3.BAS 20 REM BY LARRY CURCIO 30 REM 3-OBSERVER ELEVATION-ONLY OPTICAL TRACKING 40 REM METHOD DEVELOPED BY J. TALLY GUILL 45 REM FORMULAS/DERIVATIONS BY JOHN JOSEPH 50 REM COPYRIGHT 1992 60 REM UNCOMPENSATED DISTRIBUTION ALLOWED 70 PI = 3.14159265358979# 80 FACTOR = (PI + PI) / 360 90 CLS 100 INPUT "DISTANCE BETWEEN OBSERVERS ", D 110 PRINT 120 INPUT "COMPLEMENT THE ANGLES ? (1=YES, 2=N0) ", COMPSW 130 PRINT 140 PRINT 150 INPUT "ENTER ANGLE 1 ", ALPHA 160 INPUT "ENTER ANGLE 2 ", BETA 170 INPUT "ENTER ANGLE 3 ", GAMMA 180 PRINT 190 IF COMPSW <> 1 THEN 230 200 ALPHA = 90 - ALPHA 210 BETA = 90 - BETA 220 GAMMA = 90 - GAMMA 230 ALPHA = TAN(FACTOR * ALPHA) 240 BETA = TAN(FACTOR * BETA) 250 GAMMA = TAN(FACTOR * GAMMA) 260 ALPHA2 = ALPHA * ALPHA 270 BETA2 = BETA * BETA 280 GAMMA2 = GAMMA * GAMMA 290 X = D * BETA2 * (GAMMA2 - ALPHA2) 300 X = X / (2 * BETA2 * (GAMMA2 + ALPHA2) - 4 * ALPHA2 * GAMMA2) 310 Z = 2 / (BETA2 * (ALPHA2 + GAMMA2) - 2 * ALPHA2 * GAMMA2) 320 IF Z < 0 THEN 510 330 Z = SQR(Z) * D * ALPHA * BETA * GAMMA 340 Y = -99999! 350 IF GAMMA2 = ALPHA2 THEN 420 360 Y = 2 * D * X * (ALPHA2 + GAMMA2) / (GAMMA2 - ALPHA2) 370 Y = Y - D * D - X * X 380 IF Y > 0 THEN 400 390 Y = -99999!: GOTO 420 400 Y = SQR(Y) 410 GOTO 470 420 IF ALPHA2 = BETA2 THEN 470: REM CHECK THIS OUT !!! 430 Y = (BETA2 - ALPHA2) * X * X - ALPHA2 * D * D - 2 * ALPHA2 * D * X 440 IF Y > 0 THEN 460 450 Y = -99999!: GOTO 470 460 Y = SQR(Y / (ALPHA2 - BETA2)) 470 PRINT "ALTITUDE = ", Z 480 PRINT "Y DISTANCE = ", Y 490 PRINT "X DISTANCE = ", X 500 GOTO 520 510 PRINT "DATA DID NOT CONVERGE " 520 GOTO 130