Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- n = 360
- m = 8
- def get_xy(phase_offset, w1, w2, o1=None, o2=None):
- if o1 is None:
- o1 = np.zeros(m)
- if o2 is None:
- o2 = np.zeros(m)
- a = []
- offsets = arange(1, m + 1)
- for phi in linspace(0, 2 * pi, n):
- p1 = (phi + o1) * offsets
- p2 = (phi + o2) * offsets
- l = (dot(np.cos(p1), w1) + dot(np.sin(p2), w2)) * 0.09 + 3
- x = cos(phi + phase_offset) * l
- y = sin(phi + phase_offset) * l
- a.append([x, y])
- return array(a)
- ec = []
- w1 = np.random.normal(0, 2, size=m)
- w2 = np.random.normal(0, 2, size=m)
- o1 = np.random.normal(0, 2 * pi, size=m)
- o2 = np.random.normal(0, 2 * pi, size=m)
- for i in range(30):
- w1 = w1 * 0.999 + np.random.normal(0, 0.03, size=m)
- w2 = w2 * 0.999 + np.random.normal(0, 0.03, size=m)
- o1 += np.random.normal(3, 2) * 0.005
- o2 += np.random.normal(3, 2) * 0.005
- ec.append(get_xy(-i * 0.02, w1, w2, o1, o2))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement