-
Notifications
You must be signed in to change notification settings - Fork 25
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
yangliu28
committed
Apr 26, 2018
1 parent
fe4417d
commit aae56cf
Showing
3 changed files
with
220 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
cnumpy.core.multiarray | ||
_reconstruct | ||
p0 | ||
(cnumpy | ||
ndarray | ||
p1 | ||
(I0 | ||
tp2 | ||
S'b' | ||
p3 | ||
tp4 | ||
Rp5 | ||
(I1 | ||
(I100 | ||
I2 | ||
tp6 | ||
cnumpy | ||
dtype | ||
p7 | ||
(S'f8' | ||
p8 | ||
I0 | ||
I1 | ||
tp9 | ||
Rp10 | ||
(I3 | ||
S'<' | ||
p11 | ||
NNNI-1 | ||
I-1 | ||
I0 | ||
tp12 | ||
bI00 | ||
S'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xef?\x00\x00\x00\x00\x00\x00\xf0\xbf\xfe\xff\xff\xff\xff\xff\xef?\xff\xff\xff\xff\xff\xff\xef\xbf\x00\x00\x00\x00\x00\x00\xb0\xbc\xfe\xff\xff\xff\xff\xff\xef\xbf\x01\x00\x00\x00\x00\x00\xf0\xbf\x00\x00\x00\x00\x00\x00\xb0<\x01\x00\x00\x00\x00\x00\xf0\xbf\x01\x00\x00\x00\x00\x00\xf0?\x01\x00\x00\x00\x00\x00\xf0\xbf\x00\x00\x00\x00\x00\x00\x00@\x01\x00\x00\x00\x00\x00\xf0\xbf\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xb0\xbc\x00\x00\x00\x00\x00\x00\x00@\xfe\xff\xff\xff\xff\xff\xef?\x00\x00\x00\x00\x00\x00\x00@\xff\xff\xff\xff\xff\xff\xff?\x00\x00\x00\x00\x00\x00\xf0?\xfe\xff\xff\xff\xff\xff\xff?\x00\x00\x00\x00\x00\x00\x00\x00\xfd\xff\xff\xff\xff\xff\xff?\x00\x00\x00\x00\x00\x00\xf0\xbf\xfc\xff\xff\xff\xff\xff\xff?\x00\x00\x00\x00\x00\x00\x00\xc0\xfb\xff\xff\xff\xff\xff\xff?\x00\x00\x00\x00\x00\x00\x00\xc0\xf6\xff\xff\xff\xff\xff\xef?\x00\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00\x00\x00\x00\xd4\xbc\x00\x00\x00\x00\x00\x00\x00\xc0\x05\x00\x00\x00\x00\x00\xf0\xbf\x00\x00\x00\x00\x00\x00\x00\xc0\x02\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00\x00\x00\x00\xf0\xbf\x02\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00\x00\x00\x00\xf0?\x02\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00\x00\x00\x00\x00@\x02\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00\x00\x00\x00\x08@\x02\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00\x00\x00\x00\x08@\x04\x00\x00\x00\x00\x00\xf0\xbf\x00\x00\x00\x00\x00\x00\x08@\x00\x00\x00\x00\x00\x00\xd0\xbc\x00\x00\x00\x00\x00\x00\x08@\xf8\xff\xff\xff\xff\xff\xef?\x00\x00\x00\x00\x00\x00\x08@\xfc\xff\xff\xff\xff\xff\xff?\x00\x00\x00\x00\x00\x00\x08@\xfe\xff\xff\xff\xff\xff\x07@\x00\x00\x00\x00\x00\x00\x00@\xfe\xff\xff\xff\xff\xff\x07@\x00\x00\x00\x00\x00\x00\xf0?\xfe\xff\xff\xff\xff\xff\x07@\x00\x00\x00\x00\x00\x00\x00\x00\xfe\xff\xff\xff\xff\xff\x07@\x00\x00\x00\x00\x00\x00\xf0\xbf\xfe\xff\xff\xff\xff\xff\x07@\x00\x00\x00\x00\x00\x00\x00\xc0\xfe\xff\xff\xff\xff\xff\x07@\x00\x00\x00\x00\x00\x00\x08\xc0\xfe\xff\xff\xff\xff\xff\x07@\x00\x00\x00\x00\x00\x00\x08\xc0\xfc\xff\xff\xff\xff\xff\xff?\x00\x00\x00\x00\x00\x00\x08\xc0\xf8\xff\xff\xff\xff\xff\xef?\x00\x00\x00\x00\x00\x00\x08\xc0\x00\x00\x00\x00\x00\x00\xd0\xbc\x00\x00\x00\x00\x00\x00\x08\xc0\x04\x00\x00\x00\x00\x00\xf0\xbf\x00\x00\x00\x00\x00\x00\x08\xc0\x02\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00\x00\x00\x00\x08\xc0\x02\x00\x00\x00\x00\x00\x08\xc0\x00\x00\x00\x00\x00\x00\x00\xc0\x02\x00\x00\x00\x00\x00\x08\xc0\x00\x00\x00\x00\x00\x00\xf0\xbf\x02\x00\x00\x00\x00\x00\x08\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x08\xc0\x00\x00\x00\x00\x00\x00\xf0?\x02\x00\x00\x00\x00\x00\x08\xc0\x00\x00\x00\x00\x00\x00\x00@\x02\x00\x00\x00\x00\x00\x08\xc0\x00\x00\x00\x00\x00\x00\x08@\x02\x00\x00\x00\x00\x00\x08\xc0\x00\x00\x00\x00\x00\x00\x10@\x02\x00\x00\x00\x00\x00\x08\xc0\x00\x00\x00\x00\x00\x00\x10@\x02\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00\x00\x00\x00\x10@\x04\x00\x00\x00\x00\x00\xf0\xbf\x00\x00\x00\x00\x00\x00\x10@\x00\x00\x00\x00\x00\x00\xd0\xbc\x00\x00\x00\x00\x00\x00\x10@\xf8\xff\xff\xff\xff\xff\xef?\x00\x00\x00\x00\x00\x00\x10@\xfc\xff\xff\xff\xff\xff\xff?\x00\x00\x00\x00\x00\x00\x10@\xfe\xff\xff\xff\xff\xff\x07@\x00\x00\x00\x00\x00\x00\x10@\xfe\xff\xff\xff\xff\xff\x0f@\x00\x00\x00\x00\x00\x00\x08@\xfe\xff\xff\xff\xff\xff\x0f@\x00\x00\x00\x00\x00\x00\x00@\xfe\xff\xff\xff\xff\xff\x0f@\x00\x00\x00\x00\x00\x00\xf0?\xfe\xff\xff\xff\xff\xff\x0f@\x00\x00\x00\x00\x00\x00\x00\x00\xfe\xff\xff\xff\xff\xff\x0f@\x00\x00\x00\x00\x00\x00\xf0\xbf\xfe\xff\xff\xff\xff\xff\x0f@\x00\x00\x00\x00\x00\x00\x00\xc0\xfe\xff\xff\xff\xff\xff\x0f@\x00\x00\x00\x00\x00\x00\x08\xc0\xfe\xff\xff\xff\xff\xff\x0f@\x00\x00\x00\x00\x00\x00\x10\xc0\xfe\xff\xff\xff\xff\xff\x0f@\x00\x00\x00\x00\x00\x00\x10\xc0\xfe\xff\xff\xff\xff\xff\x07@\x00\x00\x00\x00\x00\x00\x10\xc0\xfc\xff\xff\xff\xff\xff\xff?\x00\x00\x00\x00\x00\x00\x10\xc0\xf8\xff\xff\xff\xff\xff\xef?\x00\x00\x00\x00\x00\x00\x10\xc0\x00\x00\x00\x00\x00\x00\xd0\xbc\x00\x00\x00\x00\x00\x00\x10\xc0\x04\x00\x00\x00\x00\x00\xf0\xbf\x00\x00\x00\x00\x00\x00\x10\xc0\x02\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00\x00\x00\x00\x10\xc0\x02\x00\x00\x00\x00\x00\x08\xc0\x00\x00\x00\x00\x00\x00\x10\xc0\x01\x00\x00\x00\x00\x00\x10\xc0\x00\x00\x00\x00\x00\x00\x08\xc0\x01\x00\x00\x00\x00\x00\x10\xc0\x00\x00\x00\x00\x00\x00\x00\xc0\x01\x00\x00\x00\x00\x00\x10\xc0\x00\x00\x00\x00\x00\x00\xf0\xbf\x01\x00\x00\x00\x00\x00\x10\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x10\xc0\x00\x00\x00\x00\x00\x00\xf0?\x01\x00\x00\x00\x00\x00\x10\xc0\x00\x00\x00\x00\x00\x00\x00@\x01\x00\x00\x00\x00\x00\x10\xc0\x00\x00\x00\x00\x00\x00\x08@\x01\x00\x00\x00\x00\x00\x10\xc0\x00\x00\x00\x00\x00\x00\x10@\x01\x00\x00\x00\x00\x00\x10\xc0\x00\x00\x00\x00\x00\x00\x14@\x01\x00\x00\x00\x00\x00\x10\xc0\x00\x00\x00\x00\x00\x00\x14@\x02\x00\x00\x00\x00\x00\x08\xc0\x00\x00\x00\x00\x00\x00\x14@\x02\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00\x00\x00\x00\x14@\x04\x00\x00\x00\x00\x00\xf0\xbf\x00\x00\x00\x00\x00\x00\x14@\x00\x00\x00\x00\x00\x00\xd0\xbc\x00\x00\x00\x00\x00\x00\x14@\xf8\xff\xff\xff\xff\xff\xef?\x00\x00\x00\x00\x00\x00\x14@\xfc\xff\xff\xff\xff\xff\xff?\x00\x00\x00\x00\x00\x00\x14@\xfe\xff\xff\xff\xff\xff\x07@\x00\x00\x00\x00\x00\x00\x14@\xfe\xff\xff\xff\xff\xff\x0f@\x00\x00\x00\x00\x00\x00\x14@\xff\xff\xff\xff\xff\xff\x13@\x00\x00\x00\x00\x00\x00\x10@\xff\xff\xff\xff\xff\xff\x13@\x00\x00\x00\x00\x00\x00\x08@\xff\xff\xff\xff\xff\xff\x13@\x00\x00\x00\x00\x00\x00\x00@\xff\xff\xff\xff\xff\xff\x13@\x00\x00\x00\x00\x00\x00\xf0?\xff\xff\xff\xff\xff\xff\x13@\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x13@\x00\x00\x00\x00\x00\x00\xf0\xbf\xff\xff\xff\xff\xff\xff\x13@\x00\x00\x00\x00\x00\x00\x00\xc0\xff\xff\xff\xff\xff\xff\x13@\x00\x00\x00\x00\x00\x00\x08\xc0\xff\xff\xff\xff\xff\xff\x13@\x00\x00\x00\x00\x00\x00\x10\xc0\xff\xff\xff\xff\xff\xff\x13@' | ||
p13 | ||
tp14 | ||
b. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
cnumpy.core.multiarray | ||
_reconstruct | ||
p0 | ||
(cnumpy | ||
ndarray | ||
p1 | ||
(I0 | ||
tp2 | ||
S'b' | ||
p3 | ||
tp4 | ||
Rp5 | ||
(I1 | ||
(I30 | ||
I2 | ||
tp6 | ||
cnumpy | ||
dtype | ||
p7 | ||
(S'f8' | ||
p8 | ||
I0 | ||
I1 | ||
tp9 | ||
Rp10 | ||
(I3 | ||
S'<' | ||
p11 | ||
NNNI-1 | ||
I-1 | ||
I0 | ||
tp12 | ||
bI00 | ||
S'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xef?\x00\x00\x00\x00\x00\x00\xf0\xbf\xfe\xff\xff\xff\xff\xff\xef?\xff\xff\xff\xff\xff\xff\xef\xbf\x00\x00\x00\x00\x00\x00\xb0\xbc\xfe\xff\xff\xff\xff\xff\xef\xbf\x01\x00\x00\x00\x00\x00\xf0\xbf\x00\x00\x00\x00\x00\x00\xb0<\x01\x00\x00\x00\x00\x00\xf0\xbf\x01\x00\x00\x00\x00\x00\xf0?\x01\x00\x00\x00\x00\x00\xf0\xbf\x00\x00\x00\x00\x00\x00\x00@\x01\x00\x00\x00\x00\x00\xf0\xbf\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xb0\xbc\x00\x00\x00\x00\x00\x00\x00@\xfe\xff\xff\xff\xff\xff\xef?\x00\x00\x00\x00\x00\x00\x00@\xff\xff\xff\xff\xff\xff\xff?\x00\x00\x00\x00\x00\x00\xf0?\xfe\xff\xff\xff\xff\xff\xff?\x00\x00\x00\x00\x00\x00\x00\x00\xfd\xff\xff\xff\xff\xff\xff?\x00\x00\x00\x00\x00\x00\xf0\xbf\xfc\xff\xff\xff\xff\xff\xff?\x00\x00\x00\x00\x00\x00\x00\xc0\xfb\xff\xff\xff\xff\xff\xff?\x00\x00\x00\x00\x00\x00\x00\xc0\xf6\xff\xff\xff\xff\xff\xef?\x00\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00\x00\x00\x00\xd4\xbc\x00\x00\x00\x00\x00\x00\x00\xc0\x05\x00\x00\x00\x00\x00\xf0\xbf\x00\x00\x00\x00\x00\x00\x00\xc0\x02\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00\x00\x00\x00\xf0\xbf\x02\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00\x00\x00\x00\xf0?\x02\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00\x00\x00\x00\x00@\x02\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00\x00\x00\x00\x08@\x02\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00\x00\x00\x00\x08@\x04\x00\x00\x00\x00\x00\xf0\xbf\x00\x00\x00\x00\x00\x00\x08@\x00\x00\x00\x00\x00\x00\xd0\xbc\x00\x00\x00\x00\x00\x00\x08@\xf8\xff\xff\xff\xff\xff\xef?\x00\x00\x00\x00\x00\x00\x08@\xfc\xff\xff\xff\xff\xff\xff?' | ||
p13 | ||
tp14 | ||
b. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,146 @@ | ||
# script to generate files for the curve shapes | ||
# each block of code generates one curve shape | ||
|
||
# neon typeface reference: (Thanks, Emil!) | ||
# http://fenotype.1001fonts.com/neon-fonts.html | ||
|
||
import pickle | ||
import math | ||
import pygame | ||
import numpy as np | ||
|
||
# general function to reset radian angle to [-pi, pi) | ||
def reset_radian(radian): | ||
while radian >= math.pi: | ||
radian = radian - 2*math.pi | ||
while radian < -math.pi: | ||
radian = radian + 2*math.pi | ||
return radian | ||
|
||
# general function to calculate next position node along a heading direction | ||
def cal_next_node(node_poses, index_curr, heading_angle, rep_times): | ||
for _ in range(rep_times): | ||
index_next = index_curr + 1 | ||
x = node_poses[index_curr][0] + 1.0*math.cos(heading_angle) | ||
y = node_poses[index_curr][1] + 1.0*math.sin(heading_angle) | ||
node_poses[index_next] = np.array([x,y]) | ||
index_curr = index_next | ||
return index_next | ||
|
||
|
||
# ##### script to generate 30-squarehelix ##### | ||
# swarm_size = 30 | ||
# node_poses = np.zeros((swarm_size, 2)) | ||
# node_index = 0 | ||
# heading_angle = 0.0 | ||
# node_index = cal_next_node(node_poses, node_index, heading_angle, 1) | ||
# heading_angle = math.pi/2 | ||
# node_index = cal_next_node(node_poses, node_index, heading_angle, 1) | ||
# heading_angle = -math.pi | ||
# node_index = cal_next_node(node_poses, node_index, heading_angle, 2) | ||
# heading_angle = -math.pi/2 | ||
# node_index = cal_next_node(node_poses, node_index, heading_angle, 2) | ||
# heading_angle = 0.0 | ||
# node_index = cal_next_node(node_poses, node_index, heading_angle, 3) | ||
# heading_angle = math.pi/2 | ||
# node_index = cal_next_node(node_poses, node_index, heading_angle, 3) | ||
# heading_angle = -math.pi | ||
# node_index = cal_next_node(node_poses, node_index, heading_angle, 4) | ||
# heading_angle = -math.pi/2 | ||
# node_index = cal_next_node(node_poses, node_index, heading_angle, 4) | ||
# heading_angle = 0.0 | ||
# node_index = cal_next_node(node_poses, node_index, heading_angle, 5) | ||
# heading_angle = math.pi/2 | ||
# node_index = cal_next_node(node_poses, node_index, heading_angle, 4) | ||
# print(node_index) | ||
# print(node_poses) | ||
# with open('30-squarehelix', 'w') as f: | ||
# pickle.dump(node_poses, f) | ||
|
||
|
||
# ##### script to generate 100-squarehelix ##### | ||
# swarm_size = 100 | ||
# node_poses = np.zeros((swarm_size, 2)) | ||
# node_index = 0 | ||
# heading_angle = 0.0 | ||
# node_index = cal_next_node(node_poses, node_index, heading_angle, 1) | ||
# heading_angle = math.pi/2 | ||
# node_index = cal_next_node(node_poses, node_index, heading_angle, 1) | ||
# heading_angle = -math.pi | ||
# node_index = cal_next_node(node_poses, node_index, heading_angle, 2) | ||
# heading_angle = -math.pi/2 | ||
# node_index = cal_next_node(node_poses, node_index, heading_angle, 2) | ||
# heading_angle = 0.0 | ||
# node_index = cal_next_node(node_poses, node_index, heading_angle, 3) | ||
# heading_angle = math.pi/2 | ||
# node_index = cal_next_node(node_poses, node_index, heading_angle, 3) | ||
# heading_angle = -math.pi | ||
# node_index = cal_next_node(node_poses, node_index, heading_angle, 4) | ||
# heading_angle = -math.pi/2 | ||
# node_index = cal_next_node(node_poses, node_index, heading_angle, 4) | ||
# heading_angle = 0.0 | ||
# node_index = cal_next_node(node_poses, node_index, heading_angle, 5) | ||
# heading_angle = math.pi/2 | ||
# node_index = cal_next_node(node_poses, node_index, heading_angle, 5) | ||
# heading_angle = -math.pi | ||
# node_index = cal_next_node(node_poses, node_index, heading_angle, 6) | ||
# heading_angle = -math.pi/2 | ||
# node_index = cal_next_node(node_poses, node_index, heading_angle, 6) | ||
# heading_angle = 0.0 | ||
# node_index = cal_next_node(node_poses, node_index, heading_angle, 7) | ||
# heading_angle = math.pi/2 | ||
# node_index = cal_next_node(node_poses, node_index, heading_angle, 7) | ||
# heading_angle = -math.pi | ||
# node_index = cal_next_node(node_poses, node_index, heading_angle, 8) | ||
# heading_angle = -math.pi/2 | ||
# node_index = cal_next_node(node_poses, node_index, heading_angle, 8) | ||
# heading_angle = 0.0 | ||
# node_index = cal_next_node(node_poses, node_index, heading_angle, 9) | ||
# heading_angle = math.pi/2 | ||
# node_index = cal_next_node(node_poses, node_index, heading_angle, 9) | ||
# heading_angle = -math.pi | ||
# node_index = cal_next_node(node_poses, node_index, heading_angle, 9) | ||
# print(node_index) | ||
# print(node_poses) | ||
# with open('100-squarehelix', 'w') as f: | ||
# pickle.dump(node_poses, f) | ||
|
||
|
||
|
||
|
||
pygame.init() | ||
# find the right world and screen sizes | ||
x_max, y_max = np.max(node_poses, axis=0) | ||
x_min, y_min = np.min(node_poses, axis=0) | ||
pixel_per_length = 30 | ||
world_size = (x_max - x_min + 2.0, y_max - y_min + 2.0) | ||
screen_size = (int(world_size[0])*pixel_per_length, int(world_size[1])*pixel_per_length) | ||
# convert node poses in the world to disp poses on screen | ||
def cal_disp_poses(): | ||
poses_temp = np.zeros((swarm_size, 2)) | ||
# shift the loop to the middle of the world | ||
middle = np.array([(x_max+x_min)/2.0, (y_max+y_min)/2.0]) | ||
for i in range(swarm_size): | ||
poses_temp[i] = (node_poses[i] - middle + | ||
np.array([world_size[0]/2.0, world_size[1]/2.0])) | ||
# convert to display coordinates | ||
poses_temp[:,0] = poses_temp[:,0] / world_size[0] | ||
poses_temp[:,0] = poses_temp[:,0] * screen_size[0] | ||
poses_temp[:,1] = poses_temp[:,1] / world_size[1] | ||
poses_temp[:,1] = 1.0 - poses_temp[:,1] | ||
poses_temp[:,1] = poses_temp[:,1] * screen_size[1] | ||
return poses_temp.astype(int) | ||
disp_poses = cal_disp_poses() | ||
# draw the loop shape on pygame window | ||
color_white = (255,255,255) | ||
color_black = (0,0,0) | ||
screen = pygame.display.set_mode(screen_size) | ||
screen.fill(color_white) | ||
for i in range(swarm_size): | ||
pygame.draw.circle(screen, color_black, disp_poses[i], 5, 0) | ||
for i in range(swarm_size-1): | ||
pygame.draw.line(screen, color_black, disp_poses[i], disp_poses[i+1], 2) | ||
pygame.display.update() | ||
raw_input("<Press ENTER to exit>") | ||
|
||
|