10 * -r rotate grid n degrees counter clockwise
13 int main(int ac, char *av[]) {
17 double tx = 0.0, ty = 0.0; /* translation */
25 fprintf(stderr, "must give a command\n");
29 if (!strcmp(av[1], "center")) {
31 struct HL_point center;
33 x = strtol(av[2], NULL, 10);
34 y = strtol(av[3], NULL, 10);
35 hex = HL_hex_xy(x, y);
36 center = HL_hexcenter(hex);
37 printf(format ? format : "%f %f\n", center.x, center.y);
39 else if (!strcmp(av[1], "polar")) {
44 angle = strtod(av[2], NULL);
45 dist = strtod(av[3], NULL);
47 pt = HL_polar(angle, dist, NULL);
48 printf(format ? format : "%f %f\n", pt.x, pt.y);
50 else if (!strcmp(av[1], "bin")) {
54 px = strtod(av[2], NULL);
55 py = strtod(av[3], NULL);
57 hex = HL_hexbin(scale, px, py);
58 printf(format ? format : "%d %d\n", hex.x, hex.y);
60 else if (!strcmp(av[1], "distance")) {
61 struct HL_hex from, to;
64 n = sscanf(av[2], "%d:%d", &x, &y);
73 n = sscanf(av[3], "%d:%d", &x, &y);
82 n = HL_distance(from, to);
83 printf(format ? format : "%d\n", n);