source: Sophya/trunk/SophyaExt/XephemAstroLib/constel.c@ 2551

Last change on this file since 2551 was 2551, checked in by cmv, 21 years ago

nouvelle version de xephem/libastro (3.6) cmv 15/6/04

File size: 139.2 KB
Line 
1/* code to handle constellation boundaries and figures */
2
3/*
4Constellation boundaries:
5
6 Primary reference:
7
8 METHOD TO DETERMINE THE CONSTELLATION IN WHICH A POSITION IS LOCATED
9
10 Recently, Mr. Barry N. Rappaport of New Mexico State University
11 transcribed the constellation boundaries as fixed by the IAU into
12 machine-readable form. These have been transcribed by Dr. Nancy G.
13 Roman to make it possible to determine by computer the constellation
14 in which a position is located.
15
16 NSSDC catalog description:
17 6042 AN Catalog of Constellation Boundary Data (Delporte, E. 1930,
18 Cambridge Univ. Press)
19 Comment(s): includes constellation identification software
20 (ADC 1987; see Roman, N.G. 1987, Publ. Astron. Soc. Pacific
21 99, 695); 23 description, 118 software, 358 data records.
22 3 files: 23x80, 118x80, 358x29
23
24 Further adapted for xephem by:
25
26 Craig Counterman: conversion from original F77 to C
27 Elwood Downey: incorporation into xephem
28 Ernie Wright: additional speed and time improvments
29
30Constellation figures:
31
32 Chris Marriott: original figures
33 Elwood Downey: incorporated into xephem
34*/
35
36#include <stdio.h>
37#include <stdlib.h>
38#include <string.h>
39#include <math.h>
40
41#include "astro.h"
42
43/*
44======================================================================
45Ernie Wright 2 Mar 94
46
47Find the constellation for a given position.
48
49First C version by Craig Counterman and Elwood Downey. Based on a
50FORTRAN program by Nancy G. Roman (Roman, N.G. 1987, Publ. Astron.
51Soc. Pacific 99, 695). IAU constellation boundaries transcribed into
52machine-readable form by Barry N. Rappaport, New Mexico State Univ.
53======================================================================
54*/
55
56#define NBOUNDS 357
57
58/* constellation ids */
59#define And 0
60#define Ant 1
61#define Aps 2
62#define Aql 3
63#define Aqr 4
64#define Ara 5
65#define Ari 6
66#define Aur 7
67#define Boo 8
68#define CMa 9
69#define CMi 10
70#define CVn 11
71#define Cae 12
72#define Cam 13
73#define Cap 14
74#define Car 15
75#define Cas 16
76#define Cen 17
77#define Cep 18
78#define Cet 19
79#define Cha 20
80#define Cir 21
81#define Cnc 22
82#define Col 23
83#define Com 24
84#define CrA 25
85#define CrB 26
86#define Crt 27
87#define Cru 28
88#define Crv 29
89#define Cyg 30
90#define Del 31
91#define Dor 32
92#define Dra 33
93#define Equ 34
94#define Eri 35
95#define For 36
96#define Gem 37
97#define Gru 38
98#define Her 39
99#define Hor 40
100#define Hya 41
101#define Hyi 42
102#define Ind 43
103#define LMi 44
104#define Lac 45
105#define Leo 46
106#define Lep 47
107#define Lib 48
108#define Lup 49
109#define Lyn 50
110#define Lyr 51
111#define Men 52
112#define Mic 53
113#define Mon 54
114#define Mus 55
115#define Nor 56
116#define Oct 57
117#define Oph 58
118#define Ori 59
119#define Pav 60
120#define Peg 61
121#define Per 62
122#define Phe 63
123#define Pic 64
124#define PsA 65
125#define Psc 66
126#define Pup 67
127#define Pyx 68
128#define Ret 69
129#define Scl 70
130#define Sco 71
131#define Sct 72
132#define Se1 73
133#define Sex 74
134#define Sge 75
135#define Sgr 76
136#define Tau 77
137#define Tel 78
138#define TrA 79
139#define Tri 80
140#define Tuc 81
141#define UMa 82
142#define UMi 83
143#define Vel 84
144#define Vir 85
145#define Vol 86
146#define Vul 87
147#define Se2 88
148
149static char *cns_namemap[ NCNS ] = {
150 /* 0 */ "And: Andromeda",
151 /* 1 */ "Ant: Antlia",
152 /* 2 */ "Aps: Apus",
153 /* 3 */ "Aql: Aquila",
154 /* 4 */ "Aqr: Aquarius",
155 /* 5 */ "Ara: Ara",
156 /* 6 */ "Ari: Aries",
157 /* 7 */ "Aur: Auriga",
158 /* 8 */ "Boo: Bootes",
159 /* 9 */ "CMa: Canis Major",
160 /* 10 */ "CMi: Canis Minor",
161 /* 11 */ "CVn: Canes Venatici",
162 /* 12 */ "Cae: Caelum",
163 /* 13 */ "Cam: Camelopardalis",
164 /* 14 */ "Cap: Capricornus",
165 /* 15 */ "Car: Carina",
166 /* 16 */ "Cas: Cassiopeia",
167 /* 17 */ "Cen: Centaurus",
168 /* 18 */ "Cep: Cepheus",
169 /* 19 */ "Cet: Cetus",
170 /* 20 */ "Cha: Chamaeleon",
171 /* 21 */ "Cir: Circinus",
172 /* 22 */ "Cnc: Cancer",
173 /* 23 */ "Col: Columba",
174 /* 24 */ "Com: Coma Berenices",
175 /* 25 */ "CrA: Corona Australis",
176 /* 26 */ "CrB: Corona Borealis",
177 /* 27 */ "Crt: Crater",
178 /* 28 */ "Cru: Crux",
179 /* 29 */ "Crv: Corvus",
180 /* 30 */ "Cyg: Cygnus",
181 /* 31 */ "Del: Delphinus",
182 /* 32 */ "Dor: Dorado",
183 /* 33 */ "Dra: Draco",
184 /* 34 */ "Equ: Equuleus",
185 /* 35 */ "Eri: Eridanus",
186 /* 36 */ "For: Fornax",
187 /* 37 */ "Gem: Gemini",
188 /* 38 */ "Gru: Grus",
189 /* 39 */ "Her: Hercules",
190 /* 40 */ "Hor: Horologium",
191 /* 41 */ "Hya: Hydra",
192 /* 42 */ "Hyi: Hydrus",
193 /* 43 */ "Ind: Indus",
194 /* 44 */ "LMi: Leo Minor",
195 /* 45 */ "Lac: Lacerta",
196 /* 46 */ "Leo: Leo",
197 /* 47 */ "Lep: Lepus",
198 /* 48 */ "Lib: Libra",
199 /* 49 */ "Lup: Lupus",
200 /* 50 */ "Lyn: Lynx",
201 /* 51 */ "Lyr: Lyra",
202 /* 52 */ "Men: Mensa",
203 /* 53 */ "Mic: Microscopium",
204 /* 54 */ "Mon: Monoceros",
205 /* 55 */ "Mus: Musca",
206 /* 56 */ "Nor: Norma",
207 /* 57 */ "Oct: Octans",
208 /* 58 */ "Oph: Ophiuchus",
209 /* 59 */ "Ori: Orion",
210 /* 60 */ "Pav: Pavo",
211 /* 61 */ "Peg: Pegasus",
212 /* 62 */ "Per: Perseus",
213 /* 63 */ "Phe: Phoenix",
214 /* 64 */ "Pic: Pictor",
215 /* 65 */ "PsA: Piscis Austrinus",
216 /* 66 */ "Psc: Pisces",
217 /* 67 */ "Pup: Puppis",
218 /* 68 */ "Pyx: Pyxis",
219 /* 69 */ "Ret: Reticulum",
220 /* 70 */ "Scl: Sculptor",
221 /* 71 */ "Sco: Scorpius",
222 /* 72 */ "Sct: Scutum",
223 /* 73 */ "Se1: Serpens Caput",
224 /* 74 */ "Sex: Sextans",
225 /* 75 */ "Sge: Sagitta",
226 /* 76 */ "Sgr: Sagittarius",
227 /* 77 */ "Tau: Taurus",
228 /* 78 */ "Tel: Telescopium",
229 /* 79 */ "TrA: Triangulum Australe",
230 /* 80 */ "Tri: Triangulum",
231 /* 81 */ "Tuc: Tucana",
232 /* 82 */ "UMa: Ursa Major",
233 /* 83 */ "UMi: Ursa Minor",
234 /* 84 */ "Vel: Vela",
235 /* 85 */ "Vir: Virgo",
236 /* 86 */ "Vol: Volans",
237 /* 87 */ "Vul: Vulpecula",
238 /* 88 */ "Se2: Serpens Cauda",
239};
240
241static struct {
242 unsigned short lower_ra; /* hours * 1800 */
243 unsigned short upper_ra; /* hours * 1800 */
244 short lower_dec; /* degrees * 60 */
245 short index;
246} cbound[ NBOUNDS ] = {
247 { 0, 43200, 5280, UMi },
248 { 14400, 26100, 5190, UMi },
249 { 37800, 41400, 5170, UMi },
250 { 32400, 37800, 5160, UMi },
251 { 0, 14400, 5100, Cep },
252 { 16500, 19200, 4920, Cam },
253 { 0, 9000, 4800, Cep },
254 { 19200, 26100, 4800, Cam },
255 { 31500, 32400, 4800, UMi },
256 { 36300, 37800, 4800, Dra },
257 { 0, 6315, 4620, Cep },
258 { 20700, 24450, 4620, Cam },
259 { 29760, 31500, 4500, UMi },
260 { 36300, 37200, 4500, Cep },
261 { 14340, 16500, 4410, Cam },
262 { 16500, 20400, 4410, Dra },
263 { 23400, 29760, 4200, UMi },
264 { 5580, 6150, 4080, Cas },
265 { 36750, 37200, 4020, Dra },
266 { 20400, 21600, 3990, Dra },
267 { 0, 600, 3960, Cep },
268 { 25200, 28200, 3960, UMi },
269 { 42450, 43200, 3960, Cep },
270 { 21600, 24300, 3840, Dra },
271 { 24300, 25950, 3780, Dra },
272 { 41700, 42450, 3780, Cep },
273 { 10980, 12600, 3720, Cam },
274 { 36000, 36750, 3690, Dra },
275 { 36966, 37080, 3655, Cep },
276 { 12600, 14340, 3600, Cam },
277 { 14340, 15150, 3600, UMa },
278 { 35580, 36000, 3570, Dra },
279 { 36000, 36966, 3570, Cep },
280 { 41160, 41700, 3545, Cep },
281 { 0, 4380, 3510, Cas },
282 { 34950, 35580, 3480, Dra },
283 { 3060, 3435, 3450, Cas },
284 { 4380, 5580, 3420, Cas },
285 { 5580, 5700, 3420, Cam },
286 { 40170, 41160, 3375, Cep },
287 { 9000, 10980, 3360, Cam },
288 { 25260, 25950, 3330, UMa },
289 { 25950, 34950, 3330, Dra },
290 { 5700, 6000, 3300, Cam },
291 { 39840, 40170, 3300, Cep },
292 { 37080, 39540, 3290, Cep },
293 { 0, 3060, 3240, Cas },
294 { 10980, 11700, 3240, Lyn },
295 { 21750, 24300, 3180, UMa },
296 { 27450, 28350, 3180, Dra },
297 { 39540, 39840, 3165, Cep },
298 { 6000, 9000, 3150, Cam },
299 { 41160, 42000, 3150, Cas },
300 { 28350, 30600, 3090, Dra },
301 { 3675, 4530, 3030, Per },
302 { 30600, 32820, 3030, Dra },
303 { 0, 2460, 3000, Cas },
304 { 2460, 3000, 3000, Per },
305 { 11700, 12240, 3000, Lyn },
306 { 42000, 43200, 3000, Cas },
307 { 24300, 25260, 2910, UMa },
308 { 0, 2010, 2880, Cas },
309 { 42450, 43200, 2880, Cas },
310 { 32715, 32820, 2850, Her },
311 { 32820, 34350, 2850, Dra },
312 { 34350, 34500, 2850, Cyg },
313 { 3000, 3675, 2820, Per },
314 { 15150, 16500, 2820, UMa },
315 { 300, 1560, 2760, Cas },
316 { 21600, 21750, 2700, UMa },
317 { 12240, 13260, 2670, Lyn },
318 { 39435, 39540, 2640, Cyg },
319 { 39375, 39435, 2625, Cyg },
320 { 34500, 34920, 2610, Cyg },
321 { 16500, 18300, 2520, UMa },
322 { 18300, 19410, 2400, UMa },
323 { 27780, 28350, 2400, Boo },
324 { 28350, 29400, 2400, Her },
325 { 16650, 17250, 2385, Lyn },
326 { 0, 4530, 2205, And },
327 { 4530, 4620, 2205, Per },
328 { 34845, 34920, 2190, Lyr },
329 { 8100, 8445, 2160, Per },
330 { 39120, 39375, 2160, Cyg },
331 { 39375, 39600, 2160, Lac },
332 { 11760, 13260, 2130, Aur },
333 { 13260, 13950, 2130, Lyn },
334 { 0, 3600, 2100, And },
335 { 39600, 41070, 2100, Lac },
336 { 41070, 41160, 2070, Lac },
337 { 41160, 42300, 2070, And },
338 { 4620, 4890, 2040, Per },
339 { 19410, 19800, 2040, UMa },
340 { 21600, 22200, 2040, CVn },
341 { 13950, 16650, 2010, Lyn },
342 { 16650, 17790, 2010, LMi },
343 { 1290, 2535, 1980, And },
344 { 27330, 27780, 1980, Boo },
345 { 42300, 42750, 1925, And },
346 { 22200, 23850, 1920, CVn },
347 { 42750, 43200, 1880, And },
348 { 25125, 25260, 1845, CVn },
349 { 4350, 4890, 1840, Tri },
350 { 4890, 8100, 1840, Per },
351 { 8100, 8550, 1800, Aur },
352 { 32715, 34845, 1800, Lyr },
353 { 19800, 21600, 1740, UMa },
354 { 35400, 37650, 1740, Cyg },
355 { 8550, 10590, 1710, Aur },
356 { 17790, 18900, 1710, LMi },
357 { 23850, 25125, 1710, CVn },
358 { 0, 120, 1680, And },
359 { 2535, 3000, 1680, Tri },
360 { 10590, 11760, 1680, Aur },
361 { 14190, 14400, 1680, Gem },
362 { 37650, 39120, 1680, Cyg },
363 { 34665, 35400, 1650, Cyg },
364 { 3450, 4350, 1635, Tri },
365 { 29100, 29400, 1620, CrB },
366 { 27150, 27330, 1560, Boo },
367 { 27330, 29100, 1560, CrB },
368 { 33060, 33960, 1560, Lyr },
369 { 19350, 19800, 1530, LMi },
370 { 33960, 34665, 1530, Lyr },
371 { 3000, 3450, 1500, Tri },
372 { 1290, 1530, 1425, Psc },
373 { 18900, 19350, 1410, LMi },
374 { 38250, 38550, 1410, Vul },
375 { 10260, 10590, 1370, Tau },
376 { 120, 255, 1320, And },
377 { 28650, 28860, 1320, Se1 },
378 { 10590, 11190, 1290, Gem },
379 { 35700, 36450, 1275, Vul },
380 { 33960, 34650, 1265, Vul },
381 { 255, 1530, 1260, And },
382 { 36450, 37020, 1230, Vul },
383 { 14055, 14190, 1200, Gem },
384 { 37020, 38250, 1170, Vul },
385 { 34650, 35700, 1150, Vul },
386 { 5910, 6060, 1140, Ari },
387 { 33960, 34200, 1110, Sge },
388 { 10260, 10380, 1080, Ori },
389 { 11190, 11355, 1050, Gem },
390 { 34200, 35700, 970, Sge },
391 { 8940, 9600, 960, Tau },
392 { 28650, 28950, 960, Her },
393 { 35700, 36450, 945, Sge },
394 { 8310, 8940, 930, Tau },
395 { 9600, 10080, 930, Tau },
396 { 23100, 24300, 900, Com },
397 { 31050, 32850, 860, Her },
398 { 21360, 23100, 840, Com },
399 { 13500, 14055, 810, Gem },
400 { 30150, 31050, 770, Her },
401 { 0, 255, 750, Peg },
402 { 10080, 10380, 750, Tau },
403 { 12600, 13500, 750, Gem },
404 { 38010, 38400, 750, Peg },
405 { 11355, 12480, 720, Gem },
406 { 32850, 33960, 720, Her },
407 { 37575, 37890, 710, Del },
408 { 37890, 38010, 710, Peg },
409 { 20730, 21360, 660, Leo },
410 { 11235, 11355, 600, Ori },
411 { 12480, 12600, 600, Gem },
412 { 14055, 14265, 600, Cnc },
413 { 42900, 43200, 600, Peg },
414 { 3000, 5910, 595, Ari },
415 { 36255, 36540, 510, Del },
416 { 24300, 27150, 480, Boo },
417 { 40950, 42900, 450, Peg },
418 { 14265, 16650, 420, Cnc },
419 { 16650, 19350, 420, Leo },
420 { 32850, 33592, 375, Oph },
421 { 33592, 33960, 375, Aql },
422 { 37500, 37575, 360, Del },
423 { 12600, 12630, 330, CMi },
424 { 32850, 33165, 270, Se2 },
425 { 28950, 30150, 240, Her },
426 { 32850, 33165, 180, Oph },
427 { 38640, 39000, 165, Peg },
428 { 0, 3600, 120, Psc },
429 { 33450, 33960, 120, Se2 },
430 { 36540, 37500, 120, Del },
431 { 37500, 38400, 120, Equ },
432 { 38400, 38640, 120, Peg },
433 { 39600, 40950, 120, Peg },
434 { 39000, 39600, 105, Peg },
435 { 12630, 12960, 90, CMi },
436 { 6450, 8310, 0, Tau },
437 { 8310, 8400, 0, Ori },
438 { 12960, 14550, 0, CMi },
439 { 26400, 27150, 0, Vir },
440 { 32100, 32850, 0, Oph },
441 { 4770, 5910, -105, Cet },
442 { 5910, 6450, -105, Tau },
443 { 27150, 29280, -195, Se1 },
444 { 8400, 9150, -240, Ori },
445 { 10500, 11235, -240, Ori },
446 { 32100, 32340, -240, Se2 },
447 { 32850, 33450, -240, Se2 },
448 { 33450, 33960, -240, Aql },
449 { 40950, 42900, -240, Psc },
450 { 19350, 20730, -360, Leo },
451 { 20730, 21300, -360, Vir },
452 { 0, 600, -420, Psc },
453 { 42900, 43200, -420, Psc },
454 { 25650, 26400, -480, Vir },
455 { 28650, 29280, -480, Oph },
456 { 36000, 36960, -540, Aql },
457 { 38400, 39360, -540, Aqr },
458 { 30900, 32340, -600, Oph },
459 { 10500, 14550, -660, Mon },
460 { 8850, 9150, -660, Eri },
461 { 9150, 10500, -660, Ori },
462 { 14550, 15060, -660, Hya },
463 { 17250, 19350, -660, Sex },
464 { 21300, 23100, -660, Vir },
465 { 31650, 31800, -700, Oph },
466 { 33960, 36000, -722, Aql },
467 { 8700, 8850, -870, Eri },
468 { 36960, 38400, -900, Aqr },
469 { 30900, 32850, -960, Se2 },
470 { 32850, 33960, -960, Sct },
471 { 15060, 15450, -1020, Hya },
472 { 29280, 29475, -1095, Oph },
473 { 15450, 16350, -1140, Hya },
474 { 19350, 19500, -1140, Crt },
475 { 29280, 29475, -1155, Sco },
476 { 28200, 28650, -1200, Lib },
477 { 22650, 23100, -1320, Crv },
478 { 23100, 25650, -1320, Vir },
479 { 16350, 17550, -1440, Hya },
480 { 3000, 4770, -1463, Cet },
481 { 4770, 6750, -1463, Eri },
482 { 19500, 21300, -1470, Crt },
483 { 21300, 22650, -1470, Crv },
484 { 25650, 26850, -1470, Lib },
485 { 29280, 30150, -1475, Oph },
486 { 0, 3000, -1530, Cet },
487 { 38400, 39360, -1530, Cap },
488 { 39360, 42900, -1530, Aqr },
489 { 42900, 43200, -1530, Cet },
490 { 17550, 18450, -1590, Hya },
491 { 8460, 8700, -1635, Eri },
492 { 8700, 11010, -1635, Lep },
493 { 36000, 38400, -1680, Cap },
494 { 18450, 19050, -1750, Hya },
495 { 22650, 26850, -1770, Hya },
496 { 26850, 28200, -1770, Lib },
497 { 28200, 28800, -1770, Sco },
498 { 8250, 8460, -1800, Eri },
499 { 30150, 31680, -1800, Oph },
500 { 31680, 32100, -1800, Sgr },
501 { 19050, 19500, -1870, Hya },
502 { 11010, 13260, -1980, CMa },
503 { 22050, 22650, -1980, Hya },
504 { 19500, 22050, -2100, Hya },
505 { 6300, 6750, -2160, For },
506 { 15060, 16860, -2205, Pyx },
507 { 7680, 8250, -2220, Eri },
508 { 32100, 34500, -2220, Sgr },
509 { 38400, 41400, -2220, PsA },
510 { 41400, 42000, -2220, Scl },
511 { 5400, 6300, -2375, For },
512 { 16860, 19800, -2385, Ant },
513 { 0, 3000, -2400, Scl },
514 { 3000, 5400, -2400, For },
515 { 6960, 7680, -2400, Eri },
516 { 42000, 43200, -2400, Scl },
517 { 25500, 26850, -2520, Cen },
518 { 28200, 28800, -2520, Lup },
519 { 28800, 29557, -2520, Sco },
520 { 8700, 9000, -2580, Cae },
521 { 9000, 11850, -2580, Col },
522 { 14400, 15060, -2580, Pup },
523 { 6150, 6960, -2640, Eri },
524 { 29557, 32100, -2730, Sco },
525 { 32100, 34500, -2730, CrA },
526 { 34500, 36600, -2730, Sgr },
527 { 36600, 38400, -2730, Mic },
528 { 5400, 6150, -2760, Eri },
529 { 8100, 8700, -2790, Cae },
530 { 27600, 28200, -2880, Lup },
531 { 0, 4200, -2890, Phe },
532 { 4800, 5400, -2940, Eri },
533 { 7350, 7680, -2940, Hor },
534 { 7680, 8100, -2940, Cae },
535 { 38400, 39600, -3000, Gru },
536 { 10800, 14400, -3045, Pup },
537 { 14400, 14700, -3045, Vel },
538 { 4350, 4800, -3060, Eri },
539 { 6900, 7350, -3060, Hor },
540 { 0, 3300, -3090, Phe },
541 { 10800, 11100, -3150, Car },
542 { 14700, 15210, -3180, Vel },
543 { 6300, 6900, -3190, Hor },
544 { 6900, 7200, -3190, Dor },
545 { 0, 2850, -3210, Phe },
546 { 3900, 4350, -3240, Eri },
547 { 8100, 9000, -3240, Pic },
548 { 27090, 27600, -3240, Lup },
549 { 15210, 15900, -3270, Vel },
550 { 11100, 11700, -3300, Car },
551 { 21300, 23100, -3300, Cen },
552 { 25500, 27090, -3300, Lup },
553 { 27090, 27600, -3300, Nor },
554 { 7200, 7800, -3390, Dor },
555 { 15900, 19800, -3390, Vel },
556 { 19800, 20250, -3390, Cen },
557 { 31500, 32400, -3420, Ara },
558 { 32400, 36600, -3420, Tel },
559 { 39600, 42000, -3420, Gru },
560 { 5760, 6300, -3450, Hor },
561 { 9000, 9900, -3450, Pic },
562 { 11700, 12300, -3480, Car },
563 { 0, 2400, -3510, Phe },
564 { 2400, 3900, -3510, Eri },
565 { 42000, 43200, -3510, Phe },
566 { 7800, 8250, -3540, Dor },
567 { 27600, 29557, -3600, Nor },
568 { 36600, 38400, -3600, Ind },
569 { 9900, 10800, -3660, Pic },
570 { 27300, 27600, -3660, Cir },
571 { 29557, 29850, -3660, Ara },
572 { 26850, 27300, -3815, Cir },
573 { 29850, 30150, -3815, Ara },
574 { 10800, 12300, -3840, Pic },
575 { 12300, 16260, -3840, Car },
576 { 20250, 21300, -3840, Cen },
577 { 21300, 23100, -3840, Cru },
578 { 23100, 26160, -3840, Cen },
579 { 24300, 24600, -3900, Cir },
580 { 30150, 30300, -3900, Ara },
581 { 3900, 5760, -4050, Hor },
582 { 5760, 8250, -4050, Ret },
583 { 26550, 26850, -4050, Cir },
584 { 30300, 31500, -4050, Ara },
585 { 31500, 32400, -4050, Pav },
586 { 39600, 42000, -4050, Tuc },
587 { 8250, 11850, -4200, Dor },
588 { 24600, 26550, -4200, Cir },
589 { 26550, 30600, -4200, TrA },
590 { 0, 2400, -4500, Tuc },
591 { 6300, 8250, -4500, Hyi },
592 { 11850, 16260, -4500, Vol },
593 { 16260, 20250, -4500, Car },
594 { 20250, 24600, -4500, Mus },
595 { 32400, 38400, -4500, Pav },
596 { 38400, 42000, -4500, Ind },
597 { 42000, 43200, -4500, Tuc },
598 { 1350, 2400, -4560, Tuc },
599 { 0, 6300, -4950, Hyi },
600 { 13800, 24600, -4950, Cha },
601 { 24600, 32400, -4950, Aps },
602 { 6300, 13800, -5100, Men },
603 { 0, 43200, -5400, Oct }
604};
605
606static short start[] = {
607 355, 352, 343, 340, 332, 320,
608 303, 288, 277, 266, 257, 251,
609 239, 229, 221, 211, 203, 189,
610 177, 163, 149, 136, 124, 104,
611 87, 75, 69, 54, 43, 29,
612 23, 16, 12, 6, 4, 0, 0
613};
614
615
616/*
617======================================================================
618constellation_pick()
619
620Do a constellation pick from RA and Dec.
621
622INPUTS
623 r right ascension, radians
624 d declination, radians
625 e epoch to which r and d precessed, as an mjd
626
627RESULTS
628 Returns an index for the constellation region that the coordinates
629 belong to, or -1 if no constellation pick can be found.
630
631The constellation is identified by linear search. We look for a
632member of cbound[] whose lower_dec is less than the declination of the
633pick point and whose lower_ra and upper_ra bracket the pick point's
634right ascension. The data for that cbound[] member describes a sub-
635region belonging to the picked constellation.
636
637In geometric terms, the search amounts to starting at the north pole
638and traveling south on a line of constant right ascension through the
639pick point. At every declination where a cbound[] member lives, we
640wake up, and if (1) the pick point is now behind us, and (2) the
641cbound[] segment is crossing our path, we know we've hit the edge of
642a constellation subregion that the pick point belongs to.
643
644The cbound[] right ascension and declination values are scaled into
645integers; this conserves storage and makes comparisons faster. The
646start[] array, which gives starting points in cbound[] for different
647declinations in 5-degree increments, further speeds the search by
648skipping early parts of the list for which we know the search can't
649succeed--geometrically, we start no more than 5 degrees north of the
650pick point, rather than at the north pole.
651
652The data in cbound[] are for epoch 1875.
653======================================================================
654*/
655
656int
657cns_pick(double r, double d, double e)
658{
659 double Mjd;
660 unsigned short ra;
661 short de, i;
662
663 cal_mjd( 1, 1.0, 1875, &Mjd );
664 precess( e, Mjd, &r, &d );
665 ra = ( unsigned short )( radhr( r ) * 1800 );
666 de = ( short )( raddeg( d ) * 60 );
667 if (d < 0.0) --de;
668
669 i = ( de + 5400 ) / 300;
670 if ( i < 0 || i > 36 ) return -1;
671 i = start[ i ];
672
673 for ( ; i < NBOUNDS; i++ )
674 if ( cbound[ i ].lower_dec <= de &&
675 cbound[ i ].upper_ra > ra &&
676 cbound[ i ].lower_ra <= ra ) break;
677
678 return ( i == NBOUNDS ) ? -1 : ( int ) cbound[ i ].index;
679}
680
681/* given a constellation id (as from cns_pick()), return pointer to static
682 * storage containg its name in the form "AAA: Name".
683 * return "???: ???" if id is invalid.
684 */
685char *
686cns_name (int id)
687{
688 if (id < 0 || id >= NCNS)
689 return ("???: ???");
690 return (cns_namemap[id]);
691}
692
693/* return cns_namemap index matching first three chars in abbrev[], else -1.
694 */
695int
696cns_id (char *abbrev)
697{
698 int i;
699
700 for (i = 0; i < NCNS; i++)
701 if (strncmp (abbrev, cns_namemap[i], 3) == 0)
702 return (i);
703 return (-1);
704}
705
706/* edges of constant ra */
707static struct {
708 unsigned short ra; /* hours * 1800 */
709 short dec0, dec1; /* degrees * 60 */
710} ra_edges[] = {
711 { 0, -4950, -4500 },
712 { 0, 600, 750 },
713 { 0, 1680, 1879 },
714 { 120, 1320, 1680 },
715 { 255, 750, 1260 },
716 { 255, 1260, 1320 },
717 { 300, 2760, 2880 },
718 { 599, -420, 0 },
719 { 599, 0, 120 },
720 { 599, 3960, 4620 },
721 { 1290, 1425, 1980 },
722 { 1350, -4500, -4560 },
723 { 1530, 1260, 1425 },
724 { 1560, 2760, 2880 },
725 { 2010, 2880, 3000 },
726 { 2399, -4560, -3510 },
727 { 2399, -3510, -3210 },
728 { 2460, 3000, 3240 },
729 { 2534, 1680, 1980 },
730 { 2534, 1980, 2100 },
731 { 2849, -3210, -3090 },
732 { 3000, -2400, -1530 },
733 { 3000, -1530, -1462 },
734 { 3000, 595, 1500 },
735 { 3000, 1500, 1680 },
736 { 3000, 2820, 3000 },
737 { 3060, 3240, 3450 },
738 { 3299, -3090, -2890 },
739 { 3434, 3450, 3510 },
740 { 3450, 1500, 1635 },
741 { 3600, 120, 595 },
742 { 3600, 2100, 2205 },
743 { 3675, 2820, 3030 },
744 { 3900, -4050, -3510 },
745 { 3900, -3510, -3240 },
746 { 4199, -2890, -2400 },
747 { 4350, -3240, -3060 },
748 { 4350, 1635, 1840 },
749 { 4379, 3420, 3510 },
750 { 4530, 2205, 3030 },
751 { 4620, 2040, 2205 },
752 { 4770, -1462, -105 },
753 { 4800, -3060, -2940 },
754 { 4890, 1840, 2040 },
755 { 5400, -2940, -2760 },
756 { 5400, -2400, -2374 },
757 { 5580, 3420, 4080 },
758 { 5700, 3300, 3420 },
759 { 5760, -3450, -4050 },
760 { 5909, -105, 0 },
761 { 5909, 0, 595 },
762 { 5909, 595, 1140 },
763 { 5999, 3150, 3300 },
764 { 6060, 1140, 1840 },
765 { 6150, -2760, -2640 },
766 { 6150, 4080, 4620 },
767 { 6300, -5100, -4950 },
768 { 6300, -4950, -4500 },
769 { 6300, -3190, -3450 },
770 { 6300, -2374, -2160 },
771 { 6314, 4620, 4800 },
772 { 6449, -105, 0 },
773 { 6750, -2160, -1462 },
774 { 6899, -3060, -3190 },
775 { 6960, -2640, -2400 },
776 { 7200, -3390, -3190 },
777 { 7349, -2940, -3060 },
778 { 7680, -2400, -2940 },
779 { 7680, -2220, -2400 },
780 { 7799, -3540, -3390 },
781 { 8100, -3240, -2940 },
782 { 8100, -2940, -2790 },
783 { 8100, 1800, 1840 },
784 { 8100, 1840, 2160 },
785 { 8249, -4500, -4200 },
786 { 8249, -4050, -4200 },
787 { 8249, -4050, -3540 },
788 { 8249, -1800, -2220 },
789 { 8310, 0, 930 },
790 { 8400, -240, 0 },
791 { 8445, 2160, 3150 },
792 { 8460, -1635, -1800 },
793 { 8550, 1710, 1800 },
794 { 8699, -2790, -2580 },
795 { 8699, -870, -1635 },
796 { 8850, -660, -870 },
797 { 8940, 930, 960 },
798 { 9000, -3450, -3240 },
799 { 9000, -2580, -1635 },
800 { 9000, 3150, 3360 },
801 { 9000, 4800, 5100 },
802 { 9149, -660, -240 },
803 { 9599, 930, 960 },
804 { 9900, -3660, -3450 },
805 { 10080, 750, 930 },
806 { 10260, 1080, 1369 },
807 { 10380, 750, 1080 },
808 { 10499, -660, -240 },
809 { 10589, 1290, 1369 },
810 { 10589, 1369, 1680 },
811 { 10589, 1680, 1710 },
812 { 10800, -3840, -3660 },
813 { 10800, -3150, -3045 },
814 { 10800, -3045, -2580 },
815 { 10980, 3240, 3360 },
816 { 10980, 3360, 3720 },
817 { 11010, -1980, -1635 },
818 { 11010, -1635, -660 },
819 { 11100, -3300, -3150 },
820 { 11190, 1050, 1290 },
821 { 11235, -240, 0 },
822 { 11235, 0, 600 },
823 { 11354, 600, 720 },
824 { 11354, 720, 1050 },
825 { 11700, -3480, -3300 },
826 { 11700, 3000, 3240 },
827 { 11759, 1680, 2130 },
828 { 11849, -4200, -4500 },
829 { 11849, -4200, -3840 },
830 { 11849, -1980, -2580 },
831 { 12240, 2670, 3000 },
832 { 12299, -3840, -3480 },
833 { 12479, 600, 720 },
834 { 12600, 330, 600 },
835 { 12600, 600, 750 },
836 { 12600, 3600, 3720 },
837 { 12630, 90, 330 },
838 { 12960, 0, 90 },
839 { 13260, -660, -1980 },
840 { 13260, 2130, 2670 },
841 { 13500, 750, 810 },
842 { 13800, -5100, -4950 },
843 { 13800, -4500, -4950 },
844 { 13950, 2010, 2130 },
845 { 14054, 600, 810 },
846 { 14054, 810, 1200 },
847 { 14189, 1200, 1680 },
848 { 14265, 420, 600 },
849 { 14340, 3600, 4410 },
850 { 14400, -3045, -2580 },
851 { 14400, 1680, 2010 },
852 { 14400, 5100, 5190 },
853 { 14400, 5280, 5190 },
854 { 14549, -660, 0 },
855 { 14549, 0, 420 },
856 { 14700, -3180, -3045 },
857 { 15060, -2580, -2205 },
858 { 15060, -2205, -1020 },
859 { 15060, -1020, -660 },
860 { 15150, 2820, 3600 },
861 { 15209, -3270, -3180 },
862 { 15449, -1140, -1020 },
863 { 15899, -3390, -3270 },
864 { 16259, -4500, -3840 },
865 { 16349, -1440, -1140 },
866 { 16500, 2520, 2820 },
867 { 16500, 4410, 4920 },
868 { 16650, 420, 2010 },
869 { 16650, 2010, 2385 },
870 { 16860, -2385, -2205 },
871 { 16860, -1440, -2205 },
872 { 17249, -660, 0 },
873 { 17249, 0, 420 },
874 { 17249, 2385, 2520 },
875 { 17550, -1590, -1440 },
876 { 17789, 1710, 2010 },
877 { 18300, 2400, 2520 },
878 { 18450, -1750, -1590 },
879 { 18900, 1410, 1710 },
880 { 19049, -1870, -1750 },
881 { 19200, 4800, 4920 },
882 { 19350, -660, -1140 },
883 { 19350, -360, -660 },
884 { 19350, -360, 0 },
885 { 19350, 0, 420 },
886 { 19350, 1410, 1530 },
887 { 19409, 2040, 2400 },
888 { 19499, -2100, -1870 },
889 { 19499, -1140, -1470 },
890 { 19800, -3390, -2385 },
891 { 19800, -2385, -2100 },
892 { 19800, 1530, 1740 },
893 { 19800, 1740, 2040 },
894 { 20250, -4500, -3840 },
895 { 20250, -3840, -3390 },
896 { 20399, 3990, 4410 },
897 { 20700, 4620, 4800 },
898 { 20730, -360, 0 },
899 { 20730, 0, 660 },
900 { 21299, -3840, -3300 },
901 { 21299, -1470, -660 },
902 { 21299, -660, -360 },
903 { 21360, 660, 840 },
904 { 21360, 840, 1740 },
905 { 21600, 1740, 2040 },
906 { 21600, 2040, 2700 },
907 { 21600, 3840, 3990 },
908 { 21749, 2700, 3180 },
909 { 22050, -1980, -2100 },
910 { 22199, 1920, 2040 },
911 { 22649, -1770, -1980 },
912 { 22649, -1470, -1320 },
913 { 23099, -3840, -3300 },
914 { 23099, -1320, -660 },
915 { 23099, 840, 900 },
916 { 23400, 4620, 4200 },
917 { 23850, 1710, 1920 },
918 { 24300, -3900, -3840 },
919 { 24300, 480, 900 },
920 { 24300, 900, 1710 },
921 { 24300, 2910, 3180 },
922 { 24300, 3780, 3840 },
923 { 24449, 4800, 4620 },
924 { 24600, -4950, -4500 },
925 { 24600, -4500, -4200 },
926 { 24600, -4200, -3900 },
927 { 25124, 1710, 1845 },
928 { 25200, 4200, 3960 },
929 { 25259, 1845, 2910 },
930 { 25259, 2910, 3330 },
931 { 25500, -3300, -2520 },
932 { 25650, -1320, -1470 },
933 { 25650, -480, -1320 },
934 { 25950, 3330, 3780 },
935 { 26100, 5190, 4800 },
936 { 26159, -3840, -3300 },
937 { 26400, 0, -480 },
938 { 26550, -4200, -4050 },
939 { 26850, -4050, -3814 },
940 { 26850, -2520, -1770 },
941 { 26850, -1470, -1770 },
942 { 27090, -3300, -3240 },
943 { 27149, -195, 0 },
944 { 27149, 0, 480 },
945 { 27149, 480, 1560 },
946 { 27300, -3814, -3660 },
947 { 27329, 1560, 1980 },
948 { 27450, 3180, 3330 },
949 { 27599, -3660, -3600 },
950 { 27599, -3600, -3300 },
951 { 27599, -3240, -2880 },
952 { 27779, 1980, 2400 },
953 { 28200, -2880, -2520 },
954 { 28200, -1770, -1200 },
955 { 28200, 3960, 4200 },
956 { 28350, 2400, 3090 },
957 { 28350, 3090, 3180 },
958 { 28650, -1200, -480 },
959 { 28650, -480, -195 },
960 { 28650, 960, 1320 },
961 { 28800, -2520, -1770 },
962 { 28859, 1320, 1560 },
963 { 28949, 240, 960 },
964 { 29100, 1560, 1620 },
965 { 29280, -1474, -1155 },
966 { 29280, -1095, -480 },
967 { 29280, -195, 0 },
968 { 29280, 0, 240 },
969 { 29399, 1620, 2400 },
970 { 29475, -1155, -1095 },
971 { 29557, -3660, -3600 },
972 { 29557, -3600, -2730 },
973 { 29557, -2730, -2520 },
974 { 29759, 4200, 4500 },
975 { 29849, -3814, -3660 },
976 { 30150, -3900, -3814 },
977 { 30150, -1800, -1474 },
978 { 30150, 240, 769 },
979 { 30299, -4050, -3900 },
980 { 30600, -4050, -4200 },
981 { 30600, 3030, 3090 },
982 { 30900, -960, -600 },
983 { 31050, 769, 859 },
984 { 31500, -3420, -4050 },
985 { 31500, 4500, 4800 },
986 { 31649, -700, -600 },
987 { 31680, -960, -1800 },
988 { 31800, -700, -600 },
989 { 32099, -2730, -2220 },
990 { 32099, -1800, -2220 },
991 { 32099, -240, 0 },
992 { 32340, -600, -240 },
993 { 32400, -4950, -4500 },
994 { 32400, -4500, -4050 },
995 { 32400, -2730, -3420 },
996 { 32400, 4800, 5160 },
997 { 32715, 1800, 2850 },
998 { 32819, 2850, 3030 },
999 { 32850, -240, -960 },
1000 { 32850, 0, 180 },
1001 { 32850, 270, 375 },
1002 { 32850, 720, 859 },
1003 { 33060, 1560, 1800 },
1004 { 33165, 180, 270 },
1005 { 33449, -240, 0 },
1006 { 33449, 0, 120 },
1007 { 33591, 375, 720 },
1008 { 33960, -960, -721 },
1009 { 33960, -721, -240 },
1010 { 33960, 120, 375 },
1011 { 33960, 720, 1110 },
1012 { 33960, 1110, 1264 },
1013 { 33960, 1264, 1530 },
1014 { 33960, 1530, 1560 },
1015 { 34200, 970, 1110 },
1016 { 34349, 2850, 3330 },
1017 { 34500, -2220, -2730 },
1018 { 34500, 2610, 2850 },
1019 { 34650, 1150, 1264 },
1020 { 34664, 1530, 1650 },
1021 { 34664, 1650, 1800 },
1022 { 34844, 1800, 2190 },
1023 { 34920, 2190, 2610 },
1024 { 34950, 3330, 3480 },
1025 { 35400, 1650, 1740 },
1026 { 35580, 3480, 3570 },
1027 { 35699, 945, 970 },
1028 { 35699, 1150, 1275 },
1029 { 36000, -1680, -721 },
1030 { 36000, -540, -721 },
1031 { 36000, 3570, 3690 },
1032 { 36255, 510, 945 },
1033 { 36300, 4500, 4800 },
1034 { 36450, 945, 1230 },
1035 { 36450, 1230, 1275 },
1036 { 36540, 120, 510 },
1037 { 36599, -3600, -3420 },
1038 { 36599, -3420, -2730 },
1039 { 36599, -2730, -1680 },
1040 { 36750, 3690, 4020 },
1041 { 36959, -900, -540 },
1042 { 36959, -540, 0 },
1043 { 36959, 0, 120 },
1044 { 36966, 3570, 3655 },
1045 { 37020, 1170, 1230 },
1046 { 37080, 3289, 3655 },
1047 { 37200, 4020, 4500 },
1048 { 37499, 120, 360 },
1049 { 37575, 360, 709 },
1050 { 37650, 1680, 1740 },
1051 { 37800, 4800, 5160 },
1052 { 37800, 5160, 5169 },
1053 { 37890, 709, 1170 },
1054 { 38010, 709, 750 },
1055 { 38250, 1170, 1410 },
1056 { 38399, -4500, -3600 },
1057 { 38399, -3000, -2730 },
1058 { 38399, -2220, -2730 },
1059 { 38399, -1680, -2220 },
1060 { 38399, -1680, -1530 },
1061 { 38399, -540, -900 },
1062 { 38399, 120, 750 },
1063 { 38550, 1410, 1680 },
1064 { 38640, 120, 165 },
1065 { 39000, 105, 165 },
1066 { 39119, 1680, 2160 },
1067 { 39360, -1530, -540 },
1068 { 39375, 2160, 2625 },
1069 { 39434, 2625, 2640 },
1070 { 39540, 2640, 3165 },
1071 { 39540, 3165, 3289 },
1072 { 39600, -4050, -3420 },
1073 { 39600, -3420, -3000 },
1074 { 39600, 105, 120 },
1075 { 39600, 2100, 2160 },
1076 { 39839, 3165, 3300 },
1077 { 40170, 3300, 3375 },
1078 { 40950, -240, 0 },
1079 { 40950, 0, 120 },
1080 { 40950, 120, 450 },
1081 { 41070, 2070, 2100 },
1082 { 41160, 2070, 3150 },
1083 { 41160, 3150, 3375 },
1084 { 41160, 3375, 3544 },
1085 { 41400, -2220, -1530 },
1086 { 41400, 5169, 5280 },
1087 { 41700, 3544, 3780 },
1088 { 41999, -4500, -4050 },
1089 { 41999, -3510, -3420 },
1090 { 41999, -3420, -2400 },
1091 { 41999, -2400, -2220 },
1092 { 41999, 3000, 3150 },
1093 { 42300, 1924, 2070 },
1094 { 42449, 2880, 3000 },
1095 { 42449, 3780, 3960 },
1096 { 42750, 1879, 1924 },
1097 { 42899, -1530, -420 },
1098 { 42899, -420, -240 },
1099 { 42899, 450, 600 },
1100};
1101
1102#define NRA ((int)(sizeof(ra_edges)/sizeof(ra_edges[0])))
1103
1104/* edges of constant dec */
1105static struct {
1106 short dec; /* degrees * 60 */
1107 unsigned short ra0, ra1; /* hours * 1800 */
1108} dec_edges[] = {
1109 { -5100, 6300, 13800 },
1110 { -4950, 0, 6300 },
1111 { -4950, 13800, 24600 },
1112 { -4950, 24600, 32400 },
1113 { -4560, 1350, 2399 },
1114 { -4500, 0, 1350 },
1115 { -4500, 6300, 8249 },
1116 { -4500, 11849, 13800 },
1117 { -4500, 13800, 16259 },
1118 { -4500, 16259, 20250 },
1119 { -4500, 20250, 24600 },
1120 { -4500, 32400, 38399 },
1121 { -4500, 38399, 41999 },
1122 { -4500, 41999, 0 },
1123 { -4200, 8249, 11849 },
1124 { -4200, 24600, 26550 },
1125 { -4200, 30600, 26550 },
1126 { -4050, 3900, 5760 },
1127 { -4050, 5760, 8249 },
1128 { -4050, 26550, 26850 },
1129 { -4050, 30299, 30600 },
1130 { -4050, 31500, 30600 },
1131 { -4050, 31500, 32400 },
1132 { -4050, 39600, 41999 },
1133 { -3900, 24300, 24600 },
1134 { -3900, 30150, 30299 },
1135 { -3840, 10800, 11849 },
1136 { -3840, 11849, 12299 },
1137 { -3840, 12299, 16259 },
1138 { -3840, 20250, 21299 },
1139 { -3840, 21299, 23099 },
1140 { -3840, 23099, 24300 },
1141 { -3840, 24300, 26159 },
1142 { -3814, 26850, 27300 },
1143 { -3814, 29849, 30150 },
1144 { -3660, 9900, 10800 },
1145 { -3660, 27300, 27599 },
1146 { -3660, 29557, 29849 },
1147 { -3600, 27599, 29557 },
1148 { -3600, 36599, 38399 },
1149 { -3540, 7799, 8249 },
1150 { -3510, 2399, 3900 },
1151 { -3510, 2399, 41999 },
1152 { -3510, 3900, 2399 },
1153 { -3510, 41999, 2399 },
1154 { -3480, 11700, 12299 },
1155 { -3450, 6300, 5760 },
1156 { -3450, 9000, 9900 },
1157 { -3420, 32400, 31500 },
1158 { -3420, 32400, 36599 },
1159 { -3420, 39600, 41999 },
1160 { -3390, 7200, 7799 },
1161 { -3390, 15899, 19800 },
1162 { -3390, 19800, 20250 },
1163 { -3300, 11100, 11700 },
1164 { -3300, 21299, 23099 },
1165 { -3300, 25500, 26159 },
1166 { -3300, 26159, 27090 },
1167 { -3300, 27090, 27599 },
1168 { -3270, 15209, 15899 },
1169 { -3240, 3900, 4350 },
1170 { -3240, 8100, 9000 },
1171 { -3240, 27090, 27599 },
1172 { -3210, 2399, 2849 },
1173 { -3190, 6899, 6300 },
1174 { -3190, 6899, 7200 },
1175 { -3180, 14700, 15209 },
1176 { -3150, 10800, 11100 },
1177 { -3090, 2849, 3299 },
1178 { -3060, 4350, 4800 },
1179 { -3060, 7349, 6899 },
1180 { -3045, 10800, 14400 },
1181 { -3045, 14400, 14700 },
1182 { -3000, 38399, 39600 },
1183 { -2940, 4800, 5400 },
1184 { -2940, 7680, 7349 },
1185 { -2940, 7680, 8100 },
1186 { -2890, 3299, 4199 },
1187 { -2880, 27599, 28200 },
1188 { -2790, 8100, 8699 },
1189 { -2760, 5400, 6150 },
1190 { -2730, 29557, 32099 },
1191 { -2730, 32099, 32400 },
1192 { -2730, 34500, 32400 },
1193 { -2730, 34500, 36599 },
1194 { -2730, 38399, 36599 },
1195 { -2640, 6150, 6960 },
1196 { -2580, 8699, 9000 },
1197 { -2580, 10800, 9000 },
1198 { -2580, 11849, 10800 },
1199 { -2580, 14400, 15060 },
1200 { -2520, 25500, 26850 },
1201 { -2520, 28200, 28800 },
1202 { -2520, 29557, 28800 },
1203 { -2400, 3000, 41999 },
1204 { -2400, 4199, 3000 },
1205 { -2400, 4199, 5400 },
1206 { -2400, 6960, 7680 },
1207 { -2385, 16860, 19800 },
1208 { -2374, 5400, 6300 },
1209 { -2220, 8249, 7680 },
1210 { -2220, 32099, 34500 },
1211 { -2220, 38399, 41400 },
1212 { -2220, 41999, 41400 },
1213 { -2205, 16860, 15060 },
1214 { -2160, 6300, 6750 },
1215 { -2100, 19800, 19499 },
1216 { -2100, 22050, 19800 },
1217 { -1980, 11010, 11849 },
1218 { -1980, 13260, 11849 },
1219 { -1980, 22649, 22050 },
1220 { -1870, 19499, 19049 },
1221 { -1800, 8460, 8249 },
1222 { -1800, 30150, 31680 },
1223 { -1800, 31680, 32099 },
1224 { -1770, 26850, 22649 },
1225 { -1770, 26850, 28200 },
1226 { -1770, 28800, 28200 },
1227 { -1750, 19049, 18450 },
1228 { -1680, 36000, 36599 },
1229 { -1680, 36599, 38399 },
1230 { -1635, 8699, 8460 },
1231 { -1635, 8699, 9000 },
1232 { -1635, 9000, 11010 },
1233 { -1590, 18450, 17550 },
1234 { -1530, 3000, 42899 },
1235 { -1530, 38399, 39360 },
1236 { -1530, 41400, 39360 },
1237 { -1530, 41400, 42899 },
1238 { -1530, 42899, 3000 },
1239 { -1530, 42899, 41400 },
1240 { -1474, 29280, 30150 },
1241 { -1470, 19499, 21299 },
1242 { -1470, 21299, 22649 },
1243 { -1470, 25650, 26850 },
1244 { -1462, 3000, 4770 },
1245 { -1462, 4770, 6750 },
1246 { -1440, 16349, 16860 },
1247 { -1440, 17550, 16860 },
1248 { -1320, 22649, 23099 },
1249 { -1320, 23099, 25650 },
1250 { -1200, 28200, 28650 },
1251 { -1155, 29280, 29475 },
1252 { -1140, 15449, 16349 },
1253 { -1140, 19350, 19499 },
1254 { -1095, 29280, 29475 },
1255 { -1020, 15060, 15449 },
1256 { -960, 30900, 31680 },
1257 { -960, 32850, 31680 },
1258 { -960, 32850, 33960 },
1259 { -900, 38399, 36959 },
1260 { -870, 8850, 8699 },
1261 { -721, 36000, 33960 },
1262 { -700, 31649, 31800 },
1263 { -660, 9149, 8850 },
1264 { -660, 10499, 9149 },
1265 { -660, 11010, 10499 },
1266 { -660, 11010, 13260 },
1267 { -660, 14549, 13260 },
1268 { -660, 15060, 14549 },
1269 { -660, 17249, 19350 },
1270 { -660, 23099, 21299 },
1271 { -600, 30900, 31649 },
1272 { -600, 31800, 32340 },
1273 { -540, 36959, 36000 },
1274 { -540, 39360, 38399 },
1275 { -480, 26400, 25650 },
1276 { -480, 28650, 29280 },
1277 { -420, 599, 42899 },
1278 { -360, 20730, 19350 },
1279 { -360, 21299, 20730 },
1280 { -240, 8400, 9149 },
1281 { -240, 10499, 11235 },
1282 { -240, 32099, 32340 },
1283 { -240, 33449, 32850 },
1284 { -240, 33960, 33449 },
1285 { -240, 40950, 42899 },
1286 { -195, 28650, 27149 },
1287 { -195, 28650, 29280 },
1288 { -105, 4770, 5909 },
1289 { -105, 5909, 6449 },
1290 { 0, 6449, 8310 },
1291 { 0, 8310, 8400 },
1292 { 0, 12960, 14549 },
1293 { 0, 27149, 26400 },
1294 { 0, 32099, 32850 },
1295 { 90, 12630, 12960 },
1296 { 105, 39000, 39600 },
1297 { 120, 599, 3600 },
1298 { 120, 33449, 33960 },
1299 { 120, 36540, 36959 },
1300 { 120, 36959, 37499 },
1301 { 120, 37499, 38399 },
1302 { 120, 38399, 38640 },
1303 { 120, 39600, 40950 },
1304 { 165, 38640, 39000 },
1305 { 180, 32850, 33165 },
1306 { 240, 28949, 29280 },
1307 { 240, 29280, 30150 },
1308 { 270, 33165, 32850 },
1309 { 330, 12600, 12630 },
1310 { 360, 37499, 37575 },
1311 { 375, 32850, 33591 },
1312 { 375, 33591, 33960 },
1313 { 420, 14265, 14549 },
1314 { 420, 14549, 16650 },
1315 { 420, 16650, 17249 },
1316 { 420, 17249, 19350 },
1317 { 450, 40950, 42899 },
1318 { 480, 24300, 27149 },
1319 { 510, 36255, 36540 },
1320 { 595, 3000, 3600 },
1321 { 595, 3600, 5909 },
1322 { 600, 0, 42899 },
1323 { 600, 11235, 11354 },
1324 { 600, 12479, 12600 },
1325 { 600, 14054, 14265 },
1326 { 600, 42899, 0 },
1327 { 660, 20730, 21360 },
1328 { 709, 37575, 37890 },
1329 { 709, 37890, 38010 },
1330 { 720, 11354, 12479 },
1331 { 720, 32850, 33591 },
1332 { 720, 33591, 33960 },
1333 { 750, 0, 255 },
1334 { 750, 10080, 10380 },
1335 { 750, 12600, 13500 },
1336 { 750, 38010, 38399 },
1337 { 769, 30150, 31050 },
1338 { 810, 13500, 14054 },
1339 { 840, 21360, 23099 },
1340 { 859, 31050, 32850 },
1341 { 900, 23099, 24300 },
1342 { 930, 8310, 8940 },
1343 { 930, 9599, 10080 },
1344 { 945, 35699, 36255 },
1345 { 945, 36255, 36450 },
1346 { 960, 8940, 9599 },
1347 { 960, 28650, 28949 },
1348 { 970, 34200, 35699 },
1349 { 1050, 11190, 11354 },
1350 { 1080, 10260, 10380 },
1351 { 1110, 33960, 34200 },
1352 { 1140, 5909, 6060 },
1353 { 1150, 34650, 35699 },
1354 { 1170, 37020, 37890 },
1355 { 1170, 37890, 38250 },
1356 { 1200, 14054, 14189 },
1357 { 1230, 36450, 37020 },
1358 { 1260, 255, 1530 },
1359 { 1264, 33960, 34650 },
1360 { 1275, 35699, 36450 },
1361 { 1290, 10589, 11190 },
1362 { 1320, 120, 255 },
1363 { 1320, 28650, 28859 },
1364 { 1369, 10260, 10589 },
1365 { 1410, 18900, 19350 },
1366 { 1410, 38250, 38550 },
1367 { 1425, 1290, 1530 },
1368 { 1500, 3000, 3450 },
1369 { 1530, 19350, 19800 },
1370 { 1530, 33960, 34664 },
1371 { 1560, 27149, 27329 },
1372 { 1560, 27329, 28859 },
1373 { 1560, 28859, 29100 },
1374 { 1560, 33060, 33960 },
1375 { 1620, 29100, 29399 },
1376 { 1635, 3450, 4350 },
1377 { 1650, 34664, 35400 },
1378 { 1680, 0, 120 },
1379 { 1680, 2534, 3000 },
1380 { 1680, 10589, 11759 },
1381 { 1680, 14189, 14400 },
1382 { 1680, 37650, 38550 },
1383 { 1680, 38550, 39119 },
1384 { 1710, 8550, 10589 },
1385 { 1710, 17789, 18900 },
1386 { 1710, 23850, 24300 },
1387 { 1710, 24300, 25124 },
1388 { 1740, 19800, 21360 },
1389 { 1740, 21360, 21600 },
1390 { 1740, 35400, 37650 },
1391 { 1800, 8100, 8550 },
1392 { 1800, 32715, 33060 },
1393 { 1800, 34664, 34844 },
1394 { 1840, 4350, 4890 },
1395 { 1840, 4890, 6060 },
1396 { 1840, 6060, 8100 },
1397 { 1845, 25124, 25259 },
1398 { 1879, 0, 42750 },
1399 { 1920, 22199, 23850 },
1400 { 1924, 42300, 42750 },
1401 { 1980, 1290, 2534 },
1402 { 1980, 27329, 27779 },
1403 { 2010, 13950, 14400 },
1404 { 2010, 14400, 16650 },
1405 { 2010, 16650, 17789 },
1406 { 2040, 4620, 4890 },
1407 { 2040, 19409, 19800 },
1408 { 2040, 21600, 22199 },
1409 { 2070, 41070, 41160 },
1410 { 2070, 41160, 42300 },
1411 { 2100, 2534, 3600 },
1412 { 2100, 39600, 41070 },
1413 { 2130, 11759, 13260 },
1414 { 2130, 13260, 13950 },
1415 { 2160, 8100, 8445 },
1416 { 2160, 39119, 39375 },
1417 { 2160, 39375, 39600 },
1418 { 2190, 34844, 34920 },
1419 { 2205, 3600, 4530 },
1420 { 2205, 4530, 4620 },
1421 { 2385, 16650, 17249 },
1422 { 2400, 18300, 19409 },
1423 { 2400, 27779, 28350 },
1424 { 2400, 28350, 29399 },
1425 { 2520, 16500, 17249 },
1426 { 2520, 17249, 18300 },
1427 { 2610, 34500, 34920 },
1428 { 2625, 39375, 39434 },
1429 { 2640, 39434, 39540 },
1430 { 2670, 12240, 13260 },
1431 { 2700, 21600, 21749 },
1432 { 2760, 300, 1560 },
1433 { 2820, 3000, 3675 },
1434 { 2820, 15150, 16500 },
1435 { 2850, 32715, 32819 },
1436 { 2850, 32819, 34349 },
1437 { 2850, 34349, 34500 },
1438 { 2880, 300, 42449 },
1439 { 2880, 1560, 2010 },
1440 { 2880, 42449, 300 },
1441 { 2910, 24300, 25259 },
1442 { 3000, 2010, 2460 },
1443 { 3000, 2460, 3000 },
1444 { 3000, 11700, 12240 },
1445 { 3000, 41999, 42449 },
1446 { 3030, 3675, 4530 },
1447 { 3030, 30600, 32819 },
1448 { 3090, 28350, 30600 },
1449 { 3150, 5999, 8445 },
1450 { 3150, 8445, 9000 },
1451 { 3150, 41160, 41999 },
1452 { 3165, 39540, 39839 },
1453 { 3180, 21749, 24300 },
1454 { 3180, 27450, 28350 },
1455 { 3240, 2460, 3060 },
1456 { 3240, 10980, 11700 },
1457 { 3289, 37080, 39540 },
1458 { 3300, 5700, 5999 },
1459 { 3300, 39839, 40170 },
1460 { 3330, 25259, 25950 },
1461 { 3330, 25950, 27450 },
1462 { 3330, 34349, 34950 },
1463 { 3360, 9000, 10980 },
1464 { 3375, 40170, 41160 },
1465 { 3420, 4379, 5580 },
1466 { 3420, 5580, 5700 },
1467 { 3450, 3060, 3434 },
1468 { 3480, 34950, 35580 },
1469 { 3510, 3434, 4379 },
1470 { 3544, 41160, 41700 },
1471 { 3570, 35580, 36000 },
1472 { 3570, 36000, 36966 },
1473 { 3600, 12600, 14340 },
1474 { 3600, 14340, 15150 },
1475 { 3655, 36966, 37080 },
1476 { 3690, 36000, 36750 },
1477 { 3720, 10980, 12600 },
1478 { 3780, 24300, 25950 },
1479 { 3780, 41700, 42449 },
1480 { 3840, 21600, 24300 },
1481 { 3960, 599, 42449 },
1482 { 3960, 25200, 28200 },
1483 { 3960, 42449, 599 },
1484 { 3990, 20399, 21600 },
1485 { 4020, 36750, 37200 },
1486 { 4080, 5580, 6150 },
1487 { 4200, 23400, 25200 },
1488 { 4200, 28200, 29759 },
1489 { 4410, 14340, 16500 },
1490 { 4410, 16500, 20399 },
1491 { 4500, 29759, 31500 },
1492 { 4500, 36300, 37200 },
1493 { 4620, 599, 6150 },
1494 { 4620, 6150, 6314 },
1495 { 4620, 20700, 23400 },
1496 { 4620, 24449, 23400 },
1497 { 4800, 6314, 9000 },
1498 { 4800, 19200, 20700 },
1499 { 4800, 26100, 24449 },
1500 { 4800, 31500, 32400 },
1501 { 4800, 36300, 37800 },
1502 { 4920, 16500, 19200 },
1503 { 5100, 9000, 14400 },
1504 { 5160, 32400, 37800 },
1505 { 5169, 37800, 41400 },
1506 { 5190, 14400, 26100 },
1507 { 5280, 6300, 14400 },
1508 { 5280, 41400, 6300 },
1509};
1510
1511#define NDEC ((int)(sizeof(dec_edges)/sizeof(dec_edges[0])))
1512
1513/* given an epoch, give caller a list of all constellation edges.
1514 * return count if ok, else -1.
1515 * N.B. caller should *not* free what we return because we cache it here.
1516 */
1517int
1518cns_edges (double e, double **ra0p, double **dec0p, double **ra1p,
1519double **dec1p)
1520{
1521#define NEDGES (NRA+NDEC)
1522 static double *ra0, *dec0, *ra1, *dec1;
1523 static double laste = -12345.6; /* any bogus value */
1524 double mjd0;
1525 int i, n;
1526
1527 /* if same epoch just return the same list */
1528 if (e == laste) {
1529 *ra0p = ra0;
1530 *dec0p = dec0;
1531 *ra1p = ra1;
1532 *dec1p = dec1;
1533 return (NEDGES);
1534 }
1535
1536 /* get space for arrays, first time only */
1537 if (!ra0) {
1538 ra0 = (double *)malloc (NEDGES * sizeof(double));
1539 if (!ra0)
1540 return (-1);
1541 dec0 = (double *)malloc (NEDGES * sizeof(double));
1542 if (!dec0) {
1543 free ((void *)ra0);
1544 return (-1);
1545 }
1546 ra1 = (double *)malloc (NEDGES * sizeof(double));
1547 if (!ra1) {
1548 free ((void *)ra0);
1549 free ((void *)dec0);
1550 return (-1);
1551 }
1552 dec1 = (double *)malloc (NEDGES * sizeof(double));
1553 if (!dec1) {
1554 free ((void *)ra0);
1555 free ((void *)dec0);
1556 free ((void *)ra1);
1557 return (-1);
1558 }
1559 }
1560
1561 /* prepare for precession from 1875 */
1562 cal_mjd (1, 1.0, 1875, &mjd0);
1563
1564 /* build the constant-ra edge lists */
1565 n = 0;
1566 for (i = 0; i < NRA; i++) {
1567 ra0[n] = ra1[n] = hrrad((double)ra_edges[i].ra/1800.0);
1568 dec0[n] = degrad((double)ra_edges[i].dec0/60.0);
1569 dec1[n] = degrad((double)ra_edges[i].dec1/60.0);
1570 precess (mjd0, e, &ra0[n], &dec0[n]);
1571 precess (mjd0, e, &ra1[n], &dec1[n]);
1572 n++;
1573 }
1574
1575 /* add the constant-dec edge lists */
1576 for (i = 0; i < NDEC; i++) {
1577 ra0[n] = hrrad((double)dec_edges[i].ra0/1800.0);
1578 ra1[n] = hrrad((double)dec_edges[i].ra1/1800.0);
1579 dec0[n] = dec1[n] = degrad((double)dec_edges[i].dec/60.0);
1580 precess (mjd0, e, &ra0[n], &dec0[n]);
1581 precess (mjd0, e, &ra1[n], &dec1[n]);
1582 n++;
1583 }
1584
1585 /* sanity check the count */
1586 if (n != NEDGES) {
1587 printf ("cns_edges(): n=%d NEDGES=%ld\n", n, (long)NEDGES);
1588 abort();
1589 }
1590
1591 /* ok */
1592 *ra0p = ra0;
1593 *dec0p = dec0;
1594 *ra1p = ra1;
1595 *dec1p = dec1;
1596 laste = e;
1597 return (NEDGES);
1598}
1599
1600/* given an ra, dec and epoch return the list of constellation ids which
1601 * *may* fall within the given radius of said location.
1602 * return the number of ids.
1603 * ids[] need be no larger than 89.
1604 */
1605/* ARGSUSED */
1606int
1607cns_list (double ra, double dec, double e, double rad, int ids[])
1608{
1609 int i;
1610
1611 /* TODO: this! */
1612 for (i = 0; i < NCNS; i++)
1613 ids[i] = i;
1614 return (NCNS);
1615}
1616
1617/* epoch 2000 RA/Dec of constellation figure end-points.
1618 * drawcodes: 0=move to; 1=draw to; 2=draw to dashed; 3=end
1619 */
1620typedef struct {
1621 short drawcode;
1622 unsigned short ra; /* hours * 1800 */
1623 short dec; /* degrees * 60 */
1624} ConFig;
1625
1626/* Andromeda */
1627static ConFig _Andromeda_figs[] = {
1628 { 0, 3717, 2539}, /* move gamma 1 */
1629 { 1, 2091, 2137}, /* draw beta */
1630 { 1, 1179, 1851}, /* draw delta */
1631 { 1, 251, 1745}, /* draw alpha */
1632 { 0, 1716, 1405}, /* move eta */
1633 { 1, 1420, 1456}, /* draw zeta */
1634 { 1, 1156, 1758}, /* draw epsilon */
1635 { 1, 1179, 1851}, /* draw delta */
1636 { 1, 1106, 2023}, /* draw pi */
1637 { 1, 512, 2320}, /* draw theta */
1638 { 1, 42544, 2596}, /* draw iota */
1639 { 1, 42612, 2660}, /* draw kappa */
1640 { 1, 42526, 2787}, /* draw lambda */
1641 { 0, 42544, 2596}, /* move iota */
1642 { 1, 41457, 2539}, /* draw omicron */
1643 { 0, 1106, 2023}, /* move pi */
1644 { 1, 2091, 2137}, /* draw beta */
1645 { 1, 1702, 2309}, /* draw mu */
1646 { 1, 1494, 2464}, /* draw nu */
1647 { 1, 2085, 2834}, /* draw phi */
1648 { 1, 2939, 2917}, /* draw 51 */
1649 {-1, 0, 0},
1650};
1651
1652/* Antlia */
1653static ConFig _Antlia_figs[] = {
1654 { 0, 17077, -2157}, /* move epsilon */
1655 { 2, 18814, -1864}, /* dotted alpha */
1656 { 2, 19701, -2228}, /* dotted iota */
1657 {-1, 0, 0},
1658};
1659
1660/* Apus */
1661static ConFig _Apus_figs[] = {
1662 { 0, 26635, -4742}, /* move alpha */
1663 { 2, 29803, -4733}, /* dotted gamma */
1664 { 2, 30092, -4651}, /* dotted beta */
1665 { 2, 29410, -4721}, /* dotted delta 1 */
1666 { 2, 29803, -4733}, /* dotted gamma */
1667 {-1, 0, 0},
1668};
1669
1670/* Aquarius */
1671static ConFig _Aquarius_figs[] = {
1672 { 0, 37430, -569}, /* move epsilon */
1673 { 1, 38746, -334}, /* draw beta */
1674 { 1, 39773, -19}, /* draw alpha */
1675 { 1, 40249, -83}, /* draw gamma */
1676 { 1, 40464, -1}, /* draw zeta 1 */
1677 { 1, 40358, 82}, /* draw pi */
1678 { 1, 39773, -19}, /* draw alpha */
1679 { 0, 40464, -1}, /* move zeta 1 */
1680 { 1, 40660, -7}, /* draw eta */
1681 { 0, 38746, -334}, /* move beta */
1682 { 1, 39793, -832}, /* draw iota */
1683 { 0, 39773, -19}, /* move alpha */
1684 { 1, 40105, -467}, /* draw theta */
1685 { 1, 41178, -454}, /* draw lambda */
1686 { 1, 41829, -362}, /* draw phi */
1687 { 1, 41937, -550}, /* draw psi 2 */
1688 { 1, 41239, -949}, /* draw delta */
1689 { 1, 41087, -815}, /* draw tau 2 */
1690 { 1, 41178, -454}, /* draw lambda */
1691 { 0, 42089, -1206}, /* move 98 */
1692 { 1, 41937, -550}, /* draw psi 2 */
1693 { 1, 41683, -1270}, /* draw 88 */
1694 {-1, 0, 0},
1695};
1696
1697/* Aquila */
1698static ConFig _Aquila_figs[] = {
1699 { 0, 35859, 384}, /* move beta */
1700 { 1, 35723, 532}, /* draw alpha */
1701 { 1, 35587, 636}, /* draw gamma */
1702 { 1, 34964, 186}, /* draw delta */
1703 { 1, 34387, -292}, /* draw lambda */
1704 { 1, 34362, 831}, /* draw zeta */
1705 { 1, 34964, 186}, /* draw delta */
1706 { 1, 35774, 60}, /* draw eta */
1707 { 1, 36339, -49}, /* draw theta */
1708 { 1, 35301, -77}, /* draw iota */
1709 { 1, 34387, -292}, /* draw lambda */
1710 {-1, 0, 0},
1711};
1712
1713/* Ara */
1714static ConFig _Ara_figs[] = {
1715 { 0, 31811, -2964}, /* move lambda */
1716 { 1, 31555, -2992}, /* draw alpha */
1717 { 1, 31359, -3331}, /* draw beta */
1718 { 1, 31361, -3382}, /* draw gamma */
1719 { 1, 31532, -3641}, /* draw delta */
1720 { 1, 30293, -3542}, /* draw eta */
1721 { 1, 30558, -3359}, /* draw zeta */
1722 { 1, 30587, -3189}, /* draw epsilon 1 */
1723 { 1, 31555, -2992}, /* draw alpha */
1724 {-1, 0, 0},
1725};
1726
1727/* Aries */
1728static ConFig _Aries_figs[] = {
1729 { 0, 3405, 1157}, /* move gamma */
1730 { 1, 3439, 1248}, /* draw beta */
1731 { 1, 3815, 1407}, /* draw alpha */
1732 { 1, 5099, 1635}, /* draw 41 */
1733 {-1, 0, 0},
1734};
1735
1736/* Auriga */
1737static ConFig _Auriga_figs[] = {
1738 { 0, 9500, 2759}, /* move capella */
1739 { 1, 10785, 2696}, /* draw beta */
1740 { 1, 10791, 2232}, /* draw theta */
1741 { 1, 9788, 1716}, /* draw beta tau */
1742 { 1, 8909, 1989}, /* draw iota */
1743 { 1, 9500, 2759}, /* draw capella */
1744 { 1, 10785, 3257}, /* draw delta */
1745 { 1, 10785, 2696}, /* draw beta */
1746 { 0, 9500, 2759}, /* move capella */
1747 { 1, 9059, 2629}, /* draw epsilon */
1748 { 1, 9074, 2464}, /* draw zeta */
1749 {-1, 0, 0},
1750};
1751
1752/* Bootes */
1753static ConFig _Bootes_figs[] = {
1754 { 0, 26434, 823}, /* move zeta */
1755 { 1, 25669, 1150}, /* draw arcturus */
1756 { 1, 26549, 1624}, /* draw epsilon */
1757 { 1, 27465, 1998}, /* draw delta */
1758 { 1, 27058, 2423}, /* draw beta */
1759 { 1, 26162, 2298}, /* draw gamma */
1760 { 1, 26154, 1822}, /* draw rho */
1761 { 1, 25669, 1150}, /* draw arcturus */
1762 { 1, 25040, 1103}, /* draw eta */
1763 { 1, 24817, 1047}, /* draw tau */
1764 { 0, 26162, 2298}, /* move gamma */
1765 { 1, 25691, 2765}, /* draw lambda */
1766 { 1, 25604, 3107}, /* draw kappa 2 */
1767 { 1, 25955, 3111}, /* draw theta */
1768 { 1, 25691, 2765}, /* draw lambda */
1769 {-1, 0, 0},
1770};
1771
1772/* Caelum */
1773static ConFig _Caelum_figs[] = {
1774 { 0, 9132, -2129}, /* move gamma */
1775 { 2, 8461, -2228}, /* dotted beta */
1776 { 2, 8416, -2511}, /* dotted alpha */
1777 { 2, 8125, -2697}, /* dotted delta */
1778 {-1, 0, 0},
1779};
1780
1781/* Camelopardalis */
1782static ConFig _Camelopardalis_figs[] = {
1783 { 0, 8918, 3225}, /* move 7 */
1784 { 2, 9102, 3626}, /* dotted beta */
1785 { 2, 8821, 3980}, /* dotted alpha */
1786 { 2, 6910, 4279}, /* dotted gamma */
1787 { 2, 6885, 3931}, /* dotted 3:49:31 65:31:34 */
1788 { 2, 6272, 3596}, /* dotted 6272 3596 */
1789 { 0, 8821, 3980}, /* move alpha */
1790 { 2, 11365, 4159}, /* dotted 6:18:51 69:19:11 */
1791 { 2, 12602, 4618}, /* dotted 7:00:04 76:58:39 */
1792 {-1, 0, 0},
1793};
1794
1795/* Cancer */
1796static ConFig _Cancer_figs[] = {
1797 { 0, 15800, 1725}, /* move iota1 */
1798 { 2, 15698, 1288}, /* dotted gamma */
1799 { 2, 15740, 1089}, /* dotted delta */
1800 { 2, 16154, 711}, /* dotted alpha */
1801 { 0, 15740, 1089}, /* move delta */
1802 { 2, 14895, 551}, /* dotted beta */
1803 {-1, 0, 0},
1804};
1805
1806/* Canes Venatici */
1807static ConFig _Canes_Venatici_figs[] = {
1808 { 0, 23280, 2299}, /* move alpha2 */
1809 { 2, 22612, 2481}, /* dotted beta */
1810 {-1, 0, 0},
1811};
1812
1813/* Canis Major */
1814static ConFig _Canis_Major_figs[] = {
1815 { 0, 13322, -1758}, /* move eta */
1816 { 1, 12851, -1583}, /* draw delta */
1817 { 1, 12690, -1430}, /* draw omicron2 */
1818 { 1, 12154, -1002}, /* draw alpha */
1819 { 1, 11481, -1077}, /* draw beta */
1820 { 1, 11900, -1155}, /* draw nu2 */
1821 { 1, 12423, -1451}, /* draw omicron1 */
1822 { 1, 12558, -1738}, /* draw epsilon */
1823 { 1, 12651, -1676}, /* draw sigma */
1824 { 1, 12851, -1583}, /* draw delta */
1825 { 0, 12154, -1002}, /* move alpha */
1826 { 2, 12484, -1023}, /* dotted iota */
1827 { 2, 12712, -938}, /* dotted gamma */
1828 { 2, 12483, -842}, /* dotted mu */
1829 { 2, 12484, -1023}, /* dotted iota */
1830 {-1, 0, 0},
1831};
1832
1833/* Canis Minor */
1834static ConFig _Canis_Minor_figs[] = {
1835 { 0, 13779, 313}, /* move alpha */
1836 { 1, 13414, 497}, /* draw beta */
1837 {-1, 0, 0},
1838};
1839
1840/* Capricornus */
1841static ConFig _Capricornus_figs[] = {
1842 { 0, 36529, -750}, /* move alpha1 */
1843 { 1, 36630, -886}, /* draw beta */
1844 { 1, 37382, -1516}, /* draw psi */
1845 { 1, 37554, -1615}, /* draw omega */
1846 { 1, 38013, -1500}, /* draw 24 */
1847 { 1, 38600, -1344}, /* draw zeta */
1848 { 1, 38912, -1167}, /* draw epsilon */
1849 { 1, 39211, -967}, /* draw delta */
1850 { 1, 39002, -999}, /* draw gamma */
1851 { 1, 38467, -1010}, /* draw iota */
1852 { 1, 37978, -1033}, /* draw theta */
1853 { 1, 36529, -750}, /* draw alpha1 */
1854 {-1, 0, 0},
1855};
1856
1857/* Carina */
1858static ConFig _Carina_figs[] = {
1859 { 0, 11518, -3161}, /* move canopus */
1860 { 1, 16596, -4183}, /* draw beta */
1861 { 1, 18412, -4202}, /* draw omega */
1862 { 1, 19288, -3863}, /* draw theta */
1863 { 1, 19996, -3745}, /* draw 11:06:32 -62:25:27 */
1864 { 1, 20178, -3619}, /* draw 11:12:36 -60:19:03 */
1865 { 1, 20057, -3538}, /* draw 11:08:35 -58:58:30 */
1866 { 1, 19605, -3531}, /* draw 10:53:30 -58:51:12 */
1867 { 1, 19351, -3581}, /* draw eta */
1868 { 1, 18960, -3701}, /* draw 10:32:01 -61:41:07 */
1869 { 1, 19288, -3863}, /* draw theta */
1870 { 0, 18960, -3701}, /* move 10:32:01 -61:41:07 */
1871 { 1, 18512, -3679}, /* draw 10:17:05 -61:19:56 */
1872 { 1, 16712, -3556}, /* draw iota */
1873 { 1, 15741, -3282}, /* draw delta vel */
1874 { 0, 16712, -3556}, /* move iota */
1875 { 1, 15075, -3570}, /* draw epsilon */
1876 { 1, 14303, -3178}, /* draw chi */
1877 { 1, 14686, -2840}, /* draw gamma2 vel */
1878 {-1, 0, 0},
1879};
1880
1881/* Cassiopeia */
1882static ConFig _Cassiopeia_figs[] = {
1883 { 0, 275, 3548}, /* move beta */
1884 { 1, 1215, 3392}, /* draw alpha */
1885 { 1, 1701, 3643}, /* draw gamma */
1886 { 1, 2574, 3614}, /* draw delta */
1887 { 1, 3431, 3820}, /* draw epsilon */
1888 {-1, 0, 0},
1889};
1890
1891/* Centaurus */
1892static ConFig _Centaurus_figs[] = {
1893 { 0, 26387, -3650}, /* move alpha1 */
1894 { 1, 25314, -3622}, /* draw hadar (agena) */
1895 { 1, 24596, -3207}, /* draw epsilon */
1896 { 1, 25066, -2837}, /* draw zeta */
1897 { 1, 25251, -2736}, /* draw upsilon2 */
1898 { 1, 25160, -2688}, /* draw upsilon1 */
1899 { 1, 25148, -2526}, /* draw phi */
1900 { 1, 26265, -2529}, /* draw eta */
1901 { 1, 26974, -2526}, /* draw kappa */
1902 { 0, 25148, -2526}, /* move phi */
1903 { 1, 25381, -2470}, /* draw chi */
1904 { 1, 25816, -2273}, /* draw psi */
1905 { 1, 25400, -2182}, /* draw theta */
1906 { 1, 24885, -2501}, /* draw nu */
1907 { 1, 24331, -2364}, /* draw 24331 -2364 */
1908 { 1, 24017, -2202}, /* draw iota */
1909 { 1, 23203, -2410}, /* draw 23203 -2410 */
1910 { 0, 24885, -2501}, /* move nu */
1911 { 1, 24888, -2548}, /* draw mu */
1912 { 1, 25066, -2837}, /* draw zeta */
1913 { 1, 22845, -2937}, /* draw gamma */
1914 { 1, 24596, -3207}, /* draw epsilon */
1915 { 0, 22845, -2937}, /* move gamma */
1916 { 1, 22441, -3013}, /* draw sigma */
1917 { 1, 21949, -3142}, /* draw rho */
1918 { 1, 21195, -3670}, /* draw 21195 -3670 */
1919 { 1, 20873, -3781}, /* draw lambda */
1920 { 0, 22441, -3013}, /* move sigma */
1921 { 1, 21850, -3043}, /* draw delta */
1922 { 1, 20430, -3269}, /* draw pi */
1923 {-1, 0, 0},
1924};
1925
1926/* Cepheus */
1927static ConFig _Cepheus_figs[] = {
1928 { 0, 38357, 3755}, /* move alpha */
1929 { 1, 38659, 4233}, /* draw beta */
1930 { 1, 42580, 4657}, /* draw gamma */
1931 { 1, 41090, 3972}, /* draw iota */
1932 { 1, 42580, 4657}, /* draw gamma */
1933 { 0, 41090, 3972}, /* move iota */
1934 { 1, 39925, 3492}, /* draw zeta */
1935 { 1, 39163, 3667}, /* draw nu */
1936 { 1, 39105, 3526}, /* draw mu */
1937 { 1, 38357, 3755}, /* draw alpha */
1938 { 1, 37358, 3710}, /* draw eta */
1939 { 1, 36887, 3779}, /* draw theta */
1940 {-1, 0, 0},
1941};
1942
1943/* Cetus */
1944static ConFig _Cetus_figs[] = {
1945 { 0, 4899, 194}, /* move gamma */
1946 { 1, 5468, 245}, /* draw alpha */
1947 { 1, 5391, 534}, /* draw lambda */
1948 { 1, 4948, 606}, /* draw mu */
1949 { 1, 4444, 507}, /* draw xi2 */
1950 { 1, 4676, 335}, /* draw nu */
1951 { 1, 4899, 194}, /* draw gamma */
1952 { 1, 4784, 19}, /* draw delta */
1953 { 1, 4180, -178}, /* draw mira */
1954 { 1, 3343, -620}, /* draw zeta */
1955 { 1, 2520, -491}, /* draw theta */
1956 { 1, 2057, -610}, /* draw eta */
1957 { 1, 582, -529}, /* draw iota */
1958 { 1, 1307, -1079}, /* draw beta */
1959 { 1, 3122, -956}, /* draw tau */
1960 { 1, 3343, -620}, /* draw zeta */
1961 {-1, 0, 0},
1962};
1963
1964/* Chamaeleon */
1965static ConFig _Chamaeleon_figs[] = {
1966 { 0, 14955, -4615}, /* move alpha */
1967 { 1, 15019, -4649}, /* draw theta */
1968 { 1, 19064, -4716}, /* draw gamma */
1969 { 1, 21588, -4693}, /* draw epsilon */
1970 { 1, 22150, -4758}, /* draw beta */
1971 { 1, 19357, -4828}, /* draw delta1 */
1972 { 1, 19064, -4716}, /* draw gamma */
1973 {-1, 0, 0},
1974};
1975
1976/* Circinus */
1977static ConFig _Circinus_figs[] = {
1978 { 0, 27525, -3528}, /* move beta */
1979 { 1, 26475, -3898}, /* draw alpha */
1980 { 1, 27701, -3559}, /* draw gamma */
1981 {-1, 0, 0},
1982};
1983
1984/* Columba */
1985static ConFig _Columba_figs[] = {
1986 { 0, 9936, -2128}, /* move epsilon */
1987 { 1, 10189, -2044}, /* draw alpha */
1988 { 1, 10528, -2146}, /* draw beta */
1989 { 1, 10726, -2117}, /* draw gamma */
1990 { 1, 11463, -2006}, /* draw delta */
1991 { 0, 10528, -2146}, /* move beta */
1992 { 1, 10774, -2568}, /* draw eta */
1993 {-1, 0, 0},
1994};
1995
1996/* Coma Berenices */
1997static ConFig _Coma_Berenices_figs[] = {
1998 { 0, 23699, 1051}, /* move alpha */
1999 { 2, 23756, 1672}, /* dotted beta */
2000 { 2, 22408, 1696}, /* dotted gamma */
2001 {-1, 0, 0},
2002};
2003
2004/* Corona Australis */
2005static ConFig _Corona_Australis_figs[] = {
2006 { 0, 34392, -2223}, /* move gamma */
2007 { 1, 34484, -2274}, /* draw alpha */
2008 { 1, 34500, -2360}, /* draw beta */
2009 { 1, 34450, -2429}, /* draw delta */
2010 { 1, 33405, -2538}, /* draw theta */
2011 {-1, 0, 0},
2012};
2013
2014/* Corona Borealis */
2015static ConFig _Corona_Borealis_figs[] = {
2016 { 0, 27987, 1881}, /* move theta */
2017 { 1, 27834, 1746}, /* draw beta */
2018 { 1, 28040, 1602}, /* draw alpha */
2019 { 1, 28282, 1577}, /* draw gamma */
2020 { 1, 28487, 1564}, /* draw delta */
2021 { 1, 28727, 1612}, /* draw epsilon */
2022 { 1, 28843, 1791}, /* draw iota */
2023 {-1, 0, 0},
2024};
2025
2026/* Corvus */
2027static ConFig _Corvus_figs[] = {
2028 { 0, 21852, -1483}, /* move alpha */
2029 { 1, 21903, -1357}, /* draw epsilon */
2030 { 1, 22631, -1403}, /* draw beta */
2031 { 1, 22495, -990}, /* draw delta */
2032 { 1, 22074, -1052}, /* draw gamma */
2033 { 1, 21903, -1357}, /* draw epsilon */
2034 {-1, 0, 0},
2035};
2036
2037/* Crater */
2038static ConFig _Crater_figs[] = {
2039 { 0, 21480, -1029}, /* move eta */
2040 { 1, 21142, -1101}, /* draw zeta */
2041 { 1, 20546, -1061}, /* draw gamma */
2042 { 1, 20500, -1126}, /* draw lambda */
2043 { 1, 20149, -1369}, /* draw beta */
2044 { 1, 19793, -1097}, /* draw alpha */
2045 { 1, 20380, -886}, /* draw delta */
2046 { 1, 20546, -1061}, /* draw gamma */
2047 { 0, 20380, -886}, /* move delta */
2048 { 1, 20538, -651}, /* draw epsilon */
2049 { 1, 20900, -588}, /* draw theta */
2050 {-1, 0, 0},
2051};
2052
2053/* Crux */
2054static ConFig _Crux_figs[] = {
2055 { 0, 22397, -3785}, /* move alpha1 */
2056 { 1, 22534, -3426}, /* draw gamma */
2057 { 0, 23031, -3581}, /* move beta */
2058 { 1, 22054, -3524}, /* draw delta */
2059 {-1, 0, 0},
2060};
2061
2062/* Cygnus */
2063static ConFig _Cygnus_figs[] = {
2064 { 0, 35121, 1677}, /* move beta1 */
2065 { 1, 35716, 1974}, /* draw chi */
2066 { 1, 35889, 2105}, /* draw eta */
2067 { 1, 36666, 2415}, /* draw gamma */
2068 { 1, 37386, 2038}, /* draw epsilon */
2069 { 2, 38188, 1813}, /* dotted zeta */
2070 { 2, 37715, 2470}, /* dotted nu */
2071 { 2, 37242, 2716}, /* dotted deneb */
2072 { 1, 36666, 2415}, /* draw gamma */
2073 { 1, 35549, 2707}, /* draw delta */
2074 { 2, 35091, 3103}, /* dotted iota */
2075 { 2, 34713, 3202}, /* dotted kappa */
2076 { 0, 35091, 3103}, /* move iota */
2077 { 2, 36464, 2862}, /* dotted 32 */
2078 { 2, 37242, 2716}, /* dotted deneb */
2079 {-1, 0, 0},
2080};
2081
2082/* Delphinus */
2083static ConFig _Delphinus_figs[] = {
2084 { 0, 36996, 678}, /* move epsilon */
2085 { 1, 37018, 781}, /* draw eta */
2086 { 1, 37126, 875}, /* draw beta */
2087 { 1, 37303, 904}, /* draw delta */
2088 { 1, 37399, 967}, /* draw gamma1 */
2089 { 1, 37189, 954}, /* draw alpha */
2090 { 1, 37126, 875}, /* draw beta */
2091 {-1, 0, 0},
2092};
2093
2094/* Dorado */
2095static ConFig _Dorado_figs[] = {
2096 { 0, 7680, -3089}, /* move gamma */
2097 { 1, 8219, -3302}, /* draw alpha */
2098 { 1, 10008, -3749}, /* draw beta */
2099 { 1, 10343, -3944}, /* draw delta */
2100 { 1, 10623, -3785}, /* draw 5:54:06 -63:05:23 */
2101 { 1, 10008, -3749}, /* draw beta */
2102 { 1, 9165, -3448}, /* draw zeta */
2103 { 1, 8219, -3302}, /* draw alpha */
2104 {-1, 0, 0},
2105};
2106
2107/* Draco */
2108static ConFig _Draco_figs[] = {
2109 { 0, 20742, 4159}, /* move lambda */
2110 { 1, 22604, 4187}, /* draw kappa */
2111 { 1, 25331, 3862}, /* draw alpha */
2112 { 1, 27747, 3537}, /* draw iota */
2113 { 1, 28856, 3513}, /* draw theta */
2114 { 1, 29519, 3690}, /* draw eta */
2115 { 1, 30863, 3942}, /* draw zeta */
2116 { 1, 33022, 4280}, /* draw phi */
2117 { 1, 33031, 4363}, /* draw chi */
2118 { 0, 33022, 4280}, /* move phi */
2119 { 1, 34576, 4059}, /* draw delta */
2120 { 1, 35645, 4216}, /* draw epsilon */
2121 { 0, 34576, 4059}, /* move delta */
2122 { 1, 32205, 3412}, /* draw xi */
2123 { 1, 31565, 3311}, /* draw nu1 */
2124 { 1, 31513, 3138}, /* draw beta */
2125 { 1, 32298, 3089}, /* draw gamma */
2126 { 1, 32205, 3412}, /* draw xi */
2127 {-1, 0, 0},
2128};
2129
2130/* Equuleus */
2131static ConFig _Equuleus_figs[] = {
2132 { 0, 38110, 607}, /* move gamma */
2133 { 2, 38234, 600}, /* dotted delta */
2134 { 2, 38274, 314}, /* dotted alpha */
2135 {-1, 0, 0},
2136};
2137
2138/* Eridanus */
2139static ConFig _Eridanus_figs[] = {
2140 { 0, 9235, -305}, /* move beta */
2141 { 1, 8786, -327}, /* draw omega */
2142 { 1, 8565, -195}, /* draw mu */
2143 { 1, 8289, -201}, /* draw nu */
2144 { 1, 7555, -410}, /* draw omicron1 */
2145 { 1, 7140, -810}, /* draw gamma */
2146 { 1, 6784, -726}, /* draw pi */
2147 { 1, 6697, -585}, /* draw delta */
2148 { 1, 6387, -567}, /* draw epsilon */
2149 { 1, 5292, -533}, /* draw eta */
2150 { 1, 4923, -831}, /* draw cet pi */
2151 { 1, 4953, -1114}, /* draw tau1 */
2152 { 1, 5471, -1417}, /* draw tau3 */
2153 { 1, 5985, -1305}, /* draw tau4 */
2154 { 1, 6413, -1297}, /* draw tau5 */
2155 { 1, 6805, -1394}, /* draw tau6 */
2156 { 1, 7011, -1476}, /* draw tau8 */
2157 { 1, 7197, -1440}, /* draw tau9 */
2158 { 1, 8205, -1786}, /* draw upsilon1 */
2159 { 1, 8266, -1833}, /* draw upsilon2 */
2160 { 1, 7921, -2041}, /* draw 43 */
2161 { 1, 7736, -2027}, /* draw upsilon4 */
2162 { 1, 6883, -2172}, /* draw 3:49:27 -36:12:01 */
2163 { 1, 6685, -2238}, /* draw 3:42:50 -37:18:49 */
2164 { 1, 6513, -2416}, /* draw 3:37:06 -40:16:29 */
2165 { 1, 5998, -2584}, /* draw 3:19:56 -43:04:11 */
2166 { 1, 5348, -2418}, /* draw theta2 */
2167 { 1, 4820, -2391}, /* draw iota */
2168 { 1, 4794, -2573}, /* draw 4794 -2573 */
2169 { 1, 4409, -2862}, /* draw kappa */
2170 { 1, 4095, -3090}, /* draw phi */
2171 { 1, 3478, -3096}, /* draw chi */
2172 { 1, 2931, -3434}, /* draw achernar */
2173 {-1, 0, 0},
2174};
2175
2176/* Fornax */
2177static ConFig _Fornax_figs[] = {
2178 { 0, 5762, -1739}, /* move alpha */
2179 { 1, 5072, -1944}, /* draw beta */
2180 { 1, 3734, -1757}, /* draw nu */
2181 {-1, 0, 0},
2182};
2183
2184/* Gemini */
2185static ConFig _Gemini_figs[] = {
2186 { 0, 10923, 1395}, /* move gem 1 */
2187 { 1, 11246, 1350}, /* draw gem eta */
2188 { 1, 11488, 1350}, /* draw gem mu */
2189 { 1, 12117, 1507}, /* draw gem epsilon */
2190 { 1, 12934, 1814}, /* draw gem tau */
2191 { 1, 13473, 1907}, /* draw gem rho */
2192 { 1, 13638, 1913}, /* draw castor */
2193 { 0, 13959, 1681}, /* move pollux */
2194 { 1, 13677, 1613}, /* draw gem upsilon */
2195 { 1, 13203, 1318}, /* draw gem delta */
2196 { 1, 12723, 1234}, /* draw gem zeta */
2197 { 1, 11931, 983}, /* draw gem gamma */
2198 { 0, 12383, 2037}, /* move gem theta */
2199 { 1, 12934, 1814}, /* draw gem tau */
2200 { 1, 13336, 1658}, /* draw gem 59 */
2201 { 1, 13677, 1613}, /* draw gem upsilon */
2202 { 1, 13933, 1463}, /* draw gem kappa */
2203 { 0, 13203, 1318}, /* move gem delta */
2204 { 1, 13142, 992}, /* draw gem lambda */
2205 { 1, 13001, 969}, /* draw gem 51 */
2206 { 1, 13001, 969}, /* draw gem 51 */
2207 { 1, 12158, 773}, /* draw gem xi */
2208 { 0, 12117, 1507}, /* move gem epsilon */
2209 { 1, 11668, 1212}, /* draw gem nu */
2210 {-1, 0, 0},
2211};
2212
2213/* Grus */
2214static ConFig _Grus_figs[] = {
2215 { 0, 39417, -2241}, /* move gamma */
2216 { 1, 39783, -2372}, /* draw lambda */
2217 { 1, 40478, -2609}, /* draw delta1 */
2218 { 1, 40880, -2813}, /* draw beta */
2219 { 1, 41056, -3079}, /* draw epsilon */
2220 { 1, 41426, -3165}, /* draw zeta */
2221 { 0, 40880, -2813}, /* move beta */
2222 { 1, 39847, -2817}, /* draw alpha */
2223 { 1, 40478, -2609}, /* draw delta1 */
2224 {-1, 0, 0},
2225};
2226
2227/* Hercules */
2228static ConFig _Hercules_figs[] = {
2229 { 0, 28580, 2547}, /* move chi */
2230 { 1, 29063, 2696}, /* draw phi */
2231 { 1, 29392, 2778}, /* draw tau */
2232 { 1, 29823, 2546}, /* draw sigma */
2233 { 1, 30086, 2335}, /* draw eta */
2234 { 1, 30038, 1896}, /* draw zeta */
2235 { 1, 29706, 1289}, /* draw beta */
2236 { 1, 29457, 1149}, /* draw gamma */
2237 { 1, 29562, 842}, /* draw omega */
2238 { 1, 29778, 689}, /* draw 29 */
2239 { 0, 29706, 1289}, /* move beta */
2240 { 1, 31039, 863}, /* draw alpha */
2241 { 1, 31050, 1490}, /* draw delta */
2242 { 1, 30608, 1855}, /* draw epsilon */
2243 { 1, 30038, 1896}, /* draw zeta */
2244 { 0, 31050, 1490}, /* move delta */
2245 { 1, 31522, 1566}, /* draw lambda */
2246 { 1, 31993, 1663}, /* draw mu */
2247 { 1, 32332, 1754}, /* draw xi */
2248 { 1, 32626, 1725}, /* draw omicron */
2249 { 0, 30608, 1855}, /* move epsilon */
2250 { 1, 31051, 2208}, /* draw pi */
2251 { 1, 30086, 2335}, /* draw eta */
2252 { 0, 31051, 2208}, /* move pi */
2253 { 1, 32287, 2235}, /* draw theta */
2254 { 1, 31783, 2760}, /* draw iota */
2255 {-1, 0, 0},
2256};
2257
2258/* Horologium */
2259static ConFig _Horologium_figs[] = {
2260 { 0, 7620, -2537}, /* move alpha */
2261 { 1, 4876, -3048}, /* draw iota */
2262 { 1, 4722, -3152}, /* draw eta */
2263 { 1, 4819, -3273}, /* draw zeta */
2264 { 1, 5508, -3584}, /* draw mu */
2265 { 1, 5363, -3844}, /* draw beta */
2266 {-1, 0, 0},
2267};
2268
2269/* Hydra */
2270static ConFig _Hydra_figs[] = {
2271 { 0, 26708, -1677}, /* move 58 */
2272 { 1, 25391, -1600}, /* draw pi */
2273 { 1, 23967, -1390}, /* draw gamma */
2274 { 1, 21387, -2034}, /* draw beta */
2275 { 1, 20790, -1911}, /* draw xi */
2276 { 1, 20149, -1369}, /* draw crt beta */
2277 { 1, 19793, -1097}, /* draw crt alpha */
2278 { 1, 19488, -971}, /* draw nu */
2279 { 1, 18782, -1010}, /* draw mu */
2280 { 1, 18317, -741}, /* draw lambda */
2281 { 1, 18153, -783}, /* draw upsilon2 */
2282 { 1, 17744, -890}, /* draw upsilon1 */
2283 { 1, 17027, -519}, /* draw alpha */
2284 { 1, 17395, -68}, /* draw iota */
2285 { 1, 16630, 138}, /* draw theta */
2286 { 1, 16061, 356}, /* draw zeta */
2287 { 1, 15803, 385}, /* draw epsilon */
2288 { 1, 15529, 342}, /* draw delta */
2289 { 1, 15562, 200}, /* draw sigma */
2290 { 1, 15696, 203}, /* draw eta */
2291 { 1, 15853, 350}, /* draw rho */
2292 { 1, 15803, 385}, /* draw epsilon */
2293 {-1, 0, 0},
2294};
2295
2296/* Hydrus */
2297static ConFig _Hydrus_figs[] = {
2298 { 0, 6817, -4454}, /* move gamma */
2299 { 1, 772, -4635}, /* draw beta */
2300 { 1, 3563, -3694}, /* draw alpha */
2301 { 1, 6817, -4454}, /* draw gamma */
2302 {-1, 0, 0},
2303};
2304
2305/* Indus */
2306static ConFig _Indus_figs[] = {
2307 { 0, 37644, -3507}, /* move beta */
2308 { 2, 37321, -3115}, /* dotted eta */
2309 { 2, 37127, -2837}, /* dotted alpha */
2310 { 2, 38396, -3206}, /* dotted theta */
2311 { 2, 39537, -3299}, /* dotted delta */
2312 {-1, 0, 0},
2313};
2314
2315/* Lacerta */
2316static ConFig _Lacerta_figs[] = {
2317 { 0, 40079, 2264}, /* move 1 */
2318 { 2, 40016, 2382}, /* dotted 22:13:53 39:42:53 */
2319 { 2, 40514, 2587}, /* dotted 6 */
2320 { 2, 40815, 2656}, /* dotted 11 */
2321 { 2, 40485, 2862}, /* dotted 5 */
2322 { 2, 40538, 3016}, /* dotted alpha */
2323 { 2, 40306, 3133}, /* dotted beta */
2324 { 2, 40335, 2968}, /* dotted 4 */
2325 { 2, 40485, 2862}, /* dotted 5 */
2326 { 2, 40230, 2792}, /* dotted 2 */
2327 { 2, 40514, 2587}, /* dotted 6 */
2328 {-1, 0, 0},
2329};
2330
2331/* Leo */
2332static ConFig _Leo_figs[] = {
2333 { 0, 18251, 718}, /* move regulus */
2334 { 1, 18220, 1005}, /* draw eta */
2335 { 1, 18599, 1190}, /* draw gamma1 */
2336 { 1, 18500, 1405}, /* draw zeta */
2337 { 1, 17782, 1560}, /* draw mu */
2338 { 1, 16939, 1570}, /* draw kappa */
2339 { 1, 17151, 1378}, /* draw lambda */
2340 { 1, 17575, 1426}, /* draw epsilon */
2341 { 1, 17782, 1560}, /* draw mu */
2342 { 0, 17575, 1426}, /* move epsilon */
2343 { 1, 18220, 1005}, /* draw eta */
2344 { 1, 20227, 925}, /* draw theta */
2345 { 1, 20517, 631}, /* draw iota */
2346 { 1, 20434, 361}, /* draw sigma */
2347 { 0, 20227, 925}, /* move theta */
2348 { 1, 21271, 874}, /* draw beta */
2349 { 1, 20223, 1231}, /* draw delta */
2350 { 1, 20227, 925}, /* draw theta */
2351 { 0, 20223, 1231}, /* move delta */
2352 { 1, 18599, 1190}, /* draw gamma1 */
2353 {-1, 0, 0},
2354};
2355
2356/* Leo Minor */
2357static ConFig _Leo_Minor_figs[] = {
2358 { 0, 17226, 2183}, /* move 10 */
2359 { 2, 18222, 2114}, /* dotted 21 */
2360 { 2, 18777, 2027}, /* dotted 30 */
2361 { 2, 19599, 2052}, /* dotted 46 */
2362 { 2, 18836, 2202}, /* dotted beta */
2363 { 2, 18222, 2114}, /* dotted 21 */
2364 {-1, 0, 0},
2365};
2366
2367/* Lepus */
2368static ConFig _Lepus_figs[] = {
2369 { 0, 9396, -776}, /* move kappa */
2370 { 1, 9387, -972}, /* draw mu */
2371 { 1, 9587, -790}, /* draw lambda */
2372 { 0, 9981, -1069}, /* move alpha */
2373 { 1, 9847, -1245}, /* draw beta */
2374 { 1, 10333, -1346}, /* draw gamma */
2375 { 1, 10539, -1252}, /* draw delta */
2376 { 1, 10984, -896}, /* draw theta */
2377 { 1, 10692, -850}, /* draw eta */
2378 { 1, 10408, -889}, /* draw zeta */
2379 { 1, 9981, -1069}, /* draw alpha */
2380 { 1, 9387, -972}, /* draw mu */
2381 { 1, 9163, -1342}, /* draw epsilon */
2382 { 1, 9847, -1245}, /* draw beta */
2383 {-1, 0, 0},
2384};
2385
2386/* Libra */
2387static ConFig _Libra_figs[] = {
2388 { 0, 27122, -1516}, /* move sigma */
2389 { 1, 26726, -962}, /* draw alpha2 */
2390 { 1, 27510, -562}, /* draw beta */
2391 { 1, 28065, -887}, /* draw gamma */
2392 { 1, 26726, -962}, /* draw alpha2 */
2393 { 0, 28065, -887}, /* move gamma */
2394 { 1, 28110, -1688}, /* draw upsilon */
2395 { 1, 28159, -1786}, /* draw tau */
2396 {-1, 0, 0},
2397};
2398
2399/* Lupus */
2400static ConFig _Lupus_figs[] = {
2401 { 0, 26955, -2588}, /* move beta */
2402 { 1, 27641, -2438}, /* draw delta */
2403 { 1, 28054, -2470}, /* draw gamma */
2404 { 1, 28803, -2303}, /* draw eta */
2405 { 1, 28528, -2017}, /* draw chi */
2406 { 1, 27654, -2175}, /* draw phi1 */
2407 { 1, 28803, -2303}, /* draw eta */
2408 { 1, 27368, -3125}, /* draw zeta */
2409 { 1, 26457, -2843}, /* draw alpha */
2410 { 0, 27368, -3125}, /* move zeta */
2411 { 1, 27556, -2872}, /* draw mu */
2412 { 1, 27680, -2681}, /* draw epsilon */
2413 { 1, 28054, -2470}, /* draw gamma */
2414 {-1, 0, 0},
2415};
2416
2417/* Lynx */
2418static ConFig _Lynx_figs[] = {
2419 { 0, 16831, 2063}, /* move alpha */
2420 { 2, 16765, 2208}, /* dotted 38 */
2421 { 2, 16396, 2307}, /* dotted 9:06:32 38:27:08 */
2422 { 2, 16219, 2506}, /* dotted 9:00:38 41:46:58 */
2423 { 2, 15085, 2591}, /* dotted 31 */
2424 { 2, 13401, 2952}, /* dotted 21 */
2425 { 2, 12518, 3505}, /* dotted 15 */
2426 { 2, 11388, 3540}, /* dotted 2 */
2427 {-1, 0, 0},
2428};
2429
2430/* Lyra */
2431static ConFig _Lyra_figs[] = {
2432 { 0, 33743, 2256}, /* move zeta1 */
2433 { 1, 33730, 2380}, /* draw epsilon1 */
2434 { 1, 33508, 2327}, /* draw vega */
2435 { 1, 33743, 2256}, /* draw zeta1 */
2436 { 1, 33902, 2001}, /* draw beta */
2437 { 1, 34168, 1961}, /* draw gamma */
2438 { 1, 34035, 2213}, /* draw delta2 */
2439 { 1, 33743, 2256}, /* draw zeta1 */
2440 {-1, 0, 0},
2441};
2442
2443/* Mensa */
2444static ConFig _Mensa_figs[] = {
2445 { 0, 11107, -4485}, /* move alpha */
2446 { 2, 9956, -4580}, /* dotted gamma */
2447 { 2, 8855, -4496}, /* dotted eta */
2448 { 2, 9081, -4278}, /* dotted beta */
2449 {-1, 0, 0},
2450};
2451
2452/* Microscopium */
2453static ConFig _Microscopium_figs[] = {
2454 { 0, 38422, -2448}, /* move theta1 */
2455 { 2, 38338, -1930}, /* dotted epsilon */
2456 { 2, 37838, -1935}, /* dotted gamma */
2457 { 2, 37499, -2026}, /* dotted alpha */
2458 {-1, 0, 0},
2459};
2460
2461/* Monoceros */
2462static ConFig _Monoceros_figs[] = {
2463 { 0, 12029, 593}, /* move 15 */
2464 { 2, 11787, 439}, /* dotted 13 */
2465 { 2, 11513, 275}, /* dotted epsilon */
2466 { 2, 12235, 144}, /* dotted 18 */
2467 { 2, 11787, 439}, /* dotted 13 */
2468 { 0, 12235, 144}, /* move 18 */
2469 { 2, 12955, -29}, /* dotted delta */
2470 { 2, 11664, -422}, /* dotted beta */
2471 { 1, 11245, -376}, /* draw gamma */
2472 { 0, 12955, -29}, /* move delta */
2473 { 2, 13837, -573}, /* dotted alpha */
2474 { 2, 14657, -179}, /* dotted zeta */
2475 {-1, 0, 0},
2476};
2477
2478/* Musca */
2479static ConFig _Musca_figs[] = {
2480 { 0, 21168, -4003}, /* move lambda */
2481 { 1, 22127, -4077}, /* draw epsilon */
2482 { 1, 22715, -4148}, /* draw alpha */
2483 { 1, 22574, -4327}, /* draw gamma */
2484 { 1, 23468, -4292}, /* draw delta */
2485 { 1, 22988, -4086}, /* draw beta */
2486 {-1, 0, 0},
2487};
2488
2489/* Norma */
2490static ConFig _Norma_figs[] = {
2491 { 0, 29615, -2853}, /* move epsilon */
2492 { 1, 29310, -3004}, /* draw gamma1 */
2493 { 1, 29395, -3009}, /* draw gamma2 */
2494 { 1, 28896, -2953}, /* draw eta */
2495 { 1, 28994, -2710}, /* draw delta */
2496 { 1, 29615, -2853}, /* draw epsilon */
2497 {-1, 0, 0},
2498};
2499
2500/* Octans */
2501static ConFig _Octans_figs[] = {
2502 { 0, 26007, -5020}, /* move delta */
2503 { 1, 39044, -4643}, /* draw nu */
2504 { 1, 40200, -4826}, /* draw epsilon */
2505 { 1, 40981, -4882}, /* draw beta */
2506 { 1, 26007, -5020}, /* draw delta */
2507 {-1, 0, 0},
2508};
2509
2510/* Ophiuchus */
2511static ConFig _Ophiuchus_figs[] = {
2512 { 0, 31420, -1792}, /* move 45 */
2513 { 1, 31260, -1499}, /* draw theta */
2514 { 1, 30911, -943}, /* draw eta */
2515 { 1, 29914, -634}, /* draw zeta */
2516 { 1, 29734, -996}, /* draw phi */
2517 { 1, 29610, -1107}, /* draw chi */
2518 { 1, 29523, -1202}, /* draw psi */
2519 { 1, 29567, -1406}, /* draw rho */
2520 { 0, 29914, -634}, /* move zeta */
2521 { 1, 29634, -502}, /* draw upsilon */
2522 { 1, 29349, -281}, /* draw epsilon */
2523 { 1, 29230, -221}, /* draw delta */
2524 { 1, 29727, 119}, /* draw lambda */
2525 { 1, 30530, 562}, /* draw kappa */
2526 { 1, 29914, -634}, /* draw zeta */
2527 { 0, 30530, 562}, /* move kappa */
2528 { 1, 31648, 753}, /* draw alpha */
2529 { 1, 31904, 274}, /* draw beta */
2530 { 1, 30911, -943}, /* draw eta */
2531 { 0, 31904, 274}, /* move beta */
2532 { 1, 32036, 162}, /* draw gamma */
2533 { 1, 32370, -586}, /* draw nu */
2534 {-1, 0, 0},
2535};
2536
2537/* Orion */
2538static ConFig _Orion_figs[] = {
2539 { 0, 11158, 852}, /* move xi */
2540 { 1, 11027, 886}, /* draw nu */
2541 { 1, 10631, 1216}, /* draw chi1 */
2542 { 1, 10917, 1208}, /* draw chi2 */
2543 { 1, 11158, 852}, /* draw xi */
2544 { 1, 10871, 578}, /* draw mu */
2545 { 1, 10655, 444}, /* draw betelgeuse */
2546 { 1, 9753, 380}, /* draw gamma */
2547 { 1, 10054, 596}, /* draw lambda */
2548 { 1, 10655, 444}, /* draw betelgeuse */
2549 { 1, 10222, -116}, /* draw zeta */
2550 { 1, 10432, -580}, /* draw kappa */
2551 { 0, 10222, -116}, /* move zeta */
2552 { 1, 10086, -72}, /* draw epsilon */
2553 { 1, 9960, -17}, /* draw delta */
2554 { 1, 9734, -143}, /* draw eta */
2555 { 1, 9436, -492}, /* draw rigel */
2556 { 0, 9960, -17}, /* move delta */
2557 { 1, 9753, 380}, /* draw gamma */
2558 { 1, 8695, 417}, /* draw pi3 */
2559 { 1, 8736, 336}, /* draw pi4 */
2560 { 1, 8827, 146}, /* draw pi5 */
2561 { 1, 8956, 102}, /* draw pi6 */
2562 { 0, 8695, 417}, /* move pi3 */
2563 { 1, 8718, 534}, /* draw pi2 */
2564 { 1, 8846, 609}, /* draw pi1 */
2565 { 1, 8891, 810}, /* draw omicron2 */
2566 { 1, 9137, 924}, /* draw 11 */
2567 {-1, 0, 0},
2568};
2569
2570/* Pavo */
2571static ConFig _Pavo_figs[] = {
2572 { 0, 36017, -4374}, /* move epsilon */
2573 { 1, 36261, -3970}, /* draw delta */
2574 { 1, 33691, -4285}, /* draw zeta */
2575 { 0, 31971, -3883}, /* move eta */
2576 { 1, 32657, -3820}, /* draw pi */
2577 { 1, 33096, -3689}, /* draw xi */
2578 { 1, 33966, -3731}, /* draw lambda */
2579 { 1, 36261, -3970}, /* draw delta */
2580 { 1, 36769, -3404}, /* draw alpha */
2581 { 1, 38593, -3921}, /* draw gamma */
2582 { 1, 37348, -3972}, /* draw beta */
2583 { 1, 36261, -3970}, /* draw delta */
2584 { 1, 34108, -4034}, /* draw kappa */
2585 { 1, 32657, -3820}, /* draw pi */
2586 {-1, 0, 0},
2587};
2588
2589/* Pegasus */
2590static ConFig _Pegasus_figs[] = {
2591 { 0, 39125, 592}, /* move epsilon */
2592 { 1, 39906, 371}, /* draw theta */
2593 { 1, 40843, 649}, /* draw zeta */
2594 { 1, 41542, 912}, /* draw alpha */
2595 { 1, 397, 911}, /* draw gamma */
2596 { 1, 251, 1745}, /* draw and alpha */
2597 { 1, 41513, 1684}, /* draw beta */
2598 { 1, 41542, 912}, /* draw alpha */
2599 { 0, 39899, 1990}, /* move pi2 */
2600 { 1, 40890, 1813}, /* draw eta */
2601 { 1, 41513, 1684}, /* draw beta */
2602 { 1, 41100, 1476}, /* draw mu */
2603 { 1, 40995, 1413}, /* draw lambda */
2604 { 1, 39810, 1520}, /* draw iota */
2605 { 1, 39139, 1538}, /* draw kappa */
2606 {-1, 0, 0},
2607};
2608
2609/* Perseus */
2610static ConFig _Perseus_figs[] = {
2611 { 0, 3109, 3041}, /* move phi */
2612 { 1, 4926, 2953}, /* draw theta */
2613 { 1, 5672, 2976}, /* draw iota */
2614 { 1, 5684, 2691}, /* draw kappa */
2615 { 1, 5645, 2457}, /* draw algol */
2616 { 1, 5555, 2330}, /* draw rho */
2617 { 0, 5645, 2457}, /* move algol */
2618 { 1, 7135, 2400}, /* draw epsilon */
2619 { 1, 7168, 2147}, /* draw xi */
2620 { 1, 7023, 1913}, /* draw zeta */
2621 { 1, 6729, 1937}, /* draw omicron */
2622 { 0, 7135, 2400}, /* move epsilon */
2623 { 1, 6687, 2867}, /* draw delta */
2624 { 1, 7459, 2862}, /* draw 48 */
2625 { 1, 7646, 2904}, /* draw mu */
2626 { 1, 7747, 3017}, /* draw 4:18:15 50:17:44 */
2627 { 1, 7397, 3021}, /* draw lambda */
2628 { 0, 6687, 2867}, /* move delta */
2629 { 1, 6129, 2991}, /* draw alpha */
2630 { 1, 5543, 3210}, /* draw gamma */
2631 { 1, 5120, 3353}, /* draw eta */
2632 { 1, 5227, 3165}, /* draw tau */
2633 { 1, 5672, 2976}, /* draw iota */
2634 { 1, 6129, 2991}, /* draw alpha */
2635 {-1, 0, 0},
2636};
2637
2638/* Phoenix */
2639static ConFig _Phoenix_figs[] = {
2640 { 0, 1982, -2803}, /* move beta */
2641 { 1, 282, -2744}, /* draw epsilon */
2642 { 1, 788, -2538}, /* draw alpha */
2643 { 1, 1982, -2803}, /* draw beta */
2644 { 1, 2650, -2599}, /* draw gamma */
2645 { 1, 2737, -2944}, /* draw delta */
2646 { 1, 2051, -3314}, /* draw zeta */
2647 { 1, 1982, -2803}, /* draw beta */
2648 {-1, 0, 0},
2649};
2650
2651/* Pictor */
2652static ConFig _Pictor_figs[] = {
2653 { 0, 12245, -3716}, /* move alpha */
2654 { 2, 10494, -3370}, /* dotted gamma */
2655 { 2, 10418, -3063}, /* dotted beta */
2656 {-1, 0, 0},
2657};
2658
2659/* Pisces */
2660static ConFig _Pisces_figs[] = {
2661 { 0, 1970, 1288}, /* move psi1 */
2662 { 1, 2384, 1635}, /* draw upsilon */
2663 { 1, 2149, 1805}, /* draw tau */
2664 { 1, 1970, 1288}, /* draw psi1 */
2665 { 1, 2143, 1262}, /* draw chi */
2666 { 1, 2744, 920}, /* draw eta */
2667 { 1, 3161, 549}, /* draw omicron */
2668 { 1, 3661, 165}, /* draw alpha */
2669 { 1, 3406, 191}, /* draw xi */
2670 { 1, 3042, 329}, /* draw nu */
2671 { 1, 2705, 368}, /* draw mu */
2672 { 1, 1888, 473}, /* draw epsilon */
2673 { 1, 1460, 455}, /* draw delta */
2674 { 1, 43179, 411}, /* draw omega */
2675 { 1, 42598, 337}, /* draw iota */
2676 { 1, 42239, 382}, /* draw theta */
2677 { 1, 41914, 196}, /* draw gamma */
2678 { 1, 42208, 75}, /* draw kappa */
2679 { 1, 42661, 106}, /* draw lambda */
2680 { 1, 42598, 337}, /* draw iota */
2681 {-1, 0, 0},
2682};
2683
2684/* Piscis Austrinus */
2685static ConFig _Piscis_Austrinus_figs[] = {
2686 { 0, 41329, -1777}, /* move fomalhaut */
2687 { 1, 40819, -1622}, /* draw epsilon */
2688 { 1, 39851, -1979}, /* draw mu */
2689 { 1, 39232, -1853}, /* draw theta */
2690 { 1, 39148, -1981}, /* draw iota */
2691 { 1, 39851, -1979}, /* draw mu */
2692 { 1, 40545, -1940}, /* draw beta */
2693 { 1, 41175, -1972}, /* draw gamma */
2694 { 1, 41278, -1952}, /* draw delta */
2695 { 1, 41329, -1777}, /* draw fomalhaut */
2696 {-1, 0, 0},
2697};
2698
2699/* Puppis */
2700static ConFig _Puppis_figs[] = {
2701 { 0, 11518, -3161}, /* move canopus */
2702 { 1, 11932, -2591}, /* draw nu */
2703 { 1, 13114, -2225}, /* draw pi */
2704 { 1, 13906, -1704}, /* draw 1 */
2705 { 1, 13914, -1737}, /* draw 3 */
2706 { 1, 14078, -1491}, /* draw xi */
2707 { 1, 13764, -1608}, /* draw 7:38:49 -26:48:06 */
2708 { 1, 13906, -1704}, /* draw 1 */
2709 { 0, 14078, -1491}, /* move xi */
2710 { 1, 14626, -1458}, /* draw rho */
2711 { 1, 14507, -2400}, /* draw zeta */
2712 { 1, 14686, -2840}, /* draw vel gamma2 */
2713 {-1, 0, 0},
2714};
2715
2716/* Pyxis */
2717static ConFig _Pyxis_figs[] = {
2718 { 0, 15915, -1662}, /* move gamma */
2719 { 1, 15707, -1991}, /* draw alpha */
2720 { 1, 15603, -2118}, /* draw beta */
2721 { 1, 14507, -2400}, /* draw pup zeta */
2722 {-1, 0, 0},
2723};
2724
2725/* Reticulum */
2726static ConFig _Reticulum_figs[] = {
2727 { 0, 7632, -3748}, /* move alpha */
2728 { 1, 6726, -3888}, /* draw beta */
2729 { 1, 7162, -3684}, /* draw delta */
2730 { 1, 7694, -3558}, /* draw epsilon */
2731 { 1, 7632, -3748}, /* draw alpha */
2732 {-1, 0, 0},
2733};
2734
2735/* Sagitta */
2736static ConFig _Sagitta_figs[] = {
2737 { 0, 35402, 1080}, /* move alpha */
2738 { 1, 35621, 1112}, /* draw delta */
2739 { 1, 35962, 1169}, /* draw gamma */
2740 { 0, 35621, 1112}, /* move delta */
2741 { 1, 35431, 1048}, /* draw beta */
2742 {-1, 0, 0},
2743};
2744
2745/* Sagittarius */
2746static ConFig _Sagittarius_figs[] = {
2747 { 0, 32928, -2205}, /* move eta */
2748 { 2, 33125, -2063}, /* dotted epsilon */
2749 { 1, 32574, -1825}, /* draw gamma */
2750 { 1, 33029, -1789}, /* draw delta */
2751 { 1, 33125, -2063}, /* draw epsilon */
2752 { 1, 34278, -1792}, /* draw zeta */
2753 { 1, 34408, -1660}, /* draw tau */
2754 { 1, 34057, -1577}, /* draw sigma */
2755 { 1, 33769, -1619}, /* draw phi */
2756 { 1, 34278, -1792}, /* draw zeta */
2757 { 0, 33239, -1525}, /* move lambda */
2758 { 1, 33769, -1619}, /* draw phi */
2759 { 1, 33029, -1789}, /* draw delta */
2760 { 1, 33239, -1525}, /* draw lambda */
2761 { 2, 32812, -1263}, /* dotted mu */
2762 { 0, 34850, -1070}, /* move rho1 */
2763 { 2, 34492, -1261}, /* dotted pi */
2764 { 2, 34340, -1304}, /* dotted omicron */
2765 { 2, 34131, -1266}, /* dotted xi2 */
2766 { 2, 34492, -1261}, /* dotted pi */
2767 {-1, 0, 0},
2768};
2769
2770/* Scorpius */
2771static ConFig _Scorpius_figs[] = {
2772 { 0, 32095, -2222}, /* move 17:49:52 -37:02:36 */
2773 { 1, 31608, -2226}, /* draw lambda */
2774 { 1, 31522, -2237}, /* draw upsilon */
2775 { 1, 31874, -2341}, /* draw kappa */
2776 { 1, 32027, -2407}, /* draw iota1 */
2777 { 1, 31719, -2579}, /* draw theta */
2778 { 1, 30964, -2594}, /* draw eta */
2779 { 1, 30437, -2541}, /* draw zeta 2 */
2780 { 1, 30356, -2282}, /* draw mu 1 */
2781 { 1, 30304, -2057}, /* draw epsilon */
2782 { 1, 29876, -1692}, /* draw tau */
2783 { 1, 29682, -1585}, /* draw antares */
2784 { 1, 29435, -1535}, /* draw sigma */
2785 { 1, 28810, -1357}, /* draw delta */
2786 { 1, 28765, -1566}, /* draw pi */
2787 { 1, 28706, -1752}, /* draw rho */
2788 { 0, 28810, -1357}, /* move delta */
2789 { 1, 28963, -1188}, /* draw beta1 */
2790 { 1, 29159, -1166}, /* draw nu */
2791 {-1, 0, 0},
2792};
2793
2794/* Sculptor */
2795static ConFig _Sculptor_figs[] = {
2796 { 0, 1758, -1761}, /* move alpha */
2797 { 1, 42867, -1687}, /* draw delta */
2798 { 1, 41964, -1951}, /* draw gamma */
2799 { 1, 42389, -2269}, /* draw beta */
2800 {-1, 0, 0},
2801};
2802
2803/* Scutum */
2804static ConFig _Scutum_figs[] = {
2805 { 0, 33456, -494}, /* move alpha */
2806 { 1, 33815, -284}, /* draw beta */
2807 { 1, 33668, -543}, /* draw delta */
2808 { 1, 33275, -873}, /* draw gamma */
2809 { 1, 33456, -494}, /* draw alpha */
2810 {-1, 0, 0},
2811};
2812
2813/* Serpens Caput */
2814static ConFig _Serpens_Caput_figs[] = {
2815 { 0, 28385, 925}, /* move ser beta */
2816 { 1, 28693, 939}, /* draw ser gamma */
2817 { 1, 28462, 1088}, /* draw ser kappa */
2818 { 1, 28246, 1180}, /* draw ser iota */
2819 { 1, 28385, 925}, /* draw ser beta */
2820 { 1, 28044, 632}, /* draw ser delta */
2821 { 1, 28328, 385}, /* draw ser alpha */
2822 { 1, 28524, 268}, /* draw ser epsilon */
2823 { 1, 28488, -205}, /* draw ser mu */
2824 { 1, 29230, -221}, /* draw oph delta */
2825 {-1, 0, 0},
2826};
2827
2828/* Serpens Cauda */
2829static ConFig _Serpens_Cauda_figs[] = {
2830 { 0, 34086, 252}, /* move ser theta1 */
2831 { 1, 33039, -173}, /* draw ser eta */
2832 { 1, 32370, -586}, /* draw oph nu */
2833 { 1, 31727, -923}, /* draw ser xi */
2834 { 1, 30911, -943}, /* draw oph eta */
2835 {-1, 0, 0},
2836};
2837
2838/* Sextans */
2839static ConFig _Sextans_figs[] = {
2840 { 0, 18884, -164}, /* move delta */
2841 { 2, 18908, -38}, /* dotted beta */
2842 { 2, 18238, -22}, /* dotted alpha */
2843 { 2, 17775, -486}, /* dotted gamma */
2844 {-1, 0, 0},
2845};
2846
2847/* Taurus */
2848static ConFig _Taurus_figs[] = {
2849 { 0, 6506, 24}, /* move 10 */
2850 { 1, 6144, 541}, /* draw omicron */
2851 { 1, 6215, 583}, /* draw xi */
2852 { 1, 7294, 359}, /* draw nu */
2853 { 0, 6215, 583}, /* move xi */
2854 { 1, 7220, 749}, /* draw lambda */
2855 { 1, 7793, 937}, /* draw gamma */
2856 { 1, 8057, 957}, /* draw theta1 */
2857 { 1, 8277, 990}, /* draw aldebaran */
2858 { 1, 10129, 1268}, /* draw zeta */
2859 { 0, 7793, 937}, /* move gamma */
2860 { 1, 7888, 1052}, /* draw delta1 */
2861 { 1, 7964, 1075}, /* draw delta3 */
2862 { 1, 8058, 1150}, /* draw epsilon */
2863 { 1, 9788, 1716}, /* draw beta */
2864 {-1, 0, 0},
2865};
2866
2867/* Telescopium */
2868static ConFig _Telescopium_figs[] = {
2869 { 0, 32736, -2757}, /* move epsilon */
2870 { 1, 33209, -2758}, /* draw alpha */
2871 { 1, 33264, -2944}, /* draw zeta */
2872 {-1, 0, 0},
2873};
2874
2875/* Triangulum */
2876static ConFig _Triangulum_figs[] = {
2877 { 0, 3392, 1774}, /* move alpha */
2878 { 1, 3886, 2099}, /* draw beta */
2879 { 1, 4119, 2030}, /* draw gamma */
2880 { 1, 3392, 1774}, /* draw alpha */
2881 {-1, 0, 0},
2882};
2883
2884/* Triangulum Australe */
2885static ConFig _Triangulum_Australe_figs[] = {
2886 { 0, 30259, -4141}, /* move alpha */
2887 { 1, 28654, -3805}, /* draw beta */
2888 { 1, 28101, -3979}, /* draw epsilon */
2889 { 1, 27567, -4120}, /* draw gamma */
2890 { 1, 30259, -4141}, /* draw alpha */
2891 {-1, 0, 0},
2892};
2893
2894/* Tucana */
2895static ConFig _Tucana_figs[] = {
2896 { 0, 40420, -3897}, /* move delta */
2897 { 1, 40155, -3615}, /* draw alpha */
2898 { 1, 41922, -3494}, /* draw gamma */
2899 { 1, 946, -3777}, /* draw beta1 */
2900 { 1, 602, -3892}, /* draw zeta */
2901 { 1, 43197, -3934}, /* draw epsilon */
2902 { 1, 40420, -3897}, /* draw delta */
2903 {-1, 0, 0},
2904};
2905
2906/* Ursa Major */
2907static ConFig _Ursa_Major_figs[] = {
2908 { 0, 24826, 2958}, /* move eta */
2909 { 1, 24117, 3295}, /* draw mizar a */
2910 { 1, 23220, 3357}, /* draw epsilon */
2911 { 1, 22062, 3421}, /* draw delta */
2912 { 1, 21414, 3221}, /* draw gamma */
2913 { 1, 19855, 3382}, /* draw beta */
2914 { 1, 19911, 3705}, /* draw alpha */
2915 { 1, 22062, 3421}, /* draw delta */
2916 { 0, 21414, 3221}, /* move gamma */
2917 { 2, 21181, 2866}, /* dotted chi */
2918 { 2, 20354, 1985}, /* dotted nu */
2919 { 2, 20345, 1891}, /* dotted xi */
2920 { 0, 21181, 2866}, /* move chi */
2921 { 2, 20089, 2669}, /* dotted psi */
2922 { 2, 18669, 2489}, /* dotted mu */
2923 { 2, 18512, 2574}, /* dotted lambda */
2924 { 0, 19855, 3382}, /* move beta */
2925 { 2, 17729, 3542}, /* dotted upsilon */
2926 { 2, 15307, 3643}, /* dotted omicron */
2927 { 2, 17145, 3783}, /* dotted 23 */
2928 { 2, 19911, 3705}, /* dotted alpha */
2929 { 0, 17145, 3783}, /* move 23 */
2930 { 2, 17729, 3542}, /* dotted upsilon */
2931 { 2, 17185, 3100}, /* dotted theta */
2932 { 2, 16308, 2829}, /* dotted kappa */
2933 { 2, 16176, 2882}, /* dotted iota */
2934 {-1, 0, 0},
2935};
2936
2937/* Ursa Minor */
2938static ConFig _Ursa_Minor_figs[] = {
2939 { 0, 4554, 5355}, /* move polaris */
2940 { 1, 31566, 5195}, /* draw umi delta */
2941 { 1, 30179, 4922}, /* draw umi epsilon */
2942 { 1, 28321, 4667}, /* draw umi zeta */
2943 { 1, 26721, 4449}, /* draw umi beta */
2944 { 1, 27621, 4310}, /* draw umi gamma */
2945 { 1, 29325, 4545}, /* draw umi eta */
2946 { 1, 28321, 4667}, /* draw umi zeta */
2947 {-1, 0, 0},
2948};
2949
2950/* Vela */
2951static ConFig _Vela_figs[] = {
2952 { 0, 15741, -3282}, /* move delta */
2953 { 1, 16863, -3300}, /* draw kappa */
2954 { 1, 17905, -3274}, /* draw phi */
2955 { 1, 19403, -2965}, /* draw mu */
2956 { 1, 18442, -2527}, /* draw 10:14:44 -42:07:20 */
2957 { 1, 17121, -2428}, /* draw psi */
2958 { 1, 16439, -2605}, /* draw lambda */
2959 { 1, 14684, -2840}, /* draw gamma1 */
2960 { 1, 15741, -3282}, /* draw delta */
2961 {-1, 0, 0},
2962};
2963
2964/* Virgo */
2965static ConFig _Virgo_figs[] = {
2966 { 0, 26491, -339}, /* move mu */
2967 { 1, 25680, -360}, /* draw iota */
2968 { 1, 24155, -669}, /* draw spica */
2969 { 1, 22849, -86}, /* draw gamma */
2970 { 1, 22197, -40}, /* draw eta */
2971 { 1, 21320, 105}, /* draw beta */
2972 { 1, 21175, 391}, /* draw nu */
2973 { 1, 21756, 523}, /* draw omicron */
2974 { 1, 22849, -86}, /* draw gamma */
2975 { 1, 23268, 203}, /* draw delta */
2976 { 1, 23465, 657}, /* draw epsilon */
2977 { 0, 23268, 203}, /* move delta */
2978 { 1, 24440, -35}, /* draw zeta */
2979 { 1, 24155, -669}, /* draw spica */
2980 { 0, 24440, -35}, /* move zeta */
2981 { 1, 25249, 92}, /* draw tau */
2982 { 1, 25680, -360}, /* draw iota */
2983 { 0, 25249, 92}, /* move tau */
2984 { 1, 26587, 113}, /* draw 109 */
2985 {-1, 0, 0},
2986};
2987
2988/* Volans */
2989static ConFig _Volans_figs[] = {
2990 { 0, 16273, -3983}, /* move alpha */
2991 { 1, 14994, -4290}, /* draw kappa1 */
2992 { 1, 13854, -4356}, /* draw zeta */
2993 { 1, 12861, -4229}, /* draw gamma1 */
2994 { 1, 13104, -4077}, /* draw delta */
2995 { 1, 14637, -4117}, /* draw epsilon */
2996 { 1, 15172, -3968}, /* draw beta */
2997 { 1, 16273, -3983}, /* draw alpha */
2998 {-1, 0, 0},
2999};
3000
3001/* Vulpecula */
3002static ConFig _Vulpecula_figs[] = {
3003 { 0, 35803, 1444}, /* move 13 */
3004 { 2, 35061, 1479}, /* dotted alpha */
3005 {-1, 0, 0},
3006};
3007
3008
3009static ConFig *figmap[NCNS] = {
3010 _Andromeda_figs,
3011 _Antlia_figs,
3012 _Apus_figs,
3013 _Aquila_figs,
3014 _Aquarius_figs,
3015 _Ara_figs,
3016 _Aries_figs,
3017 _Auriga_figs,
3018 _Bootes_figs,
3019 _Canis_Major_figs,
3020 _Canis_Minor_figs,
3021 _Canes_Venatici_figs,
3022 _Caelum_figs,
3023 _Camelopardalis_figs,
3024 _Capricornus_figs,
3025 _Carina_figs,
3026 _Cassiopeia_figs,
3027 _Centaurus_figs,
3028 _Cepheus_figs,
3029 _Cetus_figs,
3030 _Chamaeleon_figs,
3031 _Circinus_figs,
3032 _Cancer_figs,
3033 _Columba_figs,
3034 _Coma_Berenices_figs,
3035 _Corona_Australis_figs,
3036 _Corona_Borealis_figs,
3037 _Crater_figs,
3038 _Crux_figs,
3039 _Corvus_figs,
3040 _Cygnus_figs,
3041 _Delphinus_figs,
3042 _Dorado_figs,
3043 _Draco_figs,
3044 _Equuleus_figs,
3045 _Eridanus_figs,
3046 _Fornax_figs,
3047 _Gemini_figs,
3048 _Grus_figs,
3049 _Hercules_figs,
3050 _Horologium_figs,
3051 _Hydra_figs,
3052 _Hydrus_figs,
3053 _Indus_figs,
3054 _Leo_Minor_figs,
3055 _Lacerta_figs,
3056 _Leo_figs,
3057 _Lepus_figs,
3058 _Libra_figs,
3059 _Lupus_figs,
3060 _Lynx_figs,
3061 _Lyra_figs,
3062 _Mensa_figs,
3063 _Microscopium_figs,
3064 _Monoceros_figs,
3065 _Musca_figs,
3066 _Norma_figs,
3067 _Octans_figs,
3068 _Ophiuchus_figs,
3069 _Orion_figs,
3070 _Pavo_figs,
3071 _Pegasus_figs,
3072 _Perseus_figs,
3073 _Phoenix_figs,
3074 _Pictor_figs,
3075 _Piscis_Austrinus_figs,
3076 _Pisces_figs,
3077 _Puppis_figs,
3078 _Pyxis_figs,
3079 _Reticulum_figs,
3080 _Sculptor_figs,
3081 _Scorpius_figs,
3082 _Scutum_figs,
3083 _Serpens_Caput_figs,
3084 _Sextans_figs,
3085 _Sagitta_figs,
3086 _Sagittarius_figs,
3087 _Taurus_figs,
3088 _Telescopium_figs,
3089 _Triangulum_Australe_figs,
3090 _Triangulum_figs,
3091 _Tucana_figs,
3092 _Ursa_Major_figs,
3093 _Ursa_Minor_figs,
3094 _Vela_figs,
3095 _Virgo_figs,
3096 _Volans_figs,
3097 _Vulpecula_figs,
3098 _Serpens_Cauda_figs,
3099};
3100
3101/* given a constellation id and epoch, return arrays of ra[] and dec[]
3102 * end-points precessed to the desired epoch that, if connected, will form the
3103 * given constellation figure.
3104 * dcodes is 0 if the coord is a "move-to", 1 if a "draw-to" or 2 if a "draw-to
3105 * as dotted-line".
3106 * return the total number of tripples or -1 if id is bogus.
3107 * the arrays need be no larger than 35 entries.
3108 */
3109int
3110cns_figure (int id, double e, double ra[], double dec[], int dcodes[])
3111{
3112 ConFig *cfp;
3113
3114 if (id < 0 || id >= NCNS)
3115 return (-1);
3116
3117 for (cfp = figmap[id]; cfp->drawcode >= 0; cfp++) {
3118 *ra = hrrad((double)cfp->ra/1800.0);
3119 *dec = degrad((double)cfp->dec/60.0);
3120 precess (J2000, e, ra, dec);
3121 ra++;
3122 dec++;
3123 *dcodes++ = cfp->drawcode;
3124 }
3125
3126 return (cfp - figmap[id]);
3127}
3128
3129/*
3130 Following figures changed to those created by H.A. Rey
3131 (incorporated by Michael Mills):
3132*/
3133
3134/* Andromeda */
3135static ConFig _Andromeda_rey_figs[] = {
3136 { 0, 3717, 2539}, /* gamma-1 */
3137 { 1, 2904, 2484}, /* upsilon */
3138 { 1, 2092, 2137}, /* Mirach */
3139 { 1, 1180, 1851}, /* delta */
3140 { 1, 251, 1745}, /* Alpheratz */
3141 { 0, 2092, 2137}, /* Mirach */
3142 { 1, 1702, 2309}, /* mu */
3143 { 1, 1494, 2464}, /* nu */
3144 { 1, 2085, 2834}, /* phi */
3145 { 1, 2940, 2917}, /* 51 */
3146 { 0, 1716, 1405}, /* eta */
3147 { 1, 1420, 1456}, /* zeta */
3148 { 1, 1156, 1758}, /* epsilon */
3149 { 1, 1180, 1851}, /* delta */
3150 { 1, 1106, 2023}, /* pi */
3151 { 1, 513, 2320}, /* theta */
3152 { 1, 42544, 2596}, /* iota */
3153 { 1, 42612, 2660}, /* kappa */
3154 { 1, 42527, 2787}, /* lambda */
3155 { 0, 42544, 2596}, /* iota */
3156 { 1, 41457, 2539}, /* omicron */
3157 { 0, 1106, 2023}, /* pi */
3158 { 1, 2092, 2137}, /* Mirach */
3159 {-1, 0, 0},
3160};
3161
3162/* Antlia - no change */
3163
3164/* Apus */
3165static ConFig _Apus_rey_figs[] = {
3166 { 0, 30092, -4651},
3167 { 1, 29803, -4733},
3168 { 1, 29410, -4721},
3169 { 1, 26636, -4742},
3170 { 0, 30092, -4651}, /* Aps Beta */
3171 { 1, 29410, -4721}, /* Aps Delta1 */
3172 {-1, 0, 0},
3173};
3174
3175/* Aquarius */
3176static ConFig _Aquarius_rey_figs[] = {
3177 {0, 37430, -569}, /* Aqr Epsilon-2 */
3178 {1, 37580, -539}, /* Aqr Mu-6 */
3179 {1, 38088, -682}, /* Aqr Nu-13 */
3180 {1, 38747, -334}, /* Sadalsud */
3181 {1, 39774, -19}, /* Sadalmelik */
3182 {1, 40250, -83}, /* Sadachbia */
3183 {1, 40661, -7}, /* Aqr Eta-62 */
3184 {1, 40358, 83}, /* Aqr Pi-52 */
3185 {1, 39774, -19}, /* Sadalmelik */
3186 {0, 39793, -832}, /* Aqr Iota-33 */
3187 {1, 38747, -334}, /* Sadalsud */
3188 {0, 39774, -19}, /* Sadalmelik */
3189 {1, 40105, -467}, /* Aqr Theta-43 */
3190 {1, 41178, -454}, /* Aqr Lambda-73 */
3191 {1, 41830, -362}, /* Aqr Phi-90 */
3192 {1, 41877, -545}, /* Aqr Psi1-91 */
3193 {1, 41240, -949}, /* Skat */
3194 {1, 41088, -815}, /* Aqr Tau2-71 */
3195 {1, 41178, -454}, /* Aqr Lambda-73 */
3196 {0, 41178, -454}, /* Aqr Lambda-73 */
3197 {1, 41877, -545}, /* Aqr Psi1-91 */
3198 {1, 42089, -1206}, /* Aqr 98 */
3199 {1, 42181, -1238}, /* Aqr 99 */
3200 {1, 42398, -1254}, /* Aqr 101 */
3201 {0, 41877, -545}, /* Aqr Psi1-91 */
3202 {1, 41683, -1270}, /* Aqr 88 */
3203 {1, 41697, -1347}, /* Aqr 89 */
3204 {1, 41600, -1424}, /* Aqr 86 */
3205 {-1, 0, 0},
3206};
3207
3208/* Aquila */
3209static ConFig _Aquila_rey_figs[] = {
3210 {0, 35859, 384}, /* Aql Beta-60 */
3211 {1, 35724, 532}, /* Altair */
3212 {1, 35588, 637}, /* Tarazed */
3213 {1, 34965, 187}, /* Aql Delta-30 */
3214 {1, 34387, -292}, /* Aql Lambda-16 */
3215 {1, 34250, -344}, /* Aql 12 */
3216 {0, 36339, -49}, /* Aql Theta-65 */
3217 {1, 35774, 60}, /* Aql Eta-55 */
3218 {1, 34965, 187}, /* Aql Delta-30 */
3219 {1, 34362, 832}, /* Aql Zeta-17 */
3220 {1, 34189, 904}, /* Aql Epsilo-13 */
3221 {-1, 0, 0},
3222};
3223
3224/* Ara */
3225static ConFig _Ara_rey_figs[] = {
3226 {0, 31555, -2992}, /* Ara Alpha */
3227 {1, 30588, -3189}, /* Ara Epsilon1 */
3228 {1, 30559, -3359}, /* Ara Zeta */
3229 {1, 30294, -3542}, /* Ara Eta */
3230 {1, 31533, -3641}, /* Ara Delta */
3231 {1, 32599, -3005}, /* Ara Theta */
3232 {1, 31555, -2992}, /* Ara Alpha */
3233 {-1, 0, 0},
3234};
3235
3236/* Aries */
3237static ConFig _Aries_rey_figs[] = {
3238 { 0, 5749, 1183}, /* delta */
3239 { 1, 5376, 1280}, /* epsilon */
3240 { 1, 5099, 1635}, /* 41 */
3241 { 1, 5037, 1754}, /* 39 */
3242 { 1, 4903, 1662}, /* 35 */
3243 { 1, 3815, 1407}, /* Hamal */
3244 { 1, 3439, 1248}, /* Sheratan */
3245 { 1, 3537, 1415}, /* lambda */
3246 { 1, 3815, 1407}, /* Hamal */
3247 { 1, 3984, 1272}, /* eta */
3248 { 0, 5376, 1280}, /* epsilon */
3249 { 1, 3984, 1272}, /* eta */
3250 { 1, 3406, 1157}, /* gamma */
3251 { 0, 5099, 1635}, /* 41 */
3252 { 1, 4903, 1662}, /* 35 */
3253 {-1, 0, 0},
3254};
3255
3256/* Auriga */
3257static ConFig _Auriga_rey_figs[] = {
3258 { 0, 10786, 3257}, /* delta */
3259 { 1, 10786, 2696}, /* Menkalinan */
3260 { 1, 10791, 2232}, /* theta */
3261 { 1, 8910, 1989}, /* iota */
3262 { 1, 9195, 2474}, /* eta */
3263 { 1, 9074, 2464}, /* zeta */
3264 { 1, 9059, 2629}, /* epsilon */
3265 { 1, 9500, 2759}, /* Capella */
3266 { 1, 9195, 2474}, /* eta */
3267 { 1, 10786, 2696}, /* Menkalinan */
3268 { 0, 10786, 3257}, /* delta */
3269 { 1, 9500, 2759}, /* Capella */
3270 {-1, 0, 0},
3271};
3272
3273/* Bootes */
3274static ConFig _Bootes_rey_figs[] = {
3275 { 0, 24818, 1047}, /* Tau */
3276 { 1, 24884, 947}, /* Upsilon */
3277 { 1, 25040, 1103}, /* Muphrid */
3278 { 1, 25670, 1150}, /* Arcturus */
3279 { 1, 26422, 985}, /* Pi */
3280 { 1, 26549, 1624}, /* Pulcherrima */
3281 { 1, 26240, 1784}, /* Sigma */
3282 { 1, 26155, 1822}, /* Rho */
3283 { 1, 26162, 2298}, /* Gamma */
3284 { 1, 27058, 2423}, /* Nekkar */
3285 { 1, 27465, 1998}, /* Delta */
3286 { 0, 25670, 1150}, /* Arcturus */
3287 { 1, 26549, 1624}, /* Pulcherrima */
3288 { 1, 27465, 1998}, /* Delta */
3289 { 2, 27734, 2242}, /* Mu */
3290 { 2, 27058, 2423}, /* Nekkar */
3291 { 0, 26162, 2298}, /* Gamma */
3292 { 1, 25691, 2765}, /* Lambda */
3293 { 1, 25604, 3107}, /* Kappa2 */
3294 { 1, 25956, 3111}, /* Theta */
3295 { 1, 25691, 2765}, /* Lambda */
3296 {-1, 0, 0},
3297};
3298
3299/* Caelum - no change */
3300
3301/* Camelopardalis */
3302static ConFig _Camelopardalis_rey_figs[] = {
3303 {0, 8919, 3225}, /* Cam 7 */
3304 {1, 9103, 3627}, /* Cam Beta-10 */
3305 {1, 8822, 3981}, /* Cam Alpha-9 */
3306 {1, 6911, 4280}, /* Cam Gamma */
3307 {1, 6886, 3932}, /* From GSC */
3308 {1, 6272, 3596}, /* From GSC */
3309 {0, 8822, 3981}, /* Cam Alpha-9 */
3310 {1, 12602, 4619}, /* */
3311 {1, 12016, 4305}, /* */
3312 {0, 9103, 3627}, /* Cam Beta-10 */
3313 {1, 6886, 3932}, /* From GSC */
3314 {-1, 0, 0},
3315};
3316
3317/* Cancer */
3318static ConFig _Cancer_rey_figs[] = {
3319 {0, 16432, 640}, /* Cnc Kappa-76 */
3320 {1, 15741, 1089}, /* Cnc Delta-47 */
3321 {1, 14895, 551}, /* Cnc Beta-17 */
3322 {1, 14633, 1295}, /* Cnc Mu2-10 */
3323 {1, 15699, 1288}, /* Cnc Gamma-43 */
3324 {1, 15741, 1089}, /* Cnc Delta-47 */
3325 {0, 15699, 1288}, /* Cnc Gamma-43 */
3326 {1, 15801, 1726}, /* Cnc Iota-48 */
3327 {-1, 0, 0},
3328};
3329
3330/* Canes Venatici - no change */
3331
3332/* Canis Major */
3333static ConFig _Canis_Major_rey_figs[] = {
3334 {0, 13323, -1758}, /* CMa Eta-31 */
3335 {1, 13044, -1606}, /* CMa Omega-28 */
3336 {1, 12852, -1583}, /* CMa Delta-25 */
3337 {1, 12691, -1430}, /* CMa Omicr2-24 */
3338 {1, 12154, -1002}, /* Sirius */
3339 {1, 12484, -1023}, /* CMa Iota-20 */
3340 {1, 12713, -938}, /* CMa Gamma-23 */
3341 {1, 12426, -722}, /* CMa Theta-14 */
3342 {1, 12484, -1023}, /* CMa Iota-20 */
3343 {0, 12852, -1583}, /* CMa Delta-25 */
3344 {1, 12652, -1676}, /* CMa Sigma-22 */
3345 {1, 12559, -1738}, /* Adara */
3346 {1, 12295, -1950}, /* CMa Kappa-13 */
3347 {0, 11409, -1803}, /* CMa Zeta-1 */
3348 {1, 12559, -1738}, /* Adara */
3349 {1, 12424, -1451}, /* CMa Omicr1-16 */
3350 {1, 11901, -1155}, /* CMa Nu2-7 */
3351 {1, 12154, -1002}, /* Sirius */
3352 {0 , 11756, -1405}, /* CMa Xi1-4 */
3353 {1, 11901, -1155}, /* CMa Nu2-7 */
3354 {1, 11481, -1077}, /* Mirzam */
3355 {-1, 0, 0},
3356};
3357
3358/* Capricornus */
3359static ConFig _Capricornus_rey_figs[] = {
3360 {0, 36542, -752}, /* Cap Alpha2-6 */
3361 {1, 36630, -886}, /* Cap Beta-9 */
3362 {1, 36866, -1068}, /* Cap Rho-11 */
3363 {1, 37383, -1516}, /* Cap Psi-16 */
3364 {1, 37555, -1615}, /* Cap Omega-18 */
3365 {0, 36866, -1068}, /* Cap Rho-11 */
3366 {1, 37932, -1191}, /* Cap Eta-22 */
3367 {0, 38014, -1500}, /* Cap 24 */
3368 {1, 37932, -1191}, /* Cap Eta-22 */
3369 {1, 37978, -1033}, /* Cap Theta-23 */
3370 {1, 38600, -1344}, /* Cap Zeta-34 */
3371 {1, 38662, -1308}, /* Cap 36 */
3372 {1, 38467, -1010}, /* Cap Iota-32 */
3373 {0, 39211, -967}, /* Deneb Algiedi */
3374 {1, 39003, -999}, /* Cap Gamma-40 */
3375 {1, 38467, -1010}, /* Cap Iota-32 */
3376 {1, 37978, -1033}, /* Cap Theta-23 */
3377 {1, 36630, -886}, /* Cap Beta-9 */
3378 {-1, 0, 0},
3379};
3380
3381/* Carina */
3382static ConFig _Carina_rey_figs[] = {
3383 {0, 11519, -3161}, /* Canopus */
3384 {1, 16596, -4183}, /* Car Beta */
3385 {1, 18412, -4202}, /* Car Omega */
3386 {1, 19289, -3863}, /* Car Theta */
3387 /* Figurehead follows, made up of stars not present in YBS */
3388 {1, 18961, -3701}, /* GSC star */
3389 {1, 19306, -3634},
3390 {1, 19601, -3534},
3391 {1, 19003, -3491},
3392 {1, 18836, -3524},
3393 {1, 18512, -3680},
3394 {1, 16713, -3556}, /* Car Iota */
3395 {1, 15075, -3570}, /* Car Epsilon */
3396 {1, 14303, -3178}, /* Car Chi */
3397 {1, 14686, -2840}, /* Vel Gamma2 */
3398 {0, 19601, -3534},
3399 {1, 20058, -3539}, /* "Nose" of figurehead */
3400 {0, 15075, -3570}, /* Car Epsilon */
3401 {2, 16863, -3300}, /* Vel Kappa */
3402 {0, 16713, -3556}, /* Car Iota */
3403 {2, 15741, -3282}, /* Vel Delta */
3404 {-1, 0, 0},
3405};
3406
3407/* Cassiopeia */
3408static ConFig _Cassiopeia_rey_figs[] = {
3409 {0, 275, 3549}, /* Caph */
3410 {1, 1215, 3392}, /* Schedar */
3411 {1, 1701, 3643}, /* Cas Gamma-27 */
3412 {1, 2575, 3614}, /* Cas Delta-37 */
3413 {1, 3432, 3820}, /* Cas Epsilo-45 */
3414 {1, 3703, 4345}, /* Cas 50 */
3415 {-1, 0, 0},
3416};
3417
3418/* Centaurus */
3419static ConFig _Centaurus_rey_figs[] = {
3420 {0, 20873, -3781}, /* Cen Lambda */
3421 {1, 21950, -3142}, /* Cen Rho */
3422 {1, 22441, -3013}, /* Cen Sigma */
3423 {1, 21851, -3043}, /* Cen Delta */
3424 {1, 20430, -3269}, /* Cen Pi */
3425 {0, 22441, -3013}, /* Cen Sigma */
3426 {1, 22846, -2937}, /* Cen Gamma */
3427 {1, 24597, -3207}, /* Cen Epsilon */
3428 {1, 25066, -2837}, /* Cen Zeta */
3429 {1, 22846, -2937}, /* Cen Gamma */
3430 {0, 26388, -3650}, /* Rigil Kentaurus */
3431 {1, 24597, -3207}, /* Cen Epsilon */
3432 {1, 25315, -3622}, /* Hadar (Agena) */
3433 {0, 25066, -2837}, /* Cen Zeta */
3434 {1, 25252, -2736}, /* Cen Upsilon2 */
3435 {1, 25160, -2688}, /* Cen Upsilon1 */
3436 {1, 25148, -2526}, /* Cen Phi */
3437 {1, 24885, -2501}, /* Cen Nu */
3438 {1, 24889, -2548}, /* Cen Mu */
3439 {1, 25066, -2837}, /* Cen Zeta */
3440 {0, 24885, -2501}, /* Cen Nu */
3441 {1, 25401, -2182}, /* Cen Theta-5 */
3442 {1, 25817, -2273}, /* Cen Psi */
3443 {1, 25891, -2371}, /* From GSC 7809-2783 */
3444 {1, 25381, -2470}, /* Cen Chi */
3445 {1, 25148, -2526}, /* Cen Phi */
3446 {1, 26265, -2529}, /* Cen Eta */
3447 {1, 26975, -2526}, /* Cen Kappa */
3448 {1, 26459, -2268}, /* From GSC */
3449 {1, 26510, -2110}, /* From GSC */
3450 {0, 24885, -2501}, /* Cen Nu */
3451 {1, 24331, -2364}, /* From GSC */
3452 {1, 24018, -2202}, /* Cen Iota */
3453 {1, 24771, -1982}, /* Cen 1 */
3454 {0, 24771, -1982}, /* Cen 1 */
3455 {1, 24883, -2067}, /* Cen 2 */
3456 {0, 24771, -1982}, /* Cen 1 */
3457 {1, 24955, -1979}, /* Cen 3 */
3458 {0, 24771, -1982}, /* Cen 1 */
3459 {1, 24996, -1915}, /* Cen 4 */
3460 {-1, 0, 0},
3461};
3462
3463/* Cepheus */
3464static ConFig _Cepheus_rey_figs[] = {
3465 {0, 36887, 3780}, /* Cep Theta-2 */
3466 {1, 37359, 3710}, /* Cep Eta-3 */
3467 {1, 38357, 3755}, /* Alderamin */
3468 {1, 38660, 4234}, /* Alphirk */
3469 {1, 42580, 4658}, /* Alrai */
3470 {1, 41090, 3972}, /* Cep Iota-32 */
3471 {1, 40475, 3505}, /* Cep Delta-27 */
3472 {1, 39926, 3492}, /* Cep Zeta-21 */
3473 {1, 40051, 3423}, /* Cep Epsilo-23 */
3474 {1, 39105, 3527}, /* Cep Mu */
3475 {1, 38357, 3755}, /* Alderamin */
3476 {0, 38660, 4234}, /* Alphirk */
3477 {1, 41090, 3972}, /* Cep Iota-32 */
3478 {0, 39926, 3492}, /* Cep Zeta-21 */
3479 {1, 39163, 3667}, /* Cep Nu-10 */
3480 {-1, 0, 0},
3481};
3482
3483/* Cetus */
3484static ConFig _Cetus_rey_figs[] = {
3485 {0, 583, -529}, /* Cet Iota-8 */
3486 {1, 2521, -491}, /* Cet Theta-45 */
3487 {1, 4180, -178}, /* Mira */
3488 {1, 4785, 20}, /* Cet Delta-82 */
3489 {1, 4899, 194}, /* Cet Gamma-86 */
3490 {1, 4676, 336}, /* Cet Nu-78 */
3491 {1, 4445, 508}, /* Cet Xi2-73 */
3492 {1, 4948, 607}, /* Cet Mu-87 */
3493 {1, 5391, 534}, /* Cet Lambda-91 */
3494 {1, 5468, 245}, /* Mekab */
3495 {1, 4899, 194}, /* Cet Gamma-86 */
3496 {0, 4785, 20}, /* Cet Delta-82 */
3497 {1, 3600, -1264}, /* Cet Upsilo-59 */
3498 {1, 1308, -1079}, /* Diphda */
3499 {1, 583, -529}, /* Cet Iota-8 */
3500 {0, 1308, -1079}, /* Diphda */
3501 {1, 3122, -956}, /* Cet Tau-52 */
3502 {-1, 0, 0},
3503};
3504
3505/* Chamaeleon */
3506static ConFig _Chamaeleon_rey_figs[] = {
3507 {0, 14956, -4615}, /* Cha Alpha */
3508 {1, 19064, -4716}, /* Cha Gamma */
3509 {1, 21589, -4693}, /* Cha Epsilon */
3510 {1, 22150, -4758}, /* Cha Beta */
3511 {1, 19373, -4832}, /* Cha Delta2 */
3512 {1, 19064, -4716}, /* Cha Gamma */
3513 {-1, 0, 0},
3514};
3515
3516/* Circinus - no change */
3517
3518/* Columba */
3519static ConFig _Columba_rey_figs[] = {
3520 { 0, 9936, -2128},
3521 { 1, 10189, -2044},
3522 { 1, 10529, -2146},
3523 { 1, 10726, -2117},
3524 { 1, 11296, -2108},
3525 { 1, 11463, -2006},
3526 { 0, 10529, -2146},
3527 { 1, 10774, -2568},
3528 { 0, 10774, -2568}, /* Col Eta */
3529 { 1, 10726, -2117}, /* Col Gamma */
3530 { 1, 11463, -2006}, /* Col Delta */
3531 {-1, 0, 0},
3532};
3533
3534/* Coma Berenices */
3535static ConFig _Coma_Berenices_rey_figs[] = {
3536 { 0, 23699, 1051}, /* Alpha */
3537 { 1, 23756, 1672}, /* Beta */
3538 { 1, 22408, 1696}, /* Gamma */
3539 { 0, 23756, 1672}, /* Beta */
3540 { 2, 22090, 1436}, /* Com 7 */
3541 { 0, 23756, 1672}, /* Beta */
3542 { 2, 22275, 1550}, /* Com 12 */
3543 { 0, 23756, 1672}, /* Beta */
3544 { 2, 22392, 1636}, /* Com 14 */
3545 {-1, 0, 0},
3546};
3547
3548/* Corona Australis - no change */
3549
3550/* Corona Borealis - no change */
3551
3552/* Corvus */
3553static ConFig _Corvus_rey_figs[] = {
3554 {0, 21852, -1483}, /* Crv Alpha-1 */
3555 {1, 21904, -1357}, /* Crv Epsilon-2 */
3556 {1, 22217, -1332}, /* Crv Zeta-5 */
3557 {1, 22632, -1403}, /* Crv Beta-9 */
3558 {0, 22217, -1332}, /* Crv Zeta-5 */
3559 {1, 22496, -990}, /* Crv Delta-7 */
3560 {1, 22562, -971}, /* Crv Eta-8 */
3561 {0, 22496, -990}, /* Crv Delta-7 */
3562 {1, 22074, -1052}, /* Crv Gamma-4 */
3563 {1, 21904, -1357}, /* Crv Epsilon-2 */
3564 {-1, 0, 0},
3565};
3566
3567/* Crater */
3568static ConFig _Crater_rey_figs[] = {
3569 {0, 19793, -1097}, /* Crt Alpha-7 */
3570 {1, 20380, -886}, /* Crt Delta-12 */
3571 {1, 20546, -1061}, /* Crt Gamma-15 */
3572 {1, 21143, -1101}, /* Crt Zeta-27 */
3573 {1, 21480, -1029}, /* Crt Eta-30 */
3574 {1, 20900, -588}, /* Crt Theta-21 */
3575 {1, 20538, -651}, /* Crt Epsilo-14 */
3576 {1, 20380, -886}, /* Crt Delta-12 */
3577 {0, 20546, -1061}, /* Crt Gamma-15 */
3578 {1, 20150, -1369}, /* Crt Beta-11 */
3579 {-1, 0, 0},
3580};
3581
3582/* Crux - no change */
3583
3584/* Cygnus */
3585static ConFig _Cygnus_rey_figs[] = {
3586 { 0, 34713, 3202}, /* Kappa */
3587 { 2, 35549, 2707}, /* Delta */
3588 { 1, 36667, 2415}, /* Gamma */
3589 { 1, 37386, 2038}, /* Epsilon */
3590 { 2, 38188, 1813}, /* Zeta */
3591 /* { 2, 39124, 1724},*/ /* 78 */
3592 { 2, 37715, 2470}, /* Nu */
3593 { 2, 37243, 2716}, /* Deneb */
3594 { 2, 36464, 2863}, /* 32 */
3595 { 2, 35091, 3103}, /* Iota */
3596 { 2, 34713, 3202}, /* Kappa */
3597 /* { 0, 38188, 1813}, */ /* Zeta */
3598 /* { 2, 35293, 3013}, */ /* Theta */
3599 /* { 2, 38337, 2093}, */ /* Upsilon */
3600 { 0, 38243, 2282}, /* Tau */
3601 { 2, 38322, 2363}, /* Sigma */
3602 { 2, 37715, 2470}, /* Nu */
3603 /* { 2, 38819, 2735}, */ /* Rho */
3604 /* { 2, 39204, 2958}, */ /* Pi */
3605 { 0, 37243, 2716}, /* Deneb */
3606 { 2, 37948, 2636}, /* Xi */
3607 { 0, 37243, 2716}, /* Deneb */
3608 { 1, 36667, 2415}, /* Gamma */
3609 { 1, 35889, 2105}, /* Eta */
3610 { 1, 35381, 1809}, /* Phi */
3611 { 1, 35121, 1677}, /* Albireo */
3612 {-1, 0, 0}, /* */
3613};
3614
3615/* Delphinus */
3616static ConFig _Delphinus_rey_figs[] = {
3617 {0, 37135, 683}, /* Del Iota-5 */
3618 {1, 36996, 678}, /* Del Epsilon-2 */
3619 {1, 37174, 605}, /* Del Kappa-7 */
3620 {1, 37135, 683}, /* Del Iota-5 */
3621 {1, 37019, 782}, /* Del Eta-3 */
3622 {1, 37127, 876}, /* Rotanev */
3623 {1, 37189, 955}, /* Svalocin */
3624 {1, 37400, 967}, /* Del Gamma2-12 */
3625 {1, 37304, 904}, /* Del Delta-11 */
3626 {1, 37162, 799}, /* Del Theta-8 */
3627 {1, 37135, 683}, /* Del Iota-5 */
3628 {0, 37127, 876}, /* Rotanev */
3629 {1, 37059, 880}, /* Del Zeta-4 */
3630 {-1, 0, 0},
3631};
3632
3633/* Dorado */
3634static ConFig _Dorado_rey_figs[] = {
3635 { 0, 7681, -3089},
3636 { 1, 8220, -3302},
3637 { 1, 9165, -3448},
3638 { 1, 10009, -3749},
3639 { 1, 10343, -3944},
3640 { 0, 10009, -3749},
3641 { 1, 10623, -3785},
3642 { 1, 10343, -3944}, /* Back to Dor Delta */
3643 { 0, 10009, -3749}, /* Dor Beta */
3644 { 1, 8220, -3302}, /* Dor Alpha */
3645 {-1, 0, 0},
3646};
3647
3648/* Draco */
3649static ConFig _Draco_rey_figs[] = {
3650 {0, 20742, 4160}, /* Dra Lambda-1 */
3651 {1, 22605, 4187}, /* Dra Kappa-5 */
3652 {1, 25332, 3863}, /* Thuban */
3653 {1, 27748, 3538}, /* Dra Iota-12 */
3654 {1, 28857, 3514}, /* Dra Theta-13 */
3655 {1, 29520, 3691}, /* Dra Eta-14 */
3656 {1, 30864, 3943}, /* Dra Zeta-22 */
3657 {1, 33023, 4280}, /* Dra Phi-43 */
3658 {1, 34577, 4060}, /* Dra Delta-57 */
3659 {1, 32206, 3412}, /* Dra Xi-32 */
3660 {1, 31568, 3310}, /* Dra Nu2-25 */
3661 {1, 31513, 3138}, /* Alwaid */
3662 {1, 32298, 3089}, /* Rastaban */
3663 {1, 32206, 3412}, /* Dra Xi-32 */
3664 {0, 33023, 4280}, /* Dra Phi-43 */
3665 {1, 33032, 4364}, /* Dra Chi-44 */
3666 {0, 34577, 4060}, /* Dra Delta-57 */
3667 {1, 35645, 4216}, /* Dra Epsilo-63 */
3668 {-1, 0, 0},
3669};
3670
3671/* Equuleus */
3672static ConFig _Equuleus_rey_figs[] = {
3673 { 0, 38110, 607},
3674 { 1, 38234, 600},
3675 /* { 1, 38487, 408}, */
3676 { 1, 38274, 314},
3677 {-1, 0, 0},
3678};
3679
3680/* Eridanus */
3681static ConFig _Eridanus_rey_figs[] = {
3682 {0, 8345, -858}, /* Eri 53 */
3683 {1, 9236, -305}, /* Cursa */
3684 {1, 8565, -195}, /* Eri Mu-57 */
3685 {1, 8290, -201}, /* Eri Nu-48 */
3686 {1, 7556, -410}, /* Eri Omicr1-38 */
3687 {1, 7658, -459}, /* Eri Omicr2-40 */
3688 {1, 7141, -810}, /* Zaurak */
3689 {1, 6697, -585}, /* Eri Delta-23 */
3690 {1, 6388, -567}, /* Eri Epsilo-18 */
3691 {1, 5293, -533}, /* Eri Eta-3 */
3692 {1, 5472, -1417}, /* Eri Tau3-11 */
3693 {1, 5986, -1305}, /* Eri Tau4-16 */
3694 {1, 6414, -1297}, /* Eri Tau5-19 */
3695 {1, 6805, -1394}, /* Eri Tau6-27 */
3696 {1, 8267, -1833}, /* Eri Upsil2-52 */
3697 {1, 7921, -2041}, /* Eri 43 */
3698 {1, 7737, -2027}, /* Eri Upsil4-41 */
3699 {1, 7737, -2027}, /* Eri Upsil4-41 */
3700 {1, 6227, -2140}, /* Fornax Chi2 */
3701 {1, 5348, -2418}, /* Eri Theta1 */
3702 {1, 5207, -2306}, /* For Psi */
3703 {1, 4820, -2391}, /* Eri Iota */
3704 {1, 4410, -2862}, /* Eri Kappa */
3705 {1, 4095, -3090}, /* Eri Phi */
3706 {1, 3479, -3096}, /* Eri Chi */
3707 {1, 2931, -3434}, /* Achernar */
3708 {-1, 0, 0},
3709};
3710
3711/* Gemini */
3712static ConFig _Gemini_rey_figs[] = {
3713 { 0, 10923, 1395}, /* 1 */
3714 { 1, 11246, 1350}, /* eta */
3715 { 1, 11489, 1350}, /* mu */
3716 { 1, 12118, 1507}, /* Mebsuta */
3717 { 1, 12934, 1814}, /* tau */
3718 { 1, 13473, 1907}, /* rho */
3719 { 1, 13638, 1913}, /* Castor */
3720 { 0, 13899, 1733}, /* sigma */
3721 { 0, 13959, 1681}, /* Pollux */
3722 { 1, 13678, 1613}, /* upsilon */
3723 { 1, 13203, 1318}, /* Wasat */
3724 { 1, 12723, 1234}, /* zeta */
3725 { 1, 11931, 983}, /* gamma */
3726 { 0, 11669, 1212}, /* nu */
3727 { 1, 12118, 1507}, /* Mebsuta */
3728 { 0, 11931, 983}, /* gamma */
3729 { 0, 13203, 1318}, /* Wasat */
3730 { 1, 13143, 992}, /* lambda */
3731 { 1, 12159, 773}, /* Xi */
3732 { 0, 13933, 1463}, /* kappa */
3733 { 1, 13678, 1613}, /* upsilon */
3734 { 1, 13372, 1667}, /* iota */
3735 { 1, 12934, 1814}, /* tau */
3736 { 1, 12383, 2037}, /* theta */
3737 {-1, 0, 0},
3738};
3739
3740/* Grus */
3741static ConFig _Grus_rey_figs[] = {
3742 {0, 39418, -2241}, /* Gru Gamma */
3743 {1, 39783, -2372}, /* Gru Lambda */
3744 {1, 39847, -2817}, /* Gru Alpha */
3745 {1, 40880, -2813}, /* Gru Beta */
3746 {1, 41711, -2714}, /* Gru Iota */
3747 {1, 41606, -2611}, /* Gru Theta */
3748 {1, 40478, -2609}, /* Gru Delta1 */
3749 {1, 39847, -2817}, /* Gru Alpha */
3750 {0, 41057, -3079}, /* Gru Epsilon */
3751 {1, 40880, -2813}, /* Gru Beta */
3752 {1, 41426, -3165}, /* Gru Zeta */
3753 {-1, 0, 0},
3754};
3755
3756/* Hercules */
3757static ConFig _Hercules_rey_figs[] = {
3758 { 0, 29457, 1149}, /* gamma */
3759 { 1, 29706, 1289}, /* Kornephoros */
3760 { 1, 30608, 1855}, /* epsilon */
3761 { 1, 31051, 2208}, /* pi */
3762 { 1, 31310, 2228}, /* rho */
3763 { 1, 32287, 2235}, /* theta */
3764 { 1, 31784, 2760}, /* iota */
3765 { 1, 29823, 2546}, /* Sigma */
3766 { 1, 29063, 2696}, /* Phi */
3767 { 1, 29392, 2779}, /* Tau */
3768 { 1, 31784, 2760}, /* iota */
3769 { 0, 31994, 1663}, /* mu */
3770 { 1, 31521, 1566}, /* lambda */
3771 { 1, 31050, 1490}, /* delta */
3772 { 1, 31039, 863}, /* alpha */
3773 { 0, 33810, 1090}, /* 111 */
3774 { 1, 33770, 1232}, /* 110 */
3775 { 1, 33111, 1306}, /* 109 */
3776 { 1, 32663, 1248}, /* 102 */
3777 { 1, 32445, 1296}, /* 95 */
3778 { 1, 32626, 1725}, /* omicron */
3779 { 1, 32333, 1754}, /* xi */
3780 { 1, 31051, 2208}, /* pi */
3781 { 1, 30087, 2335}, /* eta */
3782 { 1, 30038, 1896}, /* zeta */
3783 { 1, 30608, 1855}, /* epsilon */
3784 { 1, 31994, 1663}, /* mu */
3785 { 1, 32333, 1754}, /* xi */
3786
3787 {-1, 0, 0},
3788};
3789
3790/* Horologium - no change */
3791
3792/* Hydra */
3793static ConFig _Hydra_rey_figs[] = {
3794 {0, 16062, 357}, /* Hya Zeta-16 */
3795 {1, 15803, 385}, /* Hya Epsilo-11 */
3796 {1, 15530, 342}, /* Hya Delta-4 */
3797 {1, 15563, 200}, /* Hya Sigma-5 */
3798 {1, 15697, 204}, /* Hya Eta-7 */
3799 {1, 16062, 357}, /* Hya Zeta-16 */
3800 {1, 16631, 139}, /* Hya Theta-22 */
3801 {1, 17396, -68}, /* Hya Iota-35 */
3802 {1, 17028, -519}, /* Hya Alpha-30 */
3803 {1, 18318, -741}, /* Hya Lambda-41 */
3804 {1, 18783, -1010}, /* Hya Mu-42 */
3805 {1, 19489, -971}, /* Hya Nu */
3806 {1, 19793, -1097}, /* Crt Alpha-7 */
3807 {1, 20150, -1369}, /* Crt Beta-11 */
3808 {1, 20790, -1911}, /* Hya Xi */
3809 {1, 21387, -2034}, /* Hya Beta */
3810 {1, 23968, -1390}, /* Hya Gamma-46 */
3811 {1, 25391, -1600}, /* Hya Pi-49 */
3812 {-1, 0, 0},
3813};
3814
3815/* Hydrus */
3816static ConFig _Hydrus_rey_figs[] = {
3817 { 0, 773, -4635},
3818 { 1, 6817, -4454},
3819 { 1, 4788, -4096},
3820 { 1, 4252, -4119},
3821 { 1, 3448, -4058},
3822 { 1, 3563, -3694},
3823 {-1, 0, 0},
3824};
3825
3826/* Indus */
3827static ConFig _Indus_rey_figs[] = {
3828 {0, 37127, -2837}, /* Ind Alpha */
3829 {1, 37321, -3115}, /* Ind Eta */
3830 {1, 37644, -3507}, /* Ind Beta */
3831 {1, 39538, -3299}, /* Ind Delta */
3832 {0, 39701, -3407}, /* Ind Epsilon */
3833 {1, 37644, -3507}, /* Ind Beta */
3834 {-1, 0, 0},
3835};
3836
3837/* Lacerta */
3838static ConFig _Lacerta_rey_figs[] = {
3839 {0, 40079, 2265}, /* Lac 1 */
3840 {1, 40515, 2587}, /* Lac 6 */
3841 {1, 40815, 2657}, /* Lac 11 */
3842 {1, 40486, 2862}, /* Lac 5 */
3843 {1, 40336, 2969}, /* Lac 4 */
3844 {1, 40307, 3134}, /* Lac Beta-3 */
3845 {1, 40539, 3017}, /* Lac Alpha-7 */
3846 {1, 40486, 2862}, /* Lac 5 */
3847 {1, 40231, 2792}, /* Lac 2 */
3848 {1, 40515, 2587}, /* Lac 6 */
3849 {-1, 0, 0},
3850 /* Old Figure Follows
3851 * { 0, 40079, 2264},
3852 * { 1, 40514, 2587},
3853 * { 1, 40486, 2862},
3854 * { 1, 40335, 2968},
3855 * { 1, 40307, 3133},
3856 * { 1, 40538, 3016},
3857 * { 1, 40486, 2862}, */
3858
3859};
3860
3861/* Leo */
3862static ConFig _Leo_rey_figs[] = {
3863 { 0, 16939, 1570},
3864 { 1, 17151, 1378},
3865 { 1, 17575, 1426},
3866 { 1, 17783, 1560},
3867 { 1, 16939, 1570}, /* Finish going around head */
3868 { 0, 17783, 1560},
3869 { 1, 18500, 1405},
3870 { 1, 18599, 1190},
3871 { 1, 18220, 1005},
3872 { 1, 18251, 718}, /* Regulus */
3873 { 0, 17575, 1426}, /* Draw */
3874 { 1, 18220, 1005}, /* Front of neck */
3875 { 1, 17434, 593}, /* and forward front leg */
3876 { 0, 18220, 1005}, /* eta */
3877 /*{ 0, 18251, 718}, Regulus */
3878 { 1, 20227, 925}, /* theta */
3879 { 1, 20223, 1231}, /* Zozca */
3880 { 0, 21272, 874}, /* Denebola */
3881 { 1, 20223, 1231}, /* Zozca */
3882 { 1, 19870, 1210}, /* 60 */
3883 { 1, 18599, 1190}, /* Gamma */
3884 { 0, 20227, 925}, /* theta */
3885 { 1, 20517, 631}, /* iota */
3886 { 1, 20434, 361}, /* sigma */
3887 { 0, 20227, 925}, /* theta */
3888 { 1, 18984, 558},
3889 {-1, 0, 0},
3890};
3891
3892/* Leo Minor */
3893static ConFig _Leo_Minor_rey_figs[] = {
3894 {0, 18223, 2115}, /* LMi 21 */
3895 {1, 18777, 2028}, /* LMi 30 */
3896 {1, 19599, 2053}, /* LMi 46 */
3897 {1, 18837, 2202}, /* LMi Beta-31 */
3898 {1, 18223, 2115}, /* LMi 21 */
3899 {1, 17227, 2184}, /* LMi 10 */
3900 {-1, 0, 0},
3901};
3902
3903/* Lepus */
3904static ConFig _Lepus_rey_figs[] = {
3905 {0, 9397, -776}, /* Lep Kappa-4 */
3906 {1, 9388, -972}, /* Lep Mu-5 */
3907 {1, 9164, -1342}, /* Lep Epsilon-2 */
3908 {1, 9847, -1245}, /* Lep Beta-9 */
3909 {1, 9982, -1069}, /* Arneb */
3910 {1, 10409, -889}, /* Lep Zeta-14 */
3911 {1, 10692, -850}, /* Lep Eta-16 */
3912 {1, 10540, -1252}, /* Lep Delta-15 */
3913 {1, 10334, -1346}, /* Lep Gamma-13 */
3914 {1, 9847, -1245}, /* Lep Beta-9 */
3915 {0, 9982, -1069}, /* Arneb */
3916 {1, 9388, -972}, /* Lep Mu-5 */
3917 {1, 9587, -790}, /* Lep Lambda-6 */
3918 {-1, 0, 0},
3919};
3920
3921/* Libra */
3922static ConFig _Libra_rey_figs[] = {
3923 {0, 28160, -1786}, /* Lib Tau-40 */
3924 {1, 28111, -1688}, /* Lib Upsilo-39 */
3925 {1, 28066, -887}, /* Zuben el Hakrabi */
3926 {1, 27510, -562}, /* Zuben el Chamali */
3927 {1, 26726, -962}, /* Lib Alpha2-9 */
3928 {1, 27122, -1516}, /* Lib Sigma-20 */
3929 {0, 28066, -887}, /* Zuben el Hakrabi */
3930 {1, 26726, -962}, /* Lib Alpha2-9 */
3931 {-1, 0, 0},
3932};
3933
3934/* Lupus */
3935static ConFig _Lupus_rey_figs[] = {
3936 {0, 28998, -2208}, /* Lup Theta */
3937 {1, 28529, -2017}, /* Lup Chi-5 */
3938 {1, 28193, -2064}, /* Lup Psi1-3 */
3939 {1, 27654, -2175}, /* Lup Phi1 */
3940 {1, 28804, -2303}, /* Lup Eta */
3941 {0, 27654, -2175}, /* Lup Phi1 */
3942 {1, 26956, -2588}, /* Lup Beta */
3943 {1, 26458, -2843}, /* Lup Alpha */
3944 {1, 26337, -2965}, /* Lup Rho */
3945 {1, 27154, -2823}, /* Lup Pi */
3946 {1, 27265, -2716}, /* Lup Lambda */
3947 {1, 27641, -2438}, /* Lup Delta */
3948 {1, 27742, -2382}, /* Lup Upsilon */
3949 {1, 27695, -2211}, /* Lup Phi2 */
3950 {1, 27654, -2175}, /* Lup Phi1 */
3951 {0, 26337, -2965}, /* Lup Rho */
3952 {1, 26178, -3027}, /* Lup Sigma */
3953 {0, 27154, -2823}, /* Lup Pi */
3954 {1, 27358, -2924}, /* Lup Kappa1 */
3955 {1, 27369, -3125}, /* Lup Zeta */
3956 {0, 27265, -2716}, /* Lup Lambda */
3957 {1, 27556, -2872}, /* Lup Mu */
3958 {1, 27680, -2681}, /* Lup Epsilon */
3959 {0, 27742, -2382}, /* Lup Upsilon */
3960 {1, 28054, -2470}, /* Lup Gamma */
3961 {1, 28142, -2554}, /* Lup Omega */
3962 {1, 28236, -2680}, /* */
3963 {0, 25985, -2722}, /* Lup Tau2 */
3964 {1, 26458, -2843}, /* Lup Alpha */
3965 {1, 25782, -2763}, /* Lup Iota */
3966 {-1, 0, 0},
3967};
3968
3969/* Lynx - no change */
3970
3971/* Lyra */
3972static ConFig _Lyra_rey_figs[] = {
3973 {0, 33508, 2327}, /* Vega */
3974 {1, 32996, 2164}, /* Lyr Kappa-1 */
3975 {1, 33902, 2002}, /* Sheliak */
3976 {1, 34168, 1961}, /* Sulaphat */
3977 {1, 34691, 2288}, /* Lyr Theta-21 */
3978 {1, 34613, 2349}, /* Lyr Eta-20 */
3979 {1, 34060, 2637}, /* Lyr 13 */
3980 {1, 33730, 2380}, /* Lyr Epsilo1-4 */
3981 {2, 33508, 2327}, /* Vega */
3982 {0, 33743, 2256}, /* Lyr Zeta1-6 */
3983 {1, 33902, 2002}, /* Sheliak */
3984 {0, 34012, 2218}, /* Lyr Delta1-11 */
3985 {1, 34168, 1961}, /* Sulaphat */
3986 {-1, 0, 0},
3987 /* Old Figure follows
3988 * { 0, 34060, 2636},
3989 * { 1, 34613, 2348},
3990 * { 1, 34691, 2288},
3991 * { 1, 33508, 2327},
3992 * { 1, 33730, 2380},
3993 * { 0, 33508, 2327},
3994 * { 1, 33743, 2256},
3995 * { 1, 33902, 2001},
3996 * { 1, 34168, 1961},
3997 * { 1, 34012, 2218},
3998 * { 1, 33743, 2256},
3999 * { 0, 33508, 2327},
4000 * { 1, 32996, 2163}, */
4001};
4002
4003/* Mensa - no change */
4004
4005/* Microscopium - no change */
4006
4007/* Monoceros */
4008static ConFig _Monoceros_rey_figs[] = {
4009 {0, 12029, 594}, /* Mon 15 */
4010 {1, 11787, 440}, /* Mon 13 */
4011 {1, 11513, 276}, /* Mon Epsilon-8 */
4012 {1, 12236, 145}, /* Mon 18 */
4013 {1, 11787, 440}, /* Mon 13 */
4014 {0, 12236, 145}, /* Mon 18 */
4015 {1, 12956, -29}, /* Mon Delta-22 */
4016 {1, 11665, -422}, /* Mon Beta-11 */
4017 {1, 11246, -376}, /* Mon Gamma-5 */
4018 {0, 12956, -29}, /* Mon Delta-22 */
4019 {1, 14437, -83}, /* Mon 28 */
4020 {1, 14658, -179}, /* Mon Zeta-29 */
4021 {0, 14437, -83}, /* Mon 28 */
4022 {1, 13837, -573}, /* Mon Alpha-26 */
4023 {-1, 0, 0},
4024 /* Old figure follows
4025 * { 0, 14657, -179},
4026 * { 1, 13837, -573},
4027 * { 1, 12956, -29},
4028 * { 1, 11664, -421},
4029 * { 1, 11245, -376},
4030 * { 1, 11513, 275},
4031 * { 1, 11787, 439}, */
4032};
4033
4034/* Musca */
4035static ConFig _Musca_rey_figs[] = {
4036 {0, 21168, -4003}, /* Mus Lambda */
4037 {1, 21247, -4008}, /* Mus Mu */
4038 {1, 22127, -4077}, /* Mus Epsilon */
4039 {1, 22716, -4148}, /* Mus Alpha */
4040 {1, 23468, -4292}, /* Mus Delta */
4041 {1, 22574, -4327}, /* Mus Gamma */
4042 {1, 22716, -4148}, /* Mus Alpha */
4043 {1, 22988, -4086}, /* Mus Beta */
4044 {-1, 0, 0},
4045};
4046
4047/* Norma */
4048static ConFig _Norma_rey_figs[] = {
4049 {0, 28995, -2710}, /* Nor Delta */
4050 {1, 28896, -2953}, /* Nor Eta */
4051 {1, 29395, -3009}, /* Nor Gamma2 */
4052 {1, 29616, -2853}, /* Nor Epsilon */
4053 {1, 28995, -2710}, /* Nor Delta */
4054 {-1, 0, 0},
4055};
4056
4057/* Octans */
4058static ConFig _Octans_rey_figs[] = {
4059 { 0, 26007, -5020},
4060 { 1, 39044, -4643},
4061 /* { 1, 40200, -4826}, */
4062 { 1, 40981, -4882},
4063 { 1, 26007, -5020},
4064 {-1, 0, 0},
4065};
4066
4067/* Ophiuchus */
4068static ConFig _Ophiuchus_rey_figs[] = {
4069 { 0, 31301, -1688}, /* 43 */
4070 { 1, 31060, -1596}, /* 36 */
4071 { 1, 31260, -1499}, /* Theta */
4072 { 1, 31391, -1450}, /* 44 */
4073 { 1, 31230, -1267}, /* Xi */
4074 { 1, 30911, -943}, /* Eta */
4075 { 1, 29915, -634}, /* Zeta */
4076 { 1, 29734, -996}, /* Phi */
4077 { 1, 29610, -1107}, /* Chi */
4078 { 1, 29523, -1202}, /* Psi */
4079 { 1, 29764, -1288}, /* Omega */
4080 { 0, 30911, -943}, /* Eta */
4081 { 1, 31904, 274}, /* Kelb al Rai */
4082 { 1, 31647, 753}, /* Ras Alhague */
4083 { 1, 30530, 562}, /* Kappa */
4084 { 1, 29915, -634}, /* Zeta */
4085 { 0, 32419, 175}, /* 67 */
4086 { 1, 32036, 162}, /* Gamma */
4087 { 1, 31904, 274}, /* Kelb al Rai */
4088 { 1, 30530, 562}, /* Kappa */
4089 { 1, 30419, 609}, /* Iota */
4090 { 1, 29727, 119}, /* Lambda */
4091 { 1, 29230, -221}, /* Delta */
4092 {-1, 0, 0},
4093};
4094
4095/* Orion */
4096static ConFig _Orion_rey_figs[] = {
4097 {0, 10433, -580}, /* Ori Kappa-53 */
4098 {1, 10223, -116}, /* Ori Zeta-50 */
4099 {1, 10655, 444}, /* Betelgeuse */
4100 {1, 9924, 357}, /* Ori 32 */
4101 {1, 9754, 381}, /* Bellatrix */
4102 {1, 9960, -17}, /* Mintaka */
4103 {1, 9734, -143}, /* Ori Eta-28 */
4104 {1, 9436, -492}, /* Rigel */
4105 {0, 10223, -116}, /* Ori Zeta-50 */
4106 {1, 10086, -72}, /* Alnilam */
4107 {1, 9960, -17}, /* Mintaka */
4108 {0, 9924, 357}, /* Ori 32 */
4109 {1, 10054, 596}, /* Ori Lambda-39 */
4110 {0, 9754, 381}, /* Bellatrix */
4111 {1, 8695, 418}, /* Ori Pi3-1 */
4112 {0, 8956, 103}, /* Ori Pi6-10 */
4113 {1, 8828, 146}, /* Ori Pi5-8 */
4114 {1, 8736, 336}, /* Ori Pi4-3 */
4115 {1, 8695, 418}, /* Ori Pi3-1 */
4116 {1, 8718, 534}, /* Ori Pi2-2 */
4117 {1, 8847, 609}, /* Ori Pi1-7 */
4118 {1, 8891, 811}, /* Ori Omicro2-9 */
4119 {0, 10655, 444}, /* Betelgeuse */
4120 {1, 10872, 579}, /* Ori Mu-61 */
4121 {1, 11158, 853}, /* Ori Xi-70 */
4122 {1, 11027, 886}, /* Ori Nu-67 */
4123 {1, 10631, 1217}, /* Ori Chi1-54 */
4124 {1, 10918, 1208}, /* Ori Chi2-62 */
4125 {1, 11158, 853}, /* Ori Xi-70 */
4126 {-1, 0, 0},
4127};
4128
4129/* Pavo */
4130static ConFig _Pavo_rey_figs[] = {
4131 {0, 38593, -3921}, /* Pav Gamma */
4132 {1, 36769, -3404}, /* Pav Alpha */
4133 {1, 36262, -3970}, /* Pav Delta */
4134 {1, 36018, -4374}, /* Pav Epsilon */
4135 {1, 33691, -4285}, /* Pav Zeta */
4136 {1, 34109, -4034}, /* Pav Kappa */
4137 {1, 36262, -3970}, /* Pav Delta */
4138 {1, 37349, -3972}, /* Pav Beta */
4139 {1, 38593, -3921}, /* Pav Gamma */
4140 {0, 34109, -4034}, /* Pav Kappa */
4141 {1, 33967, -3731}, /* Pav Lambda */
4142 {1, 32657, -3820}, /* Pav Pi */
4143 {1, 31972, -3883}, /* Pav Eta */
4144 {0, 32657, -3820}, /* Pav Pi */
4145 {1, 33097, -3689}, /* Pav Xi */
4146 {1, 33967, -3731}, /* Pav Lambda */
4147 {-1, 0, 0},
4148};
4149
4150/* Pegasus */
4151static ConFig _Pegasus_rey_figs[] = {
4152 { 0, 39125, 592}, /* Eniph */
4153 { 1, 40844, 649}, /* Homam */
4154 { 0, 39906, 371}, /* theta */
4155 { 1, 40844, 649}, /* Homam */
4156 { 1, 41001, 730}, /* xi */
4157 { 1, 41543, 912}, /* Markab */
4158 { 1, 397, 911}, /* Algenib */
4159 { 2, 251, 1745}, /* Alpheratz */
4160 { 2, 41513, 1684}, /* beta */
4161 { 1, 41543, 912}, /* Markab */
4162 { 0, 397, 911}, /* Algenib */
4163 { 1, 41513, 1684}, /* beta */
4164 { 0, 38462, 1188}, /* 1 */
4165 { 1, 39139, 1538}, /* kappa */
4166 { 1, 39810, 1520}, /* iota */
4167 { 1, 40996, 1413}, /* lambda */
4168 { 1, 41100, 1476}, /* mu */
4169 { 1, 40890, 1813}, /* eta */
4170 { 1, 39876, 1990}, /* pi */
4171 { 0, 39135, 1041}, /* 9 */
4172 { 1, 39810, 1520}, /* iota */
4173 { 0, 39810, 1520}, /* iota */
4174 { 1, 41001, 730}, /* xi */
4175 { 0, 41543, 912}, /* Markab */
4176 { 1, 40996, 1413}, /* lambda */
4177 {-1, 0, 0},
4178};
4179
4180/* Perseus */
4181static ConFig _Perseus_rey_figs[] = {
4182 { 0, 7397, 3021}, /* lambda */
4183 { 1, 7646, 2904}, /* mu */
4184 { 1, 7460, 2862}, /* 48 */
4185 { 1, 6687, 2867}, /* delta */
4186 { 1, 6494, 2891}, /* psi */
4187 { 1, 6129, 2991}, /* Mirfak */
4188 { 1, 5544, 3210}, /* gamma */
4189 { 1, 5121, 3353}, /* eta */
4190 { 1, 5227, 3165}, /* tau */
4191 { 1, 5672, 2976}, /* iota */
4192 { 0, 5544, 3210}, /* gamma */
4193 { 1, 5227, 3165}, /* tau */
4194 { 0, 6129, 2991}, /* Mirfak */
4195 { 1, 6317, 2879}, /* sigma */
4196 { 1, 6756, 2554}, /* nu */
4197 { 1, 7135, 2400}, /* epsilon */
4198 { 1, 7169, 2147}, /* xi */
4199 { 1, 7024, 1913}, /* zeta */
4200 { 1, 6729, 1937}, /* omicron */
4201 { 0, 6129, 2991}, /* Mirfak */
4202 { 1, 5672, 2976}, /* iota */
4203 { 1, 4925, 2953}, /* theta */
4204 { 1, 3109, 3041}, /* phi */
4205 { 0, 5672, 2976}, /* iota */
4206 { 1, 5685, 2691}, /* kappa */
4207 { 1, 5645, 2457}, /* Algol */
4208 { 1, 5555, 2330}, /* rho */
4209 { 1, 5117, 2299}, /* 16 */
4210 { 0, 5645, 2457}, /* Algol */
4211 { 1, 7135, 2400}, /* epsilon */
4212 {-1, 0, 0},
4213};
4214
4215/* Phoenix */
4216static ConFig _Phoenix_rey_figs[] = {
4217 {0, 2052, -3314}, /* Phe Zeta */
4218 {1, 1983, -2803}, /* Phe Beta */
4219 {1, 1240, -2765}, /* Phe Mu */
4220 {1, 786, -2620}, /* Phe Kappa */
4221 {1, 789, -2538}, /* Phe Alpha */
4222 {1, 282, -2744}, /* Phe Epsilon */
4223 {1, 786, -2620}, /* Phe Kappa */
4224 {0, 2738, -2944}, /* Phe Delta */
4225 {1, 1983, -2803}, /* Phe Beta */
4226 {1, 2651, -2599}, /* Phe Gamma */
4227 {1, 1240, -2765}, /* Phe Mu */
4228 {0, 1983, -2803}, /* Phe Beta */
4229 {1, 1301, -3447}, /* Phe Eta */
4230 {1, 1240, -2765}, /* Phe Mu */
4231 {-1, 0, 0},
4232};
4233
4234/* Pictor */
4235static ConFig _Pictor_rey_figs[] = {
4236 {0, 12246, -3716}, /* Pic Alpha */
4237 {1, 10495, -3370}, /* Pic Gamma */
4238 {1, 10419, -3063}, /* Pic Beta */
4239 {1, 12246, -3716}, /* Pic Alpha */
4240 {-1, 0, 0},
4241};
4242
4243/* Pisces */
4244static ConFig _Pisces_rey_figs[] = {
4245 {0, 42599, 338}, /* Psc Iota-17 */
4246 {1, 42239, 383}, /* Psc Theta-10 */
4247 {1, 42010, 323}, /* Psc 7 */
4248 {1, 41915, 197}, /* Psc Gamma-6 */
4249 {1, 42217, 67}, /* Psc 9 */
4250 {1, 42661, 107}, /* Psc Lambda-18 */
4251 {1, 42599, 338}, /* Psc Iota-17 */
4252 {1, 43179, 412}, /* Psc Omega-28 */
4253 {1, 1461, 455}, /* Psc Delta-63 */
4254 {1, 1888, 473}, /* Psc Epsilo-71 */
4255 {1, 2213, 455}, /* Psc Zeta-86 */
4256 {1, 2706, 369}, /* Psc Mu-98 */
4257 {1, 3043, 329}, /* Psc Nu-106 */
4258 {1, 3661, 166}, /* Kaitain */
4259 {1, 3162, 549}, /* Psc Omicr-110 */
4260 {1, 2745, 921}, /* Psc Eta-99 */
4261 {1, 2588, 1150}, /* Psc Rho-93 */
4262 {1, 2212, 1475}, /* Psc Phi-85 */
4263 {1, 2384, 1636}, /* Psc Upsilo-90 */
4264 {1, 2150, 1805}, /* Psc Tau-83 */
4265 {1, 2212, 1475}, /* Psc Phi-85 */
4266 {-1, 0, 0},
4267};
4268
4269/* Piscis Austrinus */
4270static ConFig _Piscis_Austrinus_rey_figs[] = {
4271 {0, 39148, -1981}, /* PsA Iota-9 */
4272 {1, 39852, -1979}, /* PsA Mu-14 */
4273 {1, 40545, -1940}, /* PsA Beta-17 */
4274 {1, 41176, -1972}, /* PsA Gamma-22 */
4275 {1, 41278, -1952}, /* PsA Delta-23 */
4276 {1, 41330, -1777}, /* Fomalhaut */
4277 {1, 40820, -1622}, /* PsA Epsilo-18 */
4278 {1, 39852, -1979}, /* PsA Mu-14 */
4279 {1, 39232, -1853}, /* PsA Theta-10 */
4280 {1, 39148, -1981}, /* PsA Iota-9 */
4281 {-1, 0, 0},
4282};
4283
4284/* Puppis */
4285static ConFig _Puppis_rey_figs[] = {
4286 {0, 11519, -3161}, /* Canopus */
4287 {1, 11933, -2591}, /* Pup Nu */
4288 {1, 13114, -2225}, /* Pup Pi */
4289 {1, 13661, -1702}, /* GSC star */
4290 {1, 13765, -1608}, /* 'Nother GSC star */
4291 {1, 13749, -1522}, /* GSC star */
4292 {1, 14079, -1492}, /* Pup Xi-7 */
4293 {1, 14626, -1458}, /* Pup Rho-15 */
4294 {1, 14508, -2400}, /* Pup Zeta */
4295 {1, 14686, -2840}, /* Vel Gamma2 */
4296 {0, 13661, -1702}, /* GSC Star */
4297 {1, 13914, -1737}, /* Pup 3 */
4298 {1, 14043, -1556}, /* Pup Omicron */
4299 {1, 14079, -1492}, /* Pup Xi-7 */
4300 {-1, 0, 0},
4301};
4302
4303/* Pyxis */
4304static ConFig _Pyxis_rey_figs[] = {
4305 { 0, 14508, -2400}, /* Pup Zeta */
4306 { 1, 15603, -2118},
4307 { 1, 15708, -1991},
4308 { 1, 15916, -1662},
4309 {-1, 0, 0},
4310};
4311
4312/* Reticulum - no change */
4313
4314/* Sagitta */
4315static ConFig _Sagitta_rey_figs[] = {
4316 /* { 0, 36154, 1199}, */ /* Sge Eta-16 */
4317 { 0, 35962, 1169},
4318 { 1, 35621, 1112},
4319 { 1, 35431, 1048},
4320 { 0, 35621, 1112},
4321 { 1, 35403, 1080},
4322 {-1, 0, 0},
4323};
4324
4325/* Sagittarius */
4326static ConFig _Sagittarius_rey_figs[] = {
4327 {0, 32929, -2205}, /* Sgr Eta */
4328 {1, 33125, -2063}, /* Kaus Australis */
4329 {1, 33030, -1789}, /* Sgr Delta-19 */
4330 {1, 33239, -1525}, /* Sgr Lambda-22 */
4331 {1, 32813, -1263}, /* Sgr Mu-13 */
4332 {1, 32574, -1825}, /* Sgr Gamma2-10 */
4333 {1, 32929, -2205}, /* Sgr Eta */
4334 {0, 32574, -1825}, /* Sgr Gamma2-10 */
4335 {1, 33030, -1789}, /* Sgr Delta-19 */
4336 {1, 33770, -1619}, /* Sgr Phi-27 */
4337 {1, 34058, -1577}, /* Sgr Sigma-34 */
4338 {1, 34132, -1266}, /* Sgr Xi2-37 */
4339 {1, 34493, -1261}, /* Sgr Pi-41 */
4340 {1, 34850, -1070}, /* Sgr Rho1-44 */
4341 {1, 34852, -957}, /* Sgr Upsilo-46 */
4342 {0, 34493, -1261}, /* Sgr Pi-41 */
4343 {1, 34058, -1577}, /* Sgr Sigma-34 */
4344 {1, 34408, -1660}, /* Sgr Tau-40 */
4345 {1, 35992, -2116}, /* Sgr Theta1 */
4346 {1, 35858, -2512}, /* Sgr Iota */
4347 {0, 33770, -1619}, /* Sgr Phi-27 */
4348 {1, 34278, -1792}, /* Sgr Zeta-38 */
4349 {1, 34917, -2436}, /* Sgr Alpha */
4350 {1, 34879, -2667}, /* Sgr Beta1 */
4351 {0, 34917, -2436}, /* Sgr Alpha */
4352 {1, 35992, -2116}, /* Sgr Theta1 */
4353 {0 , 34278, -1792}, /* Sgr Zeta-38 */
4354 {1, 34408, -1660}, /* Sgr Tau-40 */
4355 {-1, 0, 0},
4356};
4357
4358/* Scorpius */
4359static ConFig _Scorpius_rey_figs[] = {
4360 {0, 28810, -1357}, /* Sco Delta-7 */
4361 {1, 28963, -1188}, /* Sco Beta1-8 */
4362 {1, 29159, -1166}, /* Sco Nu-14 */
4363 {1, 29436, -1535}, /* Sco Sigma-20 */
4364 {1, 29169, -1675}, /* Sco 13 */
4365 {1, 28707, -1752}, /* Sco Rho-5 */
4366 {1, 28766, -1566}, /* Sco Pi-6 */
4367 {0, 29436, -1535}, /* Sco Sigma-20 */
4368 {1, 29682, -1585}, /* Antares */
4369 {1, 29877, -1692}, /* Sco Tau-23 */
4370 {1, 30305, -2057}, /* Sco Epsilo-26 */
4371 {1, 30356, -2282}, /* Sco Mu1 */
4372 {1, 30438, -2541}, /* Sco Zeta2 */
4373 {1, 30965, -2594}, /* Sco Eta */
4374 {1, 31720, -2579}, /* Sco Theta */
4375 {1, 32028, -2407}, /* Sco Iota1 */
4376 {1, 31875, -2341}, /* Sco Kappa */
4377 {1, 31523, -2237}, /* Sco Upsilo-34 */
4378 {1, 31608, -2226}, /* Shaula */
4379 { 1, 32095, -2222}, /* NGC 6441 (GC) ? */
4380 {-1, 0, 0},
4381 /* Orginal figure Follows
4382 * { 0, 28963, -1188},
4383 * { 1, 29004, -1240},
4384 * { 1, 29159, -1166},
4385 * { 1, 28930, -682},
4386 * { 1, 28963, -1188},
4387 * { 1, 28810, -1357},
4388 * { 1, 28765, -1566},
4389 * { 1, 28706, -1752},
4390 * { 0, 28810, -1357},
4391 * { 1, 29435, -1535},
4392 * { 1, 29681, -1585},
4393 * { 1, 29876, -1692},
4394 * { 1, 30305, -2057},
4395 * { 1, 29741, -2082},
4396 * { 1, 29891, -2115},
4397 * { 1, 30305, -2057},
4398 * { 1, 30356, -2282},
4399 * { 1, 30437, -2541},
4400 * { 1, 30964, -2594},
4401 * { 1, 31719, -2579},
4402 * { 1, 32027, -2407},
4403 * { 1, 31874, -2341},
4404 * { 1, 31608, -2226},
4405 * { 0, 32027, -2407}, */
4406};
4407
4408/* Sculptor - no change */
4409
4410/* Scutum */
4411static ConFig _Scutum_rey_figs[] = {
4412 {0, 33456, -494}, /* Sct Alpha */
4413 {1, 33276, -873}, /* Sct Gamma */
4414 {1, 33668, -543}, /* Sct Delta */
4415 {1, 33815, -284}, /* Sct Beta */
4416 {1, 33456, -494}, /* Sct Alpha */
4417 {-1, 0, 0},
4418};
4419
4420/* Serpens Caput */
4421static ConFig _Serpens_Caput_rey_figs[] = {
4422 { 0, 29634, -502}, /* Upsilon Oph */
4423 { 1, 29350, -282}, /* Epsilon Oph */
4424 { 1, 29230, -221}, /* Delta Oph*/
4425 { 1, 28488, -205}, /* Mu */
4426 { 1, 28509, 131}, /* Omega */
4427 { 1, 28524, 268}, /* Epsilon */
4428 { 1, 28328, 385}, /* Unulkalhay */
4429 { 1, 28407, 441}, /* Lambda */
4430 { 1, 28044, 632}, /* Delta */
4431 { 1, 28385, 925}, /* Beta */
4432 { 1, 28693, 939}, /* Gamma */
4433 { 1, 28462, 1088}, /* Kappa */
4434 { 1, 28246, 1180}, /* Iota */
4435 { 1, 28385, 925}, /* Beta */
4436 {-1, 0, 0},
4437};
4438
4439/* Sextans - no change */
4440
4441/* Taurus */
4442static ConFig _Taurus_rey_figs[] = {
4443 { 0, 9789, 1716}, /* Alnath */
4444 { 1, 8467, 1377}, /* tau */
4445 { 1, 7989, 1368}, /* upsilon */
4446 { 1, 8058, 1150}, /* epsilon */
4447 { 1, 7964, 1075}, /* delta-3 */
4448 { 1, 7888, 1052}, /* delta-1 */
4449 { 1, 7794, 937}, /* gamma */
4450 { 1, 8060, 952}, /* theta-2 */
4451 { 1, 8277, 990}, /* Aldebaran */
4452 { 1, 10129, 1268}, /* zeta */
4453 { 1, 8467, 1377}, /* tau */
4454 { 0, 7794, 937}, /* gamma */
4455 { 1, 7220, 749}, /* lambda */
4456 { 1, 6215, 583}, /* xi-2 */
4457 { 1, 6326, 776}, /* 5 */
4458 { 0, 6215, 583}, /* xi-2 */
4459 { 1, 6144, 541}, /* omicron-1 */
4460 { 1, 6506, 24}, /* 10 */
4461 { 0, 6215, 583}, /* xi-2 */
4462 { 1, 7294, 359}, /* nu */
4463 { 0, 7665, 533}, /* mu */
4464 { 1, 7794, 937}, /* gamma */
4465 { 1, 8344, 750}, /* 90 */
4466 { 1, 8269, 609}, /* 88 */
4467 { 0, 7989, 1368}, /* upsilon */
4468 { 1, 6810, 1447}, /* Pleides */
4469 {-1, 0, 0},
4470};
4471
4472/* Telescopium */
4473static ConFig _Telescopium_rey_figs[] = {
4474 /* { 0, 32737, -2757}, */
4475 { 0, 33209, -2758},
4476 { 1, 33265, -2944},
4477 {-1, 0, 0},
4478};
4479
4480/* Triangulum */
4481static ConFig _Triangulum_rey_figs[] = {
4482 {0, 3392, 1775}, /* Tri Alpha-2 */
4483 {1, 4119, 2031}, /* Tri Gamma-9 */
4484 {1, 3886, 2099}, /* Tri Beta-4 */
4485 {1, 3392, 1775}, /* Tri Alpha-2 */
4486 {-1, 0, 0},
4487};
4488
4489/* Triangulum Australe - no change */
4490
4491/* Tucana */
4492static ConFig _Tucana_rey_figs[] = {
4493 /* { 0, 40420, -3897}, */
4494 { 0, 40155, -3615},
4495 { 1, 41923, -3494},
4496 { 1, 43197, -3934},
4497 { 1, 602, -3892},
4498 { 1, 946, -3777},
4499 { 1, 41923, -3494},
4500 {-1, 0, 0},
4501};
4502
4503/* Ursa Major */
4504static ConFig _Ursa_Major_rey_figs[] = {
4505 { 0, 24826, 2958}, /* Benetnasch */
4506 { 1, 24118, 3295}, /* Mizar */
4507 { 1, 23221, 3357}, /* Alioth */
4508 { 1, 22063, 3421}, /* Megrez */
4509 { 1, 21415, 3221}, /* Phecda */
4510 { 1, 19855, 3382}, /* Merak */
4511 { 1, 19912, 3705}, /* Dubhe */
4512 { 0, 24826, 2958}, /* Benetnasch */
4513 { 2, 21181, 2866}, /* Chi */
4514 { 2, 20090, 2669}, /* Psi */
4515 { 2, 20354, 1985}, /* Nu */
4516 { 0, 20345, 1891}, /* Xi */
4517 { 2, 18670, 2489}, /* Mu */
4518 { 2, 16309, 2829}, /* Kappa */
4519 { 2, 16176, 2882}, /* Talitha */
4520 { 2, 15308, 3643}, /* Omicron */
4521 { 2, 17146, 3783}, /* 23 */
4522 { 2, 19912, 3705}, /* Dubhe */
4523 { 2, 22063, 3421}, /* Megrez */
4524 { 0, 17146, 3783}, /* 23 */
4525 { 2, 17729, 3542}, /* Upsilon */
4526 { 2, 17185, 3100}, /* Theta */
4527 { 2, 18513, 2574}, /* Lambda */
4528 {-1, 0, 0},
4529};
4530
4531/* Ursa Minor - no change */
4532
4533/* Vela - no change */
4534
4535/* Virgo */
4536static ConFig _Virgo_rey_figs[] = {
4537 { 0, 21756, 523},
4538 { 1, 21176, 391},
4539 { 1, 21321, 105},
4540 { 1, 22197, -40},
4541 { 1, 22850, -86},
4542 { 1, 23268, 203},
4543 { 1, 23465, 657},
4544 { 0, 23268, 203},
4545 { 1, 24441, -35},
4546 { 1, 24156, -669},
4547 { 1, 23698, -332},
4548 { 1, 22850, -86},
4549 { 0, 24441, -35},
4550 { 1, 25249, 92},
4551 { 1, 26587, 113},
4552 { 0, 24156, -669},
4553 { 1, 25587, -616},
4554 { 1, 25680, -360},
4555 { 1, 26492, -339},
4556 /* Only need to add two segments to generate Rey's figure: */
4557 {0, 21756, 524}, /* Vir Omicron-9 */
4558 {1, 22850, -86}, /* Vir Gamma-29 */
4559 {0, 25249, 93}, /* Vir Tau-93 */
4560 {1, 25680, -360}, /* Vir Iota-99 */
4561 {-1, 0, 0},
4562};
4563
4564/* Volans - no change */
4565
4566/* Vulpecula */
4567static ConFig _Vulpecula_rey_figs[] = {
4568 { 0, 35804, 1444},
4569 { 1, 35061, 1479},
4570 /* { 1, 34686, 1283}, */
4571 {-1, 0, 0},
4572};
4573
4574/* Serpens Cauda */
4575static ConFig _Serpens_Cauda_rey_figs[] = {
4576 { 0, 34086, 252}, /* Theta */
4577 { 1, 32620, 573}, /* Oph 72 */
4578 { 1, 32563, 149}, /* Oph 70 */
4579 { 1, 33039, -173}, /* Eta */
4580 { 1, 32371, -586}, /* Oph Nu */
4581 { 1, 31842, -772}, /* Omicron */
4582 { 1, 31727, -923}, /* Xi */
4583 { 1, 31225, -770}, /* Nu */
4584 {-1, 0, 0},
4585};
4586
4587
4588static ConFig *reyfigmap[NCNS] = {
4589 _Andromeda_rey_figs,
4590 _Antlia_figs,
4591 _Apus_rey_figs,
4592 _Aquila_rey_figs,
4593 _Aquarius_rey_figs,
4594 _Ara_rey_figs,
4595 _Aries_rey_figs,
4596 _Auriga_rey_figs,
4597 _Bootes_rey_figs,
4598 _Canis_Major_rey_figs,
4599 _Canis_Minor_figs,
4600 _Canes_Venatici_figs,
4601 _Caelum_figs,
4602 _Camelopardalis_rey_figs,
4603 _Capricornus_rey_figs,
4604 _Carina_rey_figs,
4605 _Cassiopeia_rey_figs,
4606 _Centaurus_rey_figs,
4607 _Cepheus_rey_figs,
4608 _Cetus_rey_figs,
4609 _Chamaeleon_rey_figs,
4610 _Circinus_figs,
4611 _Cancer_rey_figs,
4612 _Columba_rey_figs,
4613 _Coma_Berenices_rey_figs,
4614 _Corona_Australis_figs,
4615 _Corona_Borealis_figs,
4616 _Crater_rey_figs,
4617 _Crux_figs,
4618 _Corvus_rey_figs,
4619 _Cygnus_rey_figs,
4620 _Delphinus_rey_figs,
4621 _Dorado_rey_figs,
4622 _Draco_rey_figs,
4623 _Equuleus_rey_figs,
4624 _Eridanus_rey_figs,
4625 _Fornax_figs,
4626 _Gemini_rey_figs,
4627 _Grus_rey_figs,
4628 _Hercules_rey_figs,
4629 _Horologium_figs,
4630 _Hydra_rey_figs,
4631 _Hydrus_rey_figs,
4632 _Indus_rey_figs,
4633 _Leo_Minor_rey_figs,
4634 _Lacerta_rey_figs,
4635 _Leo_rey_figs,
4636 _Lepus_rey_figs,
4637 _Libra_rey_figs,
4638 _Lupus_rey_figs,
4639 _Lynx_figs,
4640 _Lyra_rey_figs,
4641 _Mensa_figs,
4642 _Microscopium_figs,
4643 _Monoceros_rey_figs,
4644 _Musca_rey_figs,
4645 _Norma_rey_figs,
4646 _Octans_rey_figs,
4647 _Ophiuchus_rey_figs,
4648 _Orion_rey_figs,
4649 _Pavo_rey_figs,
4650 _Pegasus_rey_figs,
4651 _Perseus_rey_figs,
4652 _Phoenix_rey_figs,
4653 _Pictor_rey_figs,
4654 _Piscis_Austrinus_rey_figs,
4655 _Pisces_rey_figs,
4656 _Puppis_rey_figs,
4657 _Pyxis_rey_figs,
4658 _Reticulum_figs,
4659 _Sculptor_figs,
4660 _Scorpius_rey_figs,
4661 _Scutum_rey_figs,
4662 _Serpens_Caput_rey_figs,
4663 _Sextans_figs,
4664 _Sagitta_rey_figs,
4665 _Sagittarius_rey_figs,
4666 _Taurus_rey_figs,
4667 _Telescopium_rey_figs,
4668 _Triangulum_Australe_figs,
4669 _Triangulum_rey_figs,
4670 _Tucana_rey_figs,
4671 _Ursa_Major_rey_figs,
4672 _Ursa_Minor_figs,
4673 _Vela_figs,
4674 _Virgo_rey_figs,
4675 _Volans_figs,
4676 _Vulpecula_rey_figs,
4677 _Serpens_Cauda_rey_figs,
4678};
4679
4680/* given a constellation id and epoch, return arrays of ra[] and dec[]
4681 * end-points precessed to the desired epoch that, if connected, will form the
4682 * given constellation figure.
4683 * dcodes is 0 if the coord is a "move-to", 1 if a "draw-to" or 2 if a "draw-to
4684 * as dotted-line".
4685 * return the total number of tripples or -1 if id is bogus.
4686 * the arrays need be no larger than 33 entries.
4687 */
4688int
4689cns_reyfigure (int id, double e, double ra[], double dec[], int dcodes[])
4690{
4691 ConFig *cfp;
4692
4693 if (id < 0 || id >= NCNS)
4694 return (-1);
4695
4696 for (cfp = reyfigmap[id]; cfp->drawcode >= 0; cfp++) {
4697 *ra = hrrad((double)cfp->ra/1800.0);
4698 *dec = degrad((double)cfp->dec/60.0);
4699 precess (J2000, e, ra, dec);
4700 ra++;
4701 dec++;
4702 *dcodes++ = cfp->drawcode;
4703 }
4704
4705 return (cfp - reyfigmap[id]);
4706}
4707
4708/* For RCS Only -- Do Not Edit */
4709static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: constel.c,v $ $Date: 2004-06-15 16:54:11 $ $Revision: 1.1 $ $Name: not supported by cvs2svn $"};
Note: See TracBrowser for help on using the repository browser.