BASIC program for visual binary stars

BINARY STARS with short orbital periods can change markedly in appearance from year to year, making descriptions in books out of date. This BASIC program was written by E. R. ‘Ted’ Wood (1914–98), based on equations given by Jean Meeus in his book Astronomical Formulae for Calculators. It can be used to find the separation and position angle of any binary pair whose orbital elements are known, for any required date.

A free BASIC application for Mac, PC, and Linux can be found here.

The program takes as its input the seven orbital elements that describe the orbit of a binary star, as follows:

P .... the orbital period in years

T .... the date of periastron (year and decimals)

a .... the semimajor axis of the orbit, in seconds of arc

e .... the eccentricity of the orbit

i .... the inclination of the orbit to the plane of the sky, in degrees

ω (lower case omega) .... argument of periastron, in degrees

Ω (upper case omega) .... position angle of the ascending node, in degrees

Orbital elements for visual binaries can be found in the Sixth Catalog of Orbits of Visual Binary Stars by Rachel A. Matson, Stephen J. Williams, William I. Hartkopf, and Brian D. Mason. The catalogue is updated regularly.

For a selection of visual binaries suitable for observation with modest telescopes see the table on this page.


1  REM Binary star orbit program

2  REM By Ted Wood

10 DEF FN C(W) = 0.01745329252*W

20 PX=3.141592654: C=6.283185307

30 INPUT "Period, P (years)                 ";P

40 INPUT "Date of periastron, T             ";T

50 INPUT "Semi-major axis, a                ";A1

60 INPUT "Eccentricity, e                   ";S

70 INPUT "Inclination, i                    ";I

80 INPUT "Arg. of periastron, w             ";W

90 INPUT "P.A. of ascending node            ";L

100 I=FN C(I): L=FN C(L): W=FN C(W)

110 N=C/P

120 INPUT "Date of obs. (year)              ";D

130 MA=N*(D-T)

140 GOSUB 300

150 R=A1-A1*S*COS(EA)

160 Y=SIN(NU+W)*COS(I)

170 X=COS(NU+W)

180 Q=ATN(Y/X)

190 IF X<0 THEN Q=Q+PX: GOTO 210

200 IF Q<0 THEN Q=Q+C


220 RH=R*X/COS(Q)

230 PRINT "P.A. = ";INT(TH/FN C(1)*10+0.5)/10;" deg."

240 PRINT "Sep. = ";INT(RH*100+0.5)/100;" arcsec"

250 INPUT "New date (Y/N) ";AN$

260 IF AN$="Y" OR AN$="y" THEN GOTO 120

265 IF AN$="N" OR AN$="n" THEN GOTO 275

270 GOTO 250

275 INPUT "New binary (Y/N) ";AN$

280 IF AN$="Y" OR AN$="y" THEN GOTO 10

290 IF AN$="N" OR AN$="n" THEN END

295 GOTO 275

300 M=MA-C*INT(MA/C): EA=M

310 A=EA-(S*SIN(EA))-M

320 IF ABS(A)<0.000001 THEN GOTO 350

330 A=A/(1-(S*COS(EA)))

340 EA=EA-A: GOTO 310

350 TU=SQR((1+S)/(1-S))*TAN(EA/2)

360 NU=2*ATN(TU)



This example shows how the Binary Star Orbit program works. The data are for the star Xi Ursae Majoris. Your computer should duplicate the results given here exactly.

Period, P (years)                 59.88

Date of periastron, T             1995.07

Semi-major axis, a                2.536

Eccentricity, e                   0.398

Inclination, i                    122.13

Arg. of periastron, w             127.94

P.A. of ascending node            101.85

Date of obs. (year)              2010

P.A. = 211.2  deg.

Sep. = 1.61  arcsec

New date (Y/N) Y

Date of obs. (year)              2015.5

P.A. = 174  deg.

Sep. = 1.81  arcsec