From b61f6f4d53803ecf83d9d6152a48bc39c1f2dd42 Mon Sep 17 00:00:00 2001 From: "Anna (navi) Figueiredo Gomes" Date: Thu, 9 Nov 2023 16:58:59 +0100 Subject: init Signed-off-by: Anna (navi) Figueiredo Gomes --- README.md | 36 +++++ main.c | 391 +++++++++++++++++++++++++++++++++++++++++++++++ meson.build | 6 + stargaze/andromeda | 12 ++ stargaze/antlia | 10 ++ stargaze/apus | 10 ++ stargaze/aquarius | 19 +++ stargaze/aquila | 13 ++ stargaze/ara | 12 ++ stargaze/aries | 10 ++ stargaze/auriga | 12 ++ stargaze/bootes | 16 ++ stargaze/caelum | 10 ++ stargaze/camelopardalis | 16 ++ stargaze/cancer | 11 ++ stargaze/canes_venatici | 14 ++ stargaze/canis_major | 15 ++ stargaze/canis_minor | 8 + stargaze/capricorn | 17 +++ stargaze/carina | 15 ++ stargaze/cassiopeia | 11 ++ stargaze/centaurus | 17 +++ stargaze/circinus | 11 ++ stargaze/corona_borealis | 13 ++ stargaze/crux | 10 ++ stargaze/cygnus | 14 ++ stargaze/friggerock | 9 ++ stargaze/gemini | 22 +++ stargaze/leo | 15 ++ stargaze/libra | 13 ++ stargaze/lupus | 15 ++ stargaze/lyra | 12 ++ stargaze/monoceros | 15 ++ stargaze/ophiuchus | 16 ++ stargaze/orion | 14 ++ stargaze/pisces | 24 +++ stargaze/puppis | 15 ++ stargaze/sagittarius | 14 ++ stargaze/scorpio | 22 +++ stargaze/taurus | 17 +++ stargaze/ursa_major | 13 ++ stargaze/ursa_minor | 13 ++ stargaze/virgo | 15 ++ 43 files changed, 993 insertions(+) create mode 100644 README.md create mode 100644 main.c create mode 100644 meson.build create mode 100644 stargaze/andromeda create mode 100644 stargaze/antlia create mode 100644 stargaze/apus create mode 100644 stargaze/aquarius create mode 100644 stargaze/aquila create mode 100644 stargaze/ara create mode 100644 stargaze/aries create mode 100644 stargaze/auriga create mode 100644 stargaze/bootes create mode 100644 stargaze/caelum create mode 100644 stargaze/camelopardalis create mode 100644 stargaze/cancer create mode 100644 stargaze/canes_venatici create mode 100644 stargaze/canis_major create mode 100644 stargaze/canis_minor create mode 100644 stargaze/capricorn create mode 100644 stargaze/carina create mode 100644 stargaze/cassiopeia create mode 100644 stargaze/centaurus create mode 100644 stargaze/circinus create mode 100644 stargaze/corona_borealis create mode 100644 stargaze/crux create mode 100644 stargaze/cygnus create mode 100644 stargaze/friggerock create mode 100644 stargaze/gemini create mode 100644 stargaze/leo create mode 100644 stargaze/libra create mode 100644 stargaze/lupus create mode 100644 stargaze/lyra create mode 100644 stargaze/monoceros create mode 100644 stargaze/ophiuchus create mode 100644 stargaze/orion create mode 100644 stargaze/pisces create mode 100644 stargaze/puppis create mode 100644 stargaze/sagittarius create mode 100644 stargaze/scorpio create mode 100644 stargaze/taurus create mode 100644 stargaze/ursa_major create mode 100644 stargaze/ursa_minor create mode 100644 stargaze/virgo diff --git a/README.md b/README.md new file mode 100644 index 0000000..90d285f --- /dev/null +++ b/README.md @@ -0,0 +1,36 @@ +# stargaze -- pretty view of star constellations + +the program looks up starfiles in +* `${XDG_DATA_HOME}/stargaze`, defaulting to `~/.local/share`. +* `${prefix}/share/stargaze`, defaulting to /usr/local, but probably set to /usr by your distribution. +* a `stargaze/` folder in the current directory. + +see `stargaze -h` for options. + +## starfile format + +the file is made out of attribute names and data. +the following attributes are supported: +`name` used to generate the fullwidth borders +`quadrant`, `ascension`, `declination`, `area`, and `n_stars`, used to generate the info box. +`star`, which is followed by ` ` coordenates. the coordenates must be between 0 and 19, inclusive. + +## installation + +the prefered way to install stargaze is via your distributions package manager. + +in the case it's not packaged for you distro, install `notcurses`, +clone this repo or grab the tarball, and use meson to install: + +`meson setup -Dbuildtype=release build` +`meson install -C build` + +you will be prompted to elevate priveldges. + +(or, consider packaging it ~w~) + +## known bug + +notcurses seems to have a bug when handling escape sequences in specific terminal emulators. + +depending on your terminal, rarely it might hang when running. i don't think i can fix this without patching notcurses. diff --git a/main.c b/main.c new file mode 100644 index 0000000..1f33800 --- /dev/null +++ b/main.c @@ -0,0 +1,391 @@ +#include +#include +#include +#include +#include +#include + +#ifndef DATADIR +#define DATADIR "/usr/local" +#endif + +#define STARBOX_HEIGHT 12 +#define STARBOX_WIDTH 24 +#define INFOBOX_WIDTH 40 +#define STARBOX_MAX_TITLE ((STARBOX_WIDTH - 2) / 2) + +char *pick_constellation(void) { + char *xdg_dir = getenv("XDG_DATA_HOME"); + if (!xdg_dir) + xdg_dir = "~/.local/share"; + size_t len = snprintf(NULL, 0, "%s/%s", xdg_dir, "stargaze"); + char *user_dir = malloc(++len); + snprintf(user_dir, len, "%s/%s", xdg_dir, "stargaze"); + + const char * const dirs[] = { + "./stargaze/", + user_dir, + DATADIR "/stargaze/", + }; + + char **files = calloc(10, sizeof(*files)); + size_t nfiles = 0, max_files = 10; + for (size_t i = 0; i < sizeof(dirs) / sizeof(*dirs); i++) { + DIR *dir = opendir(dirs[i]); + if (!dir) + continue; + + struct dirent *dirent; + while ((dirent = readdir(dir))) { + if (dirent->d_type != DT_REG) + continue; + if (nfiles + 1 > max_files) + files = (max_files += 10, realloc(files, sizeof(*files) * max_files)); + size_t len = snprintf(NULL, 0, "%s/%s", dirs[i], dirent->d_name); + files[nfiles] = malloc(++len); + snprintf(files[nfiles++], len, "%s/%s", dirs[i], dirent->d_name); + } + closedir(dir); + } + + char *out = NULL; + if (nfiles > 0) { + srand(time(NULL)); + int choice = rand() % nfiles; + out = files[choice]; + files[choice] = files[--nfiles]; + } + + for (size_t i = 0; i < nfiles; i++) + free(files[i]); + free(files); + + free(user_dir); + + return out; +} + +char *name_to_fullwidth(const char *name, size_t len) { + if (!name) return NULL; + char *new_name = calloc((len * 3) + 1, sizeof(char)); + + size_t j = 0; + for (size_t i = 0; i < len; i++) { + if (isalnum(name[i])) { + uint32_t codepoint = name[i] + 0xFEE0; + new_name[j++] = 0xE0 | (codepoint >> 12); + new_name[j++] = 0x80 | ((codepoint >> 6) & 0x3F); + new_name[j++] = 0x80 | (codepoint & 0x3F); + } else { + new_name[j++] = name[i]; + } + } + new_name[j] = '\0'; + + return new_name; +} + +enum attibute_types { + STAR_ATTR_QUADRANT, + STAR_ATTR_ASCENSION, + STAR_ATTR_DECLINATION, + STAR_ATTR_AREA, + STAR_ATTR_STARS, + STAR_ATTR_TOTAL +}; + +struct constellation { + char *name[2]; + size_t name_len[2]; + char *display_name[2]; + + struct attribute { + char *key; + char *shortname; + char *symbol; + char *value; + } attributes[STAR_ATTR_TOTAL]; + + size_t longest_attr; + + size_t n_stars, max_stars; + struct point { size_t x, y; } stars[]; +}; + +struct constellation *parse_constellation(const char *path) { + FILE *fp = NULL; + if (!(fp = fopen(path, "r"))) { + return NULL; + } + struct constellation *constellation = calloc(1, sizeof(*constellation) + sizeof(*constellation->stars) * 10); + constellation->max_stars = 10; + + char *line = NULL; + size_t line_bufsiz; + size_t len; + while ((len = getline(&line, &line_bufsiz, fp)) != -1) { + line[len - 1] = '\0'; + char *data = strchr(line, ' '); + size_t datalen = len - (data - line); + if (!data) continue; + *data++ = '\0'; + if (!*data) continue; + + if (strcmp(line, "star") == 0) { + size_t x, y; + if (sscanf(data, "%ld %ld", &x, &y) != 2) + continue; + if (x >= 20 || y >= 20) + continue; + if (constellation->n_stars + 1 < constellation->max_stars) { + constellation->max_stars += 5; + constellation = realloc(constellation, sizeof(*constellation) + sizeof(*constellation->stars) * constellation->max_stars); + } + constellation->stars[constellation->n_stars++] = (struct point) { .x = x, .y = y }; + + continue; + } else if (strcmp(line, "name") == 0) { + if (constellation->name[0]) + continue; + constellation->name[0] = strdup(data); + constellation->name_len[0] = datalen; + char *spc; + + if (constellation->name_len[0] >= STARBOX_MAX_TITLE && (spc = strchr(constellation->name[0], ' '))) { + *spc = '\0'; + + constellation->name[1] = spc + 1; + constellation->name_len[1] = constellation->name_len[0] - (constellation->name[1] - constellation->name[0]); + constellation->name_len[0] -= constellation->name_len[1]; + } + + constellation->display_name[0] = name_to_fullwidth(constellation->name[0], + constellation->name_len[0] > STARBOX_MAX_TITLE ? STARBOX_MAX_TITLE : constellation->name_len[0]); + constellation->display_name[1] = name_to_fullwidth(constellation->name[1], + constellation->name_len[1] > STARBOX_MAX_TITLE ? STARBOX_MAX_TITLE : constellation->name_len[1]); + + } else if (strcmp(line, "quadrant") == 0) { + if (constellation->attributes[STAR_ATTR_QUADRANT].value) + continue; + constellation->attributes[STAR_ATTR_QUADRANT] = (struct attribute) { + .shortname = "Quad", + .key = "Quadrant", + .symbol = "Q", + .value = strdup(data), + }; + } else if (strcmp(line, "ascension") == 0) { + if (constellation->attributes[STAR_ATTR_ASCENSION].value) + continue; + constellation->attributes[STAR_ATTR_ASCENSION] = (struct attribute) { + .shortname = "Asc", + .key = "Ascension", + .symbol = "α", + .value = strdup(data), + }; + } else if (strcmp(line, "declination") == 0) { + if (constellation->attributes[STAR_ATTR_DECLINATION].value) + continue; + constellation->attributes[STAR_ATTR_DECLINATION] = (struct attribute) { + .shortname = "Decl", + .key = "Declination", + .symbol = "δ", + .value = strdup(data), + }; + } else if (strcmp(line, "area") == 0) { + if (constellation->attributes[STAR_ATTR_AREA].value) + continue; + constellation->attributes[STAR_ATTR_AREA] = (struct attribute) { + .shortname = "Area", + .key = "Area", + .symbol = "A", + .value = strdup(data), + }; + } else if (strcmp(line, "n_stars") == 0) { + if (constellation->attributes[STAR_ATTR_STARS].value) + continue; + constellation->attributes[STAR_ATTR_STARS] = (struct attribute) { + .shortname = "Stars", + .key = "Main Stars", + .symbol = "✦", + .value = strdup(data), + }; + } + } + free(line); + + return constellation; +} + +void constellation_free(struct constellation* constellation) { + if (!constellation) + return; + free(constellation->name[0]); + free(constellation->display_name[0]); + free(constellation->display_name[1]); + for (size_t i = 0; i < STAR_ATTR_TOTAL; i++) { + free(constellation->attributes[i].value); + } + free(constellation); +} + +void usage(const char* name) { + fprintf(stderr, +"usage: %s [-s|-S] [-f ] [-c ] [-p ]\n\ +\n\ +-f loads a specific starfile\n\ +-c hex color for the stars and highligts\n\ +-s | -S symbol or shortname form for the info box\n\ +-p the padding between the star window and the info text\n\ +\n\ +starfiles are picked from ./stargaze, %s/share/stargaze and ${XDG_DATA_HOME}/stargaze (defaults to ~/.local/share)\n", + name, DATADIR); +} + +enum info_format { + INFO_FULL, + INFO_SHORT, + INFO_SYM +}; + +int main(int argc, char **argv) { + char *starfile = NULL; + char opt; + enum info_format format = INFO_FULL; + struct color { int r, g, b; bool set; } color; + size_t padding = 5; + while ((opt = getopt(argc, argv, "hf:Ssc:")) != -1) { + switch (opt) { case 'h': + usage(argv[0]); + return EXIT_SUCCESS; + case 'S': + format = INFO_SHORT; + break; + case 's': + format = INFO_SYM; + break; + case 'f': + starfile = optarg; + break; + case 'c': + if (!(color.set = sscanf(optarg, "%2x%2x%2x", &color.r, &color.g, &color.b) == 3)) + fprintf(stderr, "%s is not a valid rgb hex color.\n", optarg); + break; + case 'p': + padding = atoi(optarg); + break; + default: + usage(argv[0]); + return EXIT_FAILURE; + } + } + if (!starfile) + starfile = pick_constellation(); + struct constellation *constellation = parse_constellation(starfile); + if (!constellation) { + fputs("failed to load constellation file\n", stderr); + return EXIT_FAILURE; + } + + struct notcurses_options opts = { + .flags = NCOPTION_CLI_MODE | NCOPTION_SUPPRESS_BANNERS | NCOPTION_DRAIN_INPUT, + }; + struct notcurses *nc = notcurses_core_init(&opts, NULL); + if (!nc) { + fputs("failed to init notcurses\n", stderr); + constellation_free(constellation); + return EXIT_FAILURE; + } + + struct ncplane *std = notcurses_stdplane(nc); + + unsigned cursor_y = ncplane_cursor_y(std); + unsigned term_width = ncplane_dim_x(std); + + if (term_width <= STARBOX_WIDTH) { + notcurses_stop(nc); + constellation_free(constellation); + fputs("terminal window\nis too small\n", stderr); + return EXIT_FAILURE; + } + + struct ncplane_options stargaze_opts = { + .x = 0, + .y = cursor_y, + .rows = STARBOX_HEIGHT, + .cols = term_width, + .flags = NCPLANE_OPTION_AUTOGROW | NCPLANE_OPTION_VSCROLL, + }; + struct ncplane *stargaze = ncplane_create(std, &stargaze_opts); + + struct ncplane_options star_opts = { + .x = 0, + .y = 0, + .rows = STARBOX_HEIGHT, + .cols = STARBOX_WIDTH, + }; + struct ncplane *stars = ncplane_create(stargaze, &star_opts); + + struct ncplane_options info_box_opts = { + .x = STARBOX_WIDTH, + .y = NCALIGN_CENTER, + .rows = STAR_ATTR_TOTAL + 2, // title and empty line + .cols = ncplane_dim_x(stargaze) - STARBOX_WIDTH, + .flags = NCPLANE_OPTION_VERALIGNED + }; + struct ncplane *info_box = ncplane_create(stargaze, &info_box_opts); + + ncplane_scrollup_child(std, stargaze); + + struct nccell box[6] = { 0 }; + nccells_light_box(stars, 0, 0, &box[0], &box[1], &box[2], &box[3], &box[4], &box[5]); + + ncplane_box_sized(stars, &box[0], &box[1], &box[2], &box[3], &box[4], &box[5], STARBOX_HEIGHT, STARBOX_WIDTH, + NCBOXGRAD_TOP | NCBOXGRAD_LEFT | NCBOXGRAD_RIGHT | NCBOXGRAD_BOTTOM); + + if (color.set) + ncplane_set_fg_rgb8(info_box, color.r, color.g, color.b); + ncplane_on_styles(info_box, NCSTYLE_BOLD); + if (constellation->name[0]) { + ncplane_putstr_aligned(stars, 0, NCALIGN_CENTER, constellation->display_name[0]); + ncplane_putstr_yx(info_box, 0, padding, constellation->name[0]); + } + if (constellation->name[1]) { + ncplane_putstr_aligned(stars, STARBOX_HEIGHT - 1, NCALIGN_CENTER, constellation->display_name[1]); + ncplane_printf(info_box, " %s", constellation->name[1]); + } + + for (size_t i = 0; i < constellation->n_stars; i++) + ncplane_putstr_yx(stars, constellation->stars[i].y, constellation->stars[i].x, "✦"); + + size_t info_index = 2; + for (size_t i = 0; i < STAR_ATTR_TOTAL; i++) { + if (!constellation->attributes[i].value) + continue; + char *key = NULL; + switch (format) { + case INFO_FULL: + key = constellation->attributes[i].key; + break; + case INFO_SHORT: + key = constellation->attributes[i].shortname; + break; + case INFO_SYM: + key = constellation->attributes[i].symbol; + break; + } + if (color.set) + ncplane_set_fg_rgb8(info_box, color.r, color.g, color.b); + ncplane_on_styles(info_box, NCSTYLE_BOLD); + ncplane_printf_yx(info_box, info_index++, padding, "%s: ", key); + + ncplane_set_fg_default(info_box); + ncplane_off_styles(info_box, NCSTYLE_BOLD); + ncplane_putstr(info_box, constellation->attributes[i].value); + } + + notcurses_render(nc); + + constellation_free(constellation); + notcurses_stop(nc); + puts("\n"); +} diff --git a/meson.build b/meson.build new file mode 100644 index 0000000..9a1e680 --- /dev/null +++ b/meson.build @@ -0,0 +1,6 @@ +project('stargaze', 'c', license: 'GPL-3', version: '0.1') + +add_project_arguments('-DDATADIR="@0@/share"'.format(get_option('prefix')), language: 'c') +notcurses_dep = dependency('notcurses-core') +executable('stargaze', 'main.c', dependencies: notcurses_dep, install: true) +install_subdir('stargaze', install_dir: 'share') diff --git a/stargaze/andromeda b/stargaze/andromeda new file mode 100644 index 0000000..6d14d43 --- /dev/null +++ b/stargaze/andromeda @@ -0,0 +1,12 @@ +name Andromeda +quadrant NQ1 +ascension 23h 25m 48.6945s to 02h 39m 32.5149s +declination 53.1870041° to 21.6766376° +area 722 sq. deg. (19th) +n_stars 16 +star 19 1 +star 6 3 +star 17 4 +star 9 4 +star 12 6 +star 4 9 diff --git a/stargaze/antlia b/stargaze/antlia new file mode 100644 index 0000000..0543c7c --- /dev/null +++ b/stargaze/antlia @@ -0,0 +1,10 @@ +name Antlia +quadrant SQ2 +ascension 09h 27m 05.1837s to 11h 05m 55.0471s +declination -24.5° to -40.4° +area 239 sq.deg. (62nd) +n_stars 3 +star 15 3 +star 8 5 +star 19 6 +star 4 8 diff --git a/stargaze/apus b/stargaze/apus new file mode 100644 index 0000000..3ef1644 --- /dev/null +++ b/stargaze/apus @@ -0,0 +1,10 @@ +name Apus +quadrant SQ3 +ascension 13h 51m 07.5441s to 18h 27m 27.8395s +declination −67.4800797° to −83.1200714° +area 206 sq.deg. (67th) +n_stars 4 +star 4 4 +star 10 5 +star 7 6 +star 19 7 diff --git a/stargaze/aquarius b/stargaze/aquarius new file mode 100644 index 0000000..1e0f10a --- /dev/null +++ b/stargaze/aquarius @@ -0,0 +1,19 @@ +name Aquarius +quadrant SQ4 +ascension 20h38m to 23h56m +declination +3.325° to -24.904° +area 980 sq.deg. (10th) +n_stars 10, 22 +star 10 2 +star 11 2 +star 12 3 +star 15 3 +star 4 4 +star 17 5 +star 6 5 +star 12 6 +star 7 7 +star 12 8 +star 5 8 +star 19 9 +star 4 9 diff --git a/stargaze/aquila b/stargaze/aquila new file mode 100644 index 0000000..5d531a9 --- /dev/null +++ b/stargaze/aquila @@ -0,0 +1,13 @@ +name Aquila +quadrant NQ4 +ascension 18h 41m 18.2958s to 20h 38m 23.7231s +declination 18.6882229° to 11.8664360° +area 652 sq. deg. (22nd) +n_stars 10 +star 12 1 +star 10 2 +star 20 3 +star 7 3 +star 2 5 +star 11 6 +star 10 9 diff --git a/stargaze/ara b/stargaze/ara new file mode 100644 index 0000000..618367a --- /dev/null +++ b/stargaze/ara @@ -0,0 +1,12 @@ +name Ara +quadrant SQ3 +ascension 16h 34m 16.9497s to –18h 10m 41.3407s +declination −45.4859734° to −67.6905823° +area 237 sq.deg. (63rd) +n_stars 8 +star 4 2 +star 16 3 +star 16 6 +star 9 6 +star 19 9 +star 6 10 diff --git a/stargaze/aries b/stargaze/aries new file mode 100644 index 0000000..4539bdb --- /dev/null +++ b/stargaze/aries @@ -0,0 +1,10 @@ +name Aries +quadrant NQ1 +ascension 01h 46m 37.3761s to –03h 29m 42.4003s +declination +31.2213154° to –10.3632069° +area 441 sq.deg. (39th) +n_stars 4, 9 +star 5 3 +star 15 5 +star 17 7 +star 16 8 diff --git a/stargaze/auriga b/stargaze/auriga new file mode 100644 index 0000000..e7e0ccd --- /dev/null +++ b/stargaze/auriga @@ -0,0 +1,12 @@ +name Auriga +quadrant NQ1 +ascension 4h 37m 54.4293s to 7h 30m 56.1899s +declination 56.1648331°to 27.8913116° +area 657 sq. deg. (21st) +n_stars 5, 8 +star 14 2 +star 5 2 +star 16 4 +star 3 6 +star 15 8 +star 10 10 diff --git a/stargaze/bootes b/stargaze/bootes new file mode 100644 index 0000000..815730b --- /dev/null +++ b/stargaze/bootes @@ -0,0 +1,16 @@ +name Boötes +quadrant NQ3 +ascension 13h 36.1m to 15h 49.3m +declination +7.36° to +55.1° +area 907 sq.deg. (13th) +n_stars 7, 15 +star 7 2 +star 12 3 +star 4 4 +star 12 5 +star 8 6 +star 13 8 +star 17 9 +star 8 9 +star 18 10 +star 7 10 diff --git a/stargaze/caelum b/stargaze/caelum new file mode 100644 index 0000000..e5de728 --- /dev/null +++ b/stargaze/caelum @@ -0,0 +1,10 @@ +name Caelum +quadrant SQ1 +ascension 04h 19.5m to 05h 05.1m +declination −27.02° to −48.74° +area 125 sq. deg. (81st) +n_stars 4 +star 15 2 +star 11 4 +star 4 5 +star 2 8 diff --git a/stargaze/camelopardalis b/stargaze/camelopardalis new file mode 100644 index 0000000..81a4aec --- /dev/null +++ b/stargaze/camelopardalis @@ -0,0 +1,16 @@ +name Camelopardalis +quadrant NQ2 +ascension 03h 15m 36.2232s to 14h 27m 07.8855s +declination 86.0975418° to 52.6655540° +area 757 sq. deg. (18th) +n_stars 2, 8 +star 1 1 +star 5 2 +star 9 3 +star 12 5 +star 6 6 +star 17 7 +star 18 8 +star 7 8 +star 20 10 +star 9 10 diff --git a/stargaze/cancer b/stargaze/cancer new file mode 100644 index 0000000..b8151f2 --- /dev/null +++ b/stargaze/cancer @@ -0,0 +1,11 @@ +name Cancer +quadrant NQ1 +ascension 07h 55m 19.7973s to –09h 22m 35.0364s +declination +33.1415138° to –6.4700689° +area 506 sq.deg. (31st) +n_stars 5 +star 7 2 +star 10 4 +star 11 5 +star 17 7 +star 8 8 diff --git a/stargaze/canes_venatici b/stargaze/canes_venatici new file mode 100644 index 0000000..46fda67 --- /dev/null +++ b/stargaze/canes_venatici @@ -0,0 +1,14 @@ +name Canes Venatici +quadrant NQ3 +ascension 12h 06.2m to 14h 07.3m +declination +27.84° to +52.36° +area 465 sq. deg. (38th) +n_stars 2 +star 20 2 +star 11 3 +star 17 5 +star 7 6 +star 14 8 +star 5 8 +star 10 9 +star 2 9 diff --git a/stargaze/canis_major b/stargaze/canis_major new file mode 100644 index 0000000..3b628f3 --- /dev/null +++ b/stargaze/canis_major @@ -0,0 +1,15 @@ +name Canis Major +quadrant SQ1 +ascension 06h 12.5m to 07h 27.5m +declination −11.03° to −33.25° +area 380 sq. deg. (43rd) +n_stars 8 +star 13 1 +star 10 2 +star 11 3 +star 14 4 +star 20 5 +star 8 7 +star 6 9 +star 1 10 +star 10 10 diff --git a/stargaze/canis_minor b/stargaze/canis_minor new file mode 100644 index 0000000..4afdac1 --- /dev/null +++ b/stargaze/canis_minor @@ -0,0 +1,8 @@ +name Canis Minor +quadrant NQ2 +ascension 07h 06.4m to 08h 11.4m +declination 13.22° to −0.36° +area 183 sq. deg. (71st) +n_stars 2 +star 18 4 +star 3 5 diff --git a/stargaze/capricorn b/stargaze/capricorn new file mode 100644 index 0000000..7d24bfa --- /dev/null +++ b/stargaze/capricorn @@ -0,0 +1,17 @@ +name Capricorn +quadrant SQ4 +ascension 20h 06m 46.4871s to 21h 59m 04.8693s +declination −8.4043999° to −27.6914144° +area 414 sq.deg. (40th) +n_stars 9, 13, 23 +star 19 3 +star 3 3 +star 12 4 +star 18 4 +star 5 4 +star 8 4 +star 17 5 +star 5 6 +star 14 7 +star 7 7 +star 12 8 diff --git a/stargaze/carina b/stargaze/carina new file mode 100644 index 0000000..d25342e --- /dev/null +++ b/stargaze/carina @@ -0,0 +1,15 @@ +name Carina +quadrant SQ2 +ascension 06h 02m 59.7365s to 11h 20m 37.4211s +declination −50.7545471° to −75.6840134° +area 494 sq. deg. (34th) +n_stars 9 +star 12 1 +star 3 2 +star 8 3 +star 19 5 +star 5 5 +star 12 7 +star 19 8 +star 7 9 +star 11 10 diff --git a/stargaze/cassiopeia b/stargaze/cassiopeia new file mode 100644 index 0000000..ca02a69 --- /dev/null +++ b/stargaze/cassiopeia @@ -0,0 +1,11 @@ +name Cassiopeia +quadrant NQ1 +ascension 22h 57m 04.5897s to –03h 41m 14.0997s +declination +77.6923447° to +48.6632690° +area 598 sq.deg. (25th) +n_stars 5 +star 4 3 +star 12 5 +star 7 5 +star 20 6 +star 16 8 diff --git a/stargaze/centaurus b/stargaze/centaurus new file mode 100644 index 0000000..e2e3cac --- /dev/null +++ b/stargaze/centaurus @@ -0,0 +1,17 @@ +name Centaurus +quadrant SQ3 +ascension 11h 05m 20.9415s to 15h 03m 11.1071s +declination −29.9948788° to –64.6957885° +area 1060 sq. deg. (9th) +n_stars 11 +star 12 1 +star 5 1 +star 1 3 +star 10 3 +star 3 3 +star 8 3 +star 8 5 +star 17 6 +star 10 7 +star 8 9 +star 3 10 diff --git a/stargaze/circinus b/stargaze/circinus new file mode 100644 index 0000000..c6ba46b --- /dev/null +++ b/stargaze/circinus @@ -0,0 +1,11 @@ +name Circinus +quadrant SQ3 +ascension 13h 38.4m to 15h 30.2m +declination -55.43° to -70.62° +area 93 sq.deg. (85th) +n_stars 3 +star 12 2 +star 8 2 +star 11 5 +star 11 7 +star 12 9 diff --git a/stargaze/corona_borealis b/stargaze/corona_borealis new file mode 100644 index 0000000..61d06c3 --- /dev/null +++ b/stargaze/corona_borealis @@ -0,0 +1,13 @@ +name Corona Borealis +quadrant NQ1 +ascension 15h 16m 03.8205s to 16h 25m 07.1526s +declination +39.7117195° to +25.5380573° +area 179 sq.deg. (73rd) +n_stars 8 +star 15 3 +star 20 5 +star 3 5 +star 18 7 +star 5 7 +star 10 8 +star 13 8 diff --git a/stargaze/crux b/stargaze/crux new file mode 100644 index 0000000..8c5f649 --- /dev/null +++ b/stargaze/crux @@ -0,0 +1,10 @@ +name Crux +quadrant SQ3 +ascension 12.5h +declination −60° +area 68 sq.deg. (88th) +n_stars 4 +star 10 2 +star 16 4 +star 5 5 +star 13 9 diff --git a/stargaze/cygnus b/stargaze/cygnus new file mode 100644 index 0000000..988814c --- /dev/null +++ b/stargaze/cygnus @@ -0,0 +1,14 @@ +name Cygnus +quadrant NQ4 +ascension 20.62h +declination +42.03° +area 804 sq.deg. (16th) +n_stars 9 +star 18 2 +star 9 3 +star 15 4 +star 11 5 +star 15 7 +star 7 7 +star 4 8 +star 18 9 diff --git a/stargaze/friggerock b/stargaze/friggerock new file mode 100644 index 0000000..9c1dee7 --- /dev/null +++ b/stargaze/friggerock @@ -0,0 +1,9 @@ +name Friggerock +quadrant NQ1 +ascension 5h +declination +5° +area 594 sq.deg. () +n_stars 7 +star 16 4 +star 12 5 +star 8 6 diff --git a/stargaze/gemini b/stargaze/gemini new file mode 100644 index 0000000..ef535c9 --- /dev/null +++ b/stargaze/gemini @@ -0,0 +1,22 @@ +name Gemini +quadrant NQ2 +ascension 7h +declination +20° +area 514 sq.deg. (30th) +n_stars 8,17 +star 7 1 +star 14 2 +star 7 2 +star 11 3 +star 15 3 +star 19 3 +star 4 3 +star 6 5 +star 15 6 +star 4 6 +star 8 6 +star 14 9 +star 17 9 +star 4 9 +star 8 9 +star 18 10 diff --git a/stargaze/leo b/stargaze/leo new file mode 100644 index 0000000..2304e22 --- /dev/null +++ b/stargaze/leo @@ -0,0 +1,15 @@ +name Leo +quadrant NQ2 +ascension 11h +declination +15° +area 947 sq.deg. (12th) +n_stars 9, 15 +star 17 2 +star 19 3 +star 14 4 +star 14 5 +star 17 6 +star 7 6 +star 18 8 +star 8 8 +star 3 9 diff --git a/stargaze/libra b/stargaze/libra new file mode 100644 index 0000000..5179d73 --- /dev/null +++ b/stargaze/libra @@ -0,0 +1,13 @@ +name Libra +quadrant SQ1 +ascension 15h +declination -15° +area 538 sq.deg. (29th) +n_stars 4, 6 +star 12 2 +star 18 3 +star 7 5 +star 17 6 +star 4 6 +star 12 8 +star 13 9 diff --git a/stargaze/lupus b/stargaze/lupus new file mode 100644 index 0000000..417095c --- /dev/null +++ b/stargaze/lupus @@ -0,0 +1,15 @@ +name Lupus +quadrant SQ3 +ascension 15.3h +declination -45° +area 333.7 sq.deg. (46th) +n_stars 9 +star 6 1 +star 11 2 +star 2 3 +star 12 4 +star 8 4 +star 16 5 +star 11 6 +star 17 8 +star 12 10 diff --git a/stargaze/lyra b/stargaze/lyra new file mode 100644 index 0000000..0b6bc37 --- /dev/null +++ b/stargaze/lyra @@ -0,0 +1,12 @@ +name Lyra +quadrant NQ4 +ascension 18h 14m to 19h 28m +declination 25.66° to 47.71° +area 286 sq.deg. (52nd) +n_stars 5 +star 12 2 +star 16 3 +star 12 4 +star 7 5 +star 11 8 +star 6 9 diff --git a/stargaze/monoceros b/stargaze/monoceros new file mode 100644 index 0000000..299bd9e --- /dev/null +++ b/stargaze/monoceros @@ -0,0 +1,15 @@ +name Monoceros +quadrant NQ2 +ascension 7.15h +declination -5.74° +area 482 sq.deg. (35th) +n_stars 4 +star 19 3 +star 20 4 +star 17 5 +star 21 5 +star 12 6 +star 2 6 +star 18 9 +star 21 9 +star 6 9 diff --git a/stargaze/ophiuchus b/stargaze/ophiuchus new file mode 100644 index 0000000..daf9442 --- /dev/null +++ b/stargaze/ophiuchus @@ -0,0 +1,16 @@ +name Ophiuchus +quadrant SQ3 +ascension 17h +declination -8° +area 948 sq.deg. (11th) +n_stars 10 +star 7 2 +star 12 3 +star 16 4 +star 18 5 +star 6 5 +star 17 6 +star 5 6 +star 15 8 +star 12 9 +star 4 9 diff --git a/stargaze/orion b/stargaze/orion new file mode 100644 index 0000000..4a17fe7 --- /dev/null +++ b/stargaze/orion @@ -0,0 +1,14 @@ +name Orion +quadrant NQ1 +ascension 5h +declination +5° +area 594 sq.deg. (26th) +n_stars 7 +star 11 2 +star 7 3 +star 14 4 +star 11 6 +star 13 6 +star 9 6 +star 15 8 +star 8 9 diff --git a/stargaze/pisces b/stargaze/pisces new file mode 100644 index 0000000..b621204 --- /dev/null +++ b/stargaze/pisces @@ -0,0 +1,24 @@ +name Pisces +quadrant NQ1 +ascension 1h +declination +15° +area 889 sq.deg. (14th) +n_stars 18 +star 8 1 +star 9 1 +star 8 2 +star 8 3 +star 6 5 +star 4 7 +star 19 8 +star 12 9 +star 13 9 +star 16 9 +star 18 9 +star 21 9 +star 6 9 +star 7 9 +star 18 10 +star 2 10 +star 20 10 +star 3 10 diff --git a/stargaze/puppis b/stargaze/puppis new file mode 100644 index 0000000..6b3e396 --- /dev/null +++ b/stargaze/puppis @@ -0,0 +1,15 @@ +name Puppis +quadrant SQ2 +ascension 7.5h +declination -30° +area 673 sq.deg. (20th) +n_stars 9 +star 7 1 +star 10 2 +star 5 2 +star 11 3 +star 14 6 +star 6 7 +star 12 8 +star 18 8 +star 16 10 diff --git a/stargaze/sagittarius b/stargaze/sagittarius new file mode 100644 index 0000000..1e314fc --- /dev/null +++ b/stargaze/sagittarius @@ -0,0 +1,14 @@ +name Sagittarius +quadrant SQ4 +ascension 19h +declination -25° +area 867 sq.deg. (15th) +n_stars 12,8 +star 12 3 +star 6 4 +star 8 4 +star 14 5 +star 17 6 +star 4 6 +star 6 7 +star 13 9 diff --git a/stargaze/scorpio b/stargaze/scorpio new file mode 100644 index 0000000..c22cab8 --- /dev/null +++ b/stargaze/scorpio @@ -0,0 +1,22 @@ +name Scorpio +quadrant SQ3 +ascension 16.8875h +declination -30.7367° +area 497 sq.deg. (33rd) +n_stars 18 +star 17 1 +star 18 2 +star 15 3 +star 14 4 +star 18 4 +star 13 5 +star 18 5 +star 11 7 +star 5 7 +star 6 7 +star 10 8 +star 4 8 +star 3 9 +star 4 10 +star 7 10 +star 9 10 diff --git a/stargaze/taurus b/stargaze/taurus new file mode 100644 index 0000000..3b67431 --- /dev/null +++ b/stargaze/taurus @@ -0,0 +1,17 @@ +name Taurus +quadrant NQ1 +ascension 4.9h +declination +19° +area 797 sq.deg. (17th) +n_stars 19 +star 11 2 +star 5 3 +star 12 4 +star 8 5 +star 10 6 +star 11 6 +star 14 8 +star 19 9 +star 9 9 +star 10 10 +star 19 10 diff --git a/stargaze/ursa_major b/stargaze/ursa_major new file mode 100644 index 0000000..a85c392 --- /dev/null +++ b/stargaze/ursa_major @@ -0,0 +1,13 @@ +name Ursa Major +quadrant NQ2 +ascension 10.67h +declination +55.38° +area 1280 sq.deg. (3rd) +n_stars 7, 20 +star 5 2 +star 8 3 +star 9 4 +star 11 6 +star 9 8 +star 17 9 +star 13 10 diff --git a/stargaze/ursa_minor b/stargaze/ursa_minor new file mode 100644 index 0000000..bb175c8 --- /dev/null +++ b/stargaze/ursa_minor @@ -0,0 +1,13 @@ +name Ursa Minor +quadrant NQ3 +ascension 08h 41.4m to 22h 54.0m +declination +65.40° to +90° +area 256 sq.deg. (56th) +n_stars 7 +star 13 2 +star 11 3 +star 10 5 +star 11 7 +star 8 8 +star 14 9 +star 11 10 diff --git a/stargaze/virgo b/stargaze/virgo new file mode 100644 index 0000000..f9912e9 --- /dev/null +++ b/stargaze/virgo @@ -0,0 +1,15 @@ +name Virgo +quadrant SQ3 +ascension 13h +declination -4° +area 1294 sq.deg. (2nd) +n_stars 9, 15 +star 10 2 +star 12 4 +star 2 5 +star 21 5 +star 14 6 +star 18 6 +star 6 6 +star 10 7 +star 6 9 -- cgit v1.2.3