从任何数字范围创建“形成”

时间:2016-02-15 17:42:06

标签: python

我想为我的小艇创建一个“阵型”,但是阵型中可以有任意数量的小队。我想要一个圆圈形成。那么我怎样才能通过地层中的多个boid并在那里操纵(x,y)以便它们填充圆形?

我有:self.flock_formation = [] under class Flock.__init__ and self.pos(math3d.VectorN(x,y) under class Boid.__init__

这是在Flock类中:

def create_formation(self):
    for boid in range(0, len(self.boids)):
        spot = math3d.VectorN(x, y)
        self.flock_formation.append(spot)

我无法理解我可能需要做些什么来提出一个圆圈中的位置,这个位置与鸡群中的boids数量相当。任何想法或示例代码都会有所帮助,谢谢。

1 个答案:

答案 0 :(得分:0)

您需要为圈子选择半径。这是一种算法。

import math

for pos in range(len(self.boids)):
    angle = 2*math.pi / n
    x = radius * math.sin(angle)
    y = radius * math.cos(angle)

你能从那里拿走吗?