Dit is een begin, je kunt er dan van maken wat je wil.
Je kan ook nog column() erbij gebruiken.
Aspecten enzo er nog bijgezet.
window(800, 800);
menu(0, "Close", close);
copyhoroscope(-1, 0);
real planet[PLANETS], house[HOUSES], a;
int sorted[PLANETS];
char p1[256], p2[256], as[256];
getplanets(0, planet);
gethouses(0, house);
sortplanets(planet, sorted, 5, 0);
setsymbolsize(1);
@drawhoroscope(0, 0, width, height);
run;
#drawhoroscope(int left, int top, int w, int h)
{
visible(0);
int mx = left + (w - left) / 2,
my = top + (h - top) / 2,
r = mx / 2,
r2 = h / 2 - 1,
r1 = r2 - 40,
r3 = r1 + 5,
x1, x2, y1, y2;
drawzodiac(0, mx, my, r1, r2, r3);
circle(mx, my, r, -1);
setsymbolsize(1);
int i = 0; for (i < HOUSES)
{
a = house[i];
getcirclepos(mx, my, r3, a, x1, y1);
getcirclepos(mx, my, mx / 2, a, x2, y2);
line(x1, y1, x2, y2, -1);
getcirclepos(mx, my, r + 10, a + 10, x1, y1);
putnumber(x1 - 8, y1 - 8, i + 1);
}
i = 0; for (i < PLANETS)
{
a = sorted[i];
getcirclepos(mx, my, r3 - 20, a, x1, y1);
putplanet(x1 - 12, y1 - 12, i);
getcirclepos(mx, my, r3, a, x2, y2);
getcirclepos(mx, my, r3 - 10, a, x1, y1);
line(x1, y1, x2, y2, -1);
drawpos(mx, my, a, r1 - 70, 11, 2, planet[i]);
}
int n = getaspects(0, p1, p2, as);
setsymbolsize(0);
i = 0; for (i < n)
{
getcirclepos(mx, my, r, planet[p1[i]], x1, y1);
getcirclepos(mx, my, r, planet[p2[i]], x2, y2);
line(x1, y1, x2, y2, aspectcolor[as[i]]);
if (as[i] != CONJUNCTION)
putaspect((x1 + x2) / 2 - 8, (y1 + y2) / 2 - 8, as[i]);
}
visible(1);
}
:close;
quit;