Чтобы сделать альтернативные лучи, вы можете использовать четность счетчика. Псевдокод
n = 11
for (i = 1; i <= n; i++) {
int j = i / 2
float angle = - j * Pi * 7 / 4 / n
if (i & 1)
angle = - angle
line end:
X = CX + R * Cos(angle - Pi/2))
Y = CY + R * Sin(angle - Pi/2))
рабочий Delphi код для демонстрации:
var
n, i, X, Y: Integer;
a: Double;
begin
n := 11;
for i := 1 to n do begin
Canvas.MoveTo(200, 200);
a := (i div 2)* Pi * 7 / 4 / n;
if (i and 1 = 0) then
a := - a;
X := 200 + Round(100 * Cos(a - Pi/2));
Y := 200 + Round(100 * Sin(a - Pi/2));
Canvas.LineTo(X, Y);
Canvas.TextOut(X, Y, i.ToString);
end;