我需要一些帮助来为一个切片的圆创建一些点,我有一个完全的脑筋急转弯,就是不能弄明白。
我想为一个游戏ai创建一个“视野”圆圈,并且想要创建一个覆盖大约Pi*1.75区域的交替模式中的点。

发布于 2020-04-28 00:02:48
要生成交替射线,可以使用计数器的奇偶校验。伪码
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;https://stackoverflow.com/questions/61448164
复制相似问题