################### import random import numpy as np import matplotlib.pyplot as plt import time import mpl_toolkits fro

Business, Finance, Economics, Accounting, Operations Management, Computer Science, Electrical Engineering, Mechanical Engineering, Civil Engineering, Chemical Engineering, Algebra, Precalculus, Statistics and Probabilty, Advanced Math, Physics, Chemistry, Biology, Nursing, Psychology, Certifications, Tests, Prep, and more.
Post Reply
answerhappygod
Site Admin
Posts: 899603
Joined: Mon Aug 02, 2021 8:13 am

################### import random import numpy as np import matplotlib.pyplot as plt import time import mpl_toolkits fro

Post by answerhappygod »

###################
import random
import numpy as np
import matplotlib.pyplot as plt
import time
import mpl_toolkits
from mpl_toolkits.axes_grid.inset_locator import inset_axes,
zoomed_inset_axes, InsetPosition
###################
row = 20
cols = 30
timeskips = 12
def processlist(lines):
nlist = [(int(l.split(",") [0]),
int(l.split(",")[1])) for l in lines [1:]]
return nlist
def splitting(linestring):
return linestring.replace("ground:",
"").replace("wind:", "").replace("food:",
"").strip("").split(":")
def process_file(filename):
with open("Terrain_data.txt", 'r') as f:
lineread = f.readlines()
list0 = processlist(splitting(lineread[0]))
list1 = processlist(splitting(lineread[1]))
return list0, list1
def snowflake_sim (copy_flake):
flake_size = len(copy_flake)
main_flake = np.zeros ((flake_size*2,
flake_size*2))
main_flake[0:flake_size, 0:flake_size] = copy_flake
#left
main_flake[0:flake_size,flake_size:flake_size*2] =
copy_flake[:,::-1]*2 #right
main_flake[flake_size:flake_size*2:flake_size] =
copy_flake[::-1,:]*3 #left

main_flake[flake_size:flake_size*2,flake_size:flake_size*2]=copy_flake[::-1,::-1]*4
#right
return main_flake
def ground(flake_list, colour):
horizontal_list = []
vertical_list =[]
for rows,columns in flake_list:
vertical_list.append(row - rows -
1)
horizontal_list.append(columns)
plt.scatter(horizontal_list,vertical_list,
color=colour, marker='s',s=1350)
def wind(flake_list, colour) :
horizontal_list=[]
vertical_list=[]
for rows,columns in flake_list:
vertical_list.append(row - rows -
1)
horizontal_list.append(columns)

plt.scatter(horizontal_list,vertical_list, color=colour,
marker='_',s=30)
ground, wind, = process_file("Terrain_data.txt")
size = 5
flake = np.random.randint(5,size=(size,size))
snowflake1 = snowflake_sim(flake)
snowflake2 = snowflake_sim(flake)
def main():
horizontal_move = (0.9)
wind_speed = (0.15)
for i in range (timeskips) :

grav = (0.05)
if horizontal_move>0.2:

horizontal_move-=0.0545

if horizontal_move>0.45:
wind_speed+=0.05
graph, axis = plt.subplots()
axis.imshow = ground(ground, "g")
axis.imshow = wind(wind,"b")
plt.title ("Snow Flake
Simulation")
plt.xlim(-1,cols)
plt.ylim(-1,row)
print("\n ###",i, "###")
axins =
axis.inset_axes((0.3,float(horizontal_move),float(wind_speed),.3))

axins2 = axis.inset_axes((0.0,float
(horizontal_move),float (wind_speed),.3))
axins.set(xticks=[], yticks=[])
axins2.set(xticks=[], yticks=[])
im = axins.imshow(snowflake1,
origin="lower")
im = axins2.imshow(snowflake2)
plt.show()
time.sleep (1)
if __name__ == "__main__":
main()
can someone please explain every line of code in detail please.
python assignment
Join a community of subject matter experts. Register for FREE to view solutions, replies, and use search function. Request answer by replying!
Post Reply