Categories
SMArt Codes

E3 – “Puppy”

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation
import time
import random


print("starting")
start = time.time()

x_data = []
y_data = []
x2_data = []
y2_data = []
x3_data = []
y3_data = []
x4_data = []
y4_data = []
x5_data = []
y5_data = []
x6_data = []
y6_data = []
x7_data = []
y7_data = []
x8_data = []
y8_data = []
x9_data = []
y9_data = []
x10_data = []
y10_data = []
x11_data = []
y11_data = []

fig, ax = plt.subplots()
#ax.set_xlim(-10000, 10000)
#ax.set_ylim(-10000, 10000)
line, = ax.plot(0,0)
line2, = ax.plot(0,0)
line3, = ax.plot(0,0)
line4, = ax.plot(0,0)
line5, = ax.plot(0,0)
line6, = ax.plot(0,0)
line7, = ax.plot(0,0)
line8, = ax.plot(0,0)
line9, = ax.plot(0,0)
line10, = ax.plot(0,0)
line11, = ax.plot(0,0)
r=1.2
r2=1.5
r3=1.5

count=1
count2=0
count3=0
def animation_frame(i):
    print(i)
    print(np.sin(i))
    x=round(i/30)+0.02
    x2=round(x/30)+0.1
    y_data.append(abs((x+50)/120*np.sin(i*np.pi/15)))
    x_data.append(-(x+50)/300*(np.sin(i*np.pi/15/2)*np.sin(i*np.pi/15)+3*np.sin(i*np.pi/15/2)))
    x2_data.append(x/100*np.sin(i*np.pi/30))
    y2_data.append(-0.5+x/100*np.cos(i*np.pi/30))
    x5_data.append(0.35+x/1200*np.sin(i*np.pi/30))
    y5_data.append(x/1200*np.cos(i*np.pi/30))
    x6_data.append(-0.35-x/1200*np.sin(i*np.pi/30))
    y6_data.append(-x/1200*np.cos(i*np.pi/30))
    y7_data.append(-1.5+abs(x/250*np.sin(i*np.pi/15)))
    x7_data.append(0.8-x/1000*(np.sin(i*np.pi/15/2)*np.sin(i*np.pi/15)+3*np.sin(i*np.pi/30/2)))
    y8_data.append(-1.5+abs(x/250*np.sin(i*np.pi/15)))
    x8_data.append(-0.8+x/1000*(np.sin(i*np.pi/15/2)*np.sin(i*np.pi/15)+3*np.sin(i*np.pi/30/2)))
    #y4_data.append(x/60*np.cos(i*np.pi/30))
    #x4_data.append(x/200*(np.cos(i*np.pi/30/2)*np.cos(i*np.pi/30)))
    #x3_data.append(x/220*np.sin(i*np.pi/30))
    #y3_data.append(-0.5-abs(x/70*(np.sin(i*np.pi/30)*np.sin(i*np.pi/30))))
    #x4_data.append(x/125*np.sin(i*np.pi/30))
    #y4_data.append(-0.3-abs(x/105*(np.sin(i*np.pi/30)*np.sin(i*np.pi/30))))
    x9_data.append(x/500*np.sin(i*np.pi/30))
    y9_data.append(-1+abs(x/800*(np.sin(i*np.pi/30)*np.sin(i*np.pi/30))))
    ##LIGHTNINGBOLT
    #x10_data.append(x/100-x2)
    #y10_data.append(x/100+
    ##WHISKERS
    #x10_data.append(0.05+(x2/200*30*(np.sin(i*np.pi/30)*np.sin(i*np.pi/30))))
    #y10_data.append(-0.7+x2/1000*30*np.sin(i*np.pi/30))
    #x11_data.append(-0.05-(x2/200*30*(np.sin(i*np.pi/30)*np.sin(i*np.pi/30))))
    #y11_data.append(-0.7+x2/1000*30*np.sin(i*np.pi/30))
    #x4_data.append((x/1000*np.cos(i))+2)
    #y4_data.append((x/1000*np.sin(i))-1.5)
    ##Loveheart nose
    y10_data.append(-0.5+x/800*np.sin(i*np.pi/30))
    x10_data.append(x/1500*(np.sin(i*np.pi/30/2)*np.sin(i*np.pi/30)+np.sin(i*np.pi/60)))
    line.set_xdata(x2_data)
    line.set_ydata(y2_data)
    line2.set_xdata(x_data)
    line2.set_ydata(y_data)
    line3.set_xdata(x3_data)
    line3.set_ydata(y3_data)
    line4.set_xdata(x4_data)
    line4.set_ydata(y4_data)
    line5.set_xdata(x5_data)
    line5.set_ydata(y5_data)
    line6.set_xdata(x6_data)
    line6.set_ydata(y6_data)
    line7.set_xdata(x7_data)
    line7.set_ydata(y7_data)
    line8.set_xdata(x8_data)
    line8.set_ydata(y8_data)
    line9.set_xdata(x9_data)
    line9.set_ydata(y9_data)
    line10.set_xdata(x10_data)
    line10.set_ydata(y10_data)
    line11.set_xdata(x11_data)
    line11.set_ydata(y11_data)
    ax.set_xlim(-2,2)
    ax.set_ylim(-1.5,1.5)
    line2.set_linewidth(3)
    line10.set_linewidth(0.5)
    line10.set_linewidth(0.5)

    line2.set_color('saddlebrown')
    line.set_color('chocolate')
    line3.set_color('chocolate')
    line4.set_color('chocolate')
    line5.set_color('black')
    line6.set_color('black')
    line7.set_color('saddlebrown')
    line8.set_color('saddlebrown')
    line9.set_color('black')
    line10.set_color('black')
    line11.set_color('black')
    return line, line3, line4, line2, line5, line6, line7, line8, line9, line10, line11

z_data = []
#counter=2000*np.pi
counter=0
#counter=1000*np.pi
for z in range(1, round(5000*np.pi)):
    counter=counter+1
    z_data.append(counter)


animation = FuncAnimation(fig, func=animation_frame, frames=z_data, interval=60, blit=True)


animation.save('puppy2.mp4', dpi=500, bitrate=-1, codec="libx264", extra_args=['-pix_fmt','yuv420p'])
#plt.show()
end = time.time()
print(end - start)
#print("done", "frame=",animation.frame_seq)
Categories
SMArt Codes

E2C – Butterflying

I’ve decided to leave some of the messiness in – turns out this one is reasonably clean – but some of the upcoming codes are a little messier.

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation
import time
import random


print("starting")
start = time.time()

x_data = []
y_data = []
x2_data = []
y2_data = []
x3_data = []
y3_data = []
x4_data = []
y4_data = []

fig, ax = plt.subplots()
#ax.set_xlim(-10000, 10000)
#ax.set_ylim(-10000, 10000)
line, = ax.plot(0,0)
line2, = ax.plot(0,0)
line3, = ax.plot(0,0)
line4, = ax.plot(0,0)
r=1.2
r2=1.5
r3=1.5

count=1
count2=0
count3=0
def animation_frame(i):
    print(i)
    print(np.sin(i))
    x=round(i/30)+0.1
    y4_data.append(x/120*np.sin(i*np.pi/30))
    x4_data.append(x/100*(np.sin(i*np.pi/30/2)*np.sin(i*np.pi/30)))
    x2_data.append(x/100*np.sin(i*np.pi/30))
    y2_data.append(x/100*(np.sin(i*np.pi/30/2)*np.sin(i*np.pi/30))+0.02)
    y_data.append(x/200*np.cos(i*np.pi/30))
    x_data.append(x/300*(np.cos(i*np.pi/30/2)*np.cos(i*np.pi/30)))
    x3_data.append(x/1000*np.sin(i*np.pi/30))
    y3_data.append(abs(x/150*(np.sin(i*np.pi/30)*np.sin(i*np.pi/30))))
    #x4_data.append((x/1000*np.cos(i))+2)
    #y4_data.append((x/1000*np.sin(i))-1.5)
    line.set_xdata(x_data)
    line.set_ydata(y_data)
    line2.set_xdata(x2_data)
    line2.set_ydata(y2_data)
    line3.set_xdata(x3_data)
    line3.set_ydata(y3_data)
    line4.set_xdata(x4_data)
    line4.set_ydata(y4_data)
    ax.set_xlim(-0.4,0.4)
    ax.set_ylim(-0.4,0.4)
    line.set_linewidth(1)
    line2.set_linewidth(5)
    line3.set_linewidth(0.5)
    line4.set_linewidth(3)
    line4.set_color('orange')
    line2.set_color('purple')
    line3.set_color('black')
    line.set_color('black')
    return line4,  line, line2, line3

z_data = []
#counter=2000*np.pi
#counter=-300*np.pi
counter=0
for z in range(1, 10000):
    if counter < 10000:
        counter=counter+0.1
    #else:
    #    counter=counter - 300*np.pi
    z_data.append(counter)


animation = FuncAnimation(fig, func=animation_frame, frames=z_data, interval=60, blit=True)


animation.save('Butterfly2.mp4', dpi=500, bitrate=-1, codec="libx264", extra_args=['-pix_fmt','yuv420p'])
#plt.show()
end = time.time()
print(end - start)
#print("done", "frame=",animation.frame_seq)
Categories
SMArt Codes

E2B – Time To Unwind

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation
import time

print("starting")
start = time.time()

x_data = []
y_data = []
x2_data = []
y2_data = []
x3_data = []
y3_data = []

fig, ax = plt.subplots()
line, = ax.plot(0,0)
line2, = ax.plot(0,0)
line3, = ax.plot(0,0)
r=1
r2=1.2
r3=1.5

def animation_frame(i):
    print(i)
    x=round(i+1)
    r2=r*(x+1)
    if (((x+1) % 3 == 0)):
        x2_data.append(x*r2*np.cos(i))
        y2_data.append(x*r2*np.sin(i))
    elif ((x % 3 == 0)):
        x_data.append((x*r2*np.cos(i)))
        y_data.append((x*r2*np.sin(i)))
    else:
        x3_data.append((x*r2*np.cos(i)))
        y3_data.append((x*r2*np.sin(i)))
    line.set_xdata(x_data)
    line.set_ydata(y_data)
    line2.set_xdata(x2_data)
    line2.set_ydata(y2_data)
    line3.set_xdata(x3_data)
    line3.set_ydata(y3_data)
    line.set_linewidth(1)
    line2.set_linewidth(0.3)
    line3.set_linewidth(0.3)
    ax.set_xlim(-(i+1)*(i+1),(i+1)*(i+1))
    ax.set_ylim(-(i+1)*(i+1),(i+1)*(i+1))
    line.set_color('orange')
    line2.set_color('purple')
    line3.set_color('green')
    return line, line2, line3

z_data = []
count=0
for z in range(1, 4000):
    count=(count+z)/3
    z_data.append(count)


animation = FuncAnimation(fig, func=animation_frame, frames=z_data, interval=10, blit=True)

animation.save('TimeToUnwind.mp4', dpi=500, bitrate=-1, codec="libx264", extra_args=['-pix_fmt','yuv420p'])
#plt.show()
end = time.time()
print(end - start)

Categories
SMArt Codes

E2A – Passiflora

#E2_A
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation
import time
import random


print("starting")
start = time.time()

x_data = []
y_data = []
x2_data = []
y2_data = []
x3_data = []
y3_data = []

fig, ax = plt.subplots()
ax.set_xlim(-1.5, 1.5)
ax.set_ylim(-1.5,1.5)
line, = ax.plot(0,0)
line2, = ax.plot(0,0)
line3, = ax.plot(0,0)
r=1
r2=1.2
r3=1.5


def animation_frame(i):
    print(i)
    x=round(i/500)r2=r*(x+1)if ((x % 2 == 0)):
        x2_data.append(x*r2*np.cos(i))
        y2_data.append(x*r2*np.sin(i))
    elif ((x % 3 == 0)):
        x_data.append((x*r2*np.cos(i)))
        y_data.append((x*r2*np.sin(i)))
    else:
        x3_data.append((x*r2*np.cos(i)))
        y3_data.append((x*r2*np.sin(i)))line.set_xdata(x_data)
    line.set_ydata(y_data)
    line2.set_xdata(x2_data)
    line2.set_ydata(y2_data)
    line3.set_xdata(x3_data)
    line3.set_ydata(y3_data)
    line.set_linewidth(1)
    line2.set_linewidth(0.3)
    line3.set_linewidth(0.3)ax.set_xlim(-(i/500+1)*(i/500+1),(i/500+1)*(i/500+1))
    ax.set_ylim(-(i/500+1)*(i/500+1),(i/500+1)*(i/500+1))
    line.set_color('orange')
    line2.set_color('purple')
    line3.set_color('green')return line, line2, line3

z_data = []
count=0
for z in range(1, 6500):count=count+2.2z_data.append(count)


animation = FuncAnimation(fig, func=animation_frame, frames=z_data, interval=10, blit=True)


animation.save('passiflora2.mp4', dpi=500, bitrate=-1, codec="libx264", extra_args=['-pix_fmt','yuv420p'])
#plt.show()
end = time.time()
print(end - start)
Categories
SMArt Codes

E1 – Shell Life

#E1
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation

x_data = []
y_data = []

fig, ax = plt.subplots()
ax.set_xlim(-200, 200)
ax.set_ylim(-200,200)
line, = ax.plot(0,0)
r=1.2

def animation_frame(i):
    x_data.append(-r*i*np.cos(i*i)-i*np.cos(i))
    y_data.append(r*i*np.sin(i*i)+i*np.sin(i))

    line.set_xdata(x_data)
    line.set_ydata(y_data)
    line.set_linewidth(0.3)
    return line,


animation = FuncAnimation(fig, func=animation_frame, frames=np.arange(0, 132, 0.001), interval=40, blit=True)


#animation.save('E1.mp4', dpi=400, bitrate=-1, codec="libx264", extra_args=['-pix_fmt','yuv420p'])
plt.show()
print("done")