From b2cd6988808ab7ed046be3def87683c10007d960 Mon Sep 17 00:00:00 2001 From: Anda Epure <115105750+anda-raluca@users.noreply.github.com> Date: Thu, 8 Dec 2022 10:47:41 +0000 Subject: [PATCH 1/2] Update variable names and added useful comments. Co-authored-by: Rui Co-authored-by: pkruzikova --- boids/boids.py | 2 ++ tree.png | Bin 0 -> 33009 bytes trees/trees.py | 28 +++++++++++++++------------- 3 files changed, 17 insertions(+), 13 deletions(-) create mode 100644 tree.png diff --git a/boids/boids.py b/boids/boids.py index 49e8f69..a13f84e 100644 --- a/boids/boids.py +++ b/boids/boids.py @@ -41,3 +41,5 @@ def update_boids(boids): for i in range(len(xs)): xs[i]=xs[i]+xvs[i] ys[i]=ys[i]+yvs[i] + +#update_boids(boids) \ No newline at end of file diff --git a/tree.png b/tree.png new file mode 100644 index 0000000000000000000000000000000000000000..9f949fbba0fcf17a53e85f976f99a30a79292964 GIT binary patch literal 33009 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 literal 0 HcmV?d00001 diff --git a/trees/trees.py b/trees/trees.py index 06ef270..4ab53f9 100644 --- a/trees/trees.py +++ b/trees/trees.py @@ -2,16 +2,18 @@ from math import sin, cos from matplotlib import pyplot as plt -s=1 -d=[[0,1,0]] -plt.plot([0,0],[0,1]) -for i in range(5): - n=[] - for j in range(len(d)): #loop over d - n.append([d[j][0]+s*sin(d[j][2]-0.1), d[j][1]+s*cos(d[j][2]-0.1), d[j][2]-0.1]) - n.append([d[j][0]+s*sin(d[j][2]+0.1), d[j][1]+s*cos(d[j][2]+0.1), d[j][2]+0.1]) - plt.plot([d[j][0], n[-2][0]],[d[j][1], n[-2][1]]) - plt.plot([d[j][0], n[-1][0]],[d[j][1], n[-1][1]]) - d=n - s*=0.6 -plt.savefig('tree.png') + +branch_length = 1 # Length of the first branch +start_branch = [[0,1,0]] # List of initial root branches +branches_number = 5 +plt.plot([0,0],[0,1]) # Plots root +for branch in range(branches_number): # Iterates over the number of branches + end_branch = [] + for j in range(len(start_branch)): + end_branch.append([start_branch[j][0]+branch_length*sin(start_branch[j][2]-0.1), start_branch[j][1]+branch_length*cos(start_branch[j][2]-0.1), start_branch[j][2]-0.1]) + end_branch.append([start_branch[j][0]+branch_length*sin(start_branch[j][2]+0.1), start_branch[j][1]+branch_length*cos(start_branch[j][2]+0.1), start_branch[j][2]+0.1]) + plt.plot([start_branch[j][0], end_branch[-2][0]],[start_branch[j][1], end_branch[-2][1]]) # Plots branches + plt.plot([start_branch[j][0], end_branch[-1][0]],[start_branch[j][1], end_branch[-1][1]]) # Plots branches + start_branch = end_branch # Updating the list of branches + branch_length *= 0.6 # Making each progressive branch level shorter by given factor. +plt.savefig('tree.png') # Saving the plot From 2d29e1422bd3209557a70606eb6deea1d9647bc8 Mon Sep 17 00:00:00 2001 From: Anda Epure <115105750+anda-raluca@users.noreply.github.com> Date: Thu, 8 Dec 2022 10:48:48 +0000 Subject: [PATCH 2/2] Delete change in boids --- boids/boids.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/boids/boids.py b/boids/boids.py index a13f84e..49e8f69 100644 --- a/boids/boids.py +++ b/boids/boids.py @@ -41,5 +41,3 @@ def update_boids(boids): for i in range(len(xs)): xs[i]=xs[i]+xvs[i] ys[i]=ys[i]+yvs[i] - -#update_boids(boids) \ No newline at end of file