我想为我的小艇创建一个“阵型”,但是阵型中可以有任意数量的小队。我想要一个圆圈形成。那么我怎样才能通过地层中的多个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数量相当。任何想法或示例代码都会有所帮助,谢谢。
答案 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)
你能从那里拿走吗?