Construcción 2
import time
import math
#definimos una función que dibuja los puntos de la mariposa
def Puntos():
m=0
while m<=2*math.pi:
punto=Point(((math.e)**(math.sin(m))-2*math.cos(4*m)+(math.sin((2*m-math.pi)/24))**5)*math.cos(m),((math.e)**(math.sin(m))-2*math.cos(4*m)+(math.sin((2*m-math.pi)/24))**5)*math.sin(m))
punto.size=2
puntos.append(punto)
m=m+math.pi/100
time.sleep(0.01)
#definimos una función que dibuja los segmentos entre puntos
def Segmentos():
for i in range(0,len(puntos)-1):
segmento=Segment(puntos[i], puntos[i+1])
segmento.color='red'
segmento. line_thickness=15
time.sleep(0.01)
#función que dibuja puntos en el interior de las alas superiores
def Interior1():
for i in range(1,20):
for j in range(1,20):
m=math.atan(j/i)
m1=math.pi-m
if math.sqrt((i/5)**2+(j/5)**2)< ((math.e)**(math.sin(m))-2*math.cos(4*m)+(math.sin((2*m-math.pi)/24))**5):
P=Point(i/5,j/5)
P.color=((math.sin(m)),(math.sin(m))**4,0.1)
P.size=6
time.sleep(0.01)
if math.sqrt((i/5)**2+(j/5)**2)< ((math.e)**(math.sin(m1))-2*math.cos(4*m1)+(math.sin((2*m1-math.pi)/24))**5):
P=Point(-i/5,j/5)
P.color=((math.sin(m1)),(math.sin(m1))**4,0.1)
P.size=6
time.sleep(0.01)
#función que dibuja puntos en el interior de las alas inferiores
def Interior2():
for l in range(1,20):
for p in range(-20,0):
m2=math.atan(p/l)
m3=math.pi-m2
if math.sqrt((l/5)**2+(p/5)**2)< ((math.e)**(math.sin(m2))-2*math.cos(4*m2)+(math.sin((2*m2-math.pi)/24))**5):
P1=Point(l/5,p/5)
P1.color=(abs((math.sin(m2)))**3,abs((math.sin(m2))),0.1)
P1.size=6
time.sleep(0.01)
if math.sqrt((l/5)**2+(p/5)**2)< ((math.e)**(math.sin(m3))-2*math.cos(4*m3)+(math.sin((2*m3-math.pi)/24))**5):
P1=Point(-l/5,p/5)
P1.color=(abs((math.sin(m3)))**3,abs((math.sin(m3))),0.1)
P1.size=6
time.sleep(0.01)
#programa principal
#Dibujamos una circunferencia en el fondo
P=Point(0,0,is_visible=False)
C=Circle(P,30)
C.color='black'
C.opacity=1
time.sleep(0.01)
puntos=[]
Puntos()
Segmentos()
Interior1()
Interior2()