Advertisement
Leonard_M

tema-maria-gata.py

Nov 5th, 2019
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.09 KB | None | 0 0
  1. import matplotlib.pyplot as plt
  2. import math
  3. import cmath
  4.  
  5. V=complex(0,1)
  6. W=complex(1,1)
  7.  
  8. def plotc(zs):
  9.     xs=[z.real for z in zs]
  10.     ys=[z.imag for z in zs]
  11.     plt.plot(xs,ys)
  12.  
  13. def I(z):
  14.     zs=[z,z+V]
  15.     plotc(zs)
  16.  
  17. def A(z):
  18.    A=z;B=A+complex(0.5, 1);C=A+1
  19.    P=(A+B)/2;Q=(C+B)/2
  20.    zs=[A,B,Q,P,Q,C]
  21.    plotc(zs)
  22.  
  23. def U(z):
  24.    Q=z+V/2
  25.    B=Q-1/2;A=B+V/2
  26.    C=B+1;D=A+1
  27.    al=2*math.pi/30
  28.    zs=[A,B]
  29.    for i in range(15,30+1):
  30.       R=Q+cmath.rect(1/2,al*i)
  31.       zs.append(R)
  32.    zs+=[C,D]
  33.    plotc(zs)
  34.  
  35. def M(z):
  36.     A = z
  37.     B = A + complex(0, 1)
  38.     C = complex(0.5,0.5) + A
  39.     D = B + complex(1, 0)
  40.     E = A + complex(1, 0)
  41.     zs=[A,B,C,D,E]
  42.     plotc(zs)
  43.  
  44. def P(z):
  45.     A = z
  46.     B = A + complex(0, 1)
  47.     al = 2*math.pi/30
  48.     zs = [A, B]
  49.     aux = B - complex(0, 0.25)
  50.     for i in range(7, -8, -1):
  51.         R = aux + cmath.rect(1/4, al*i)
  52.         zs.append(R)
  53.     plotc(zs)
  54.    
  55. def R(z):
  56.     A = z
  57.     B = A + complex(0, 1)
  58.     al = 2*math.pi/30
  59.     zs = [A, B]
  60.     aux = B - complex(0, 0.25)
  61.     for i in range(7, -8, -1):
  62.         R = aux + cmath.rect(1/4, al*i)
  63.         zs.append(R)
  64.     C = (A + B) / 2
  65.     D = A + complex(0.3, 0)
  66.     zs += [C, D]
  67.     plotc(zs)
  68.    
  69. def Vlitera(z):
  70.     A=z+complex(0,1)
  71.     B=z+complex(0.5,0)
  72.     C=A+complex(1,0)
  73.     zs=[A,B,C]
  74.     plotc(zs)
  75.    
  76. def L(z):
  77.     A=z+complex(0,1)
  78.     B=z
  79.     C=z+complex(0.5,0)
  80.     zs=[A,B,C]
  81.     plotc(zs)
  82.    
  83. def caciulita(z):
  84.     Q=z+V/2 + 0.5
  85.     al=2*math.pi/30
  86.     zs=[]
  87.     for i in range(20,25+1):
  88.       R=Q+cmath.rect(1/2,al*i)
  89.       zs.append(R)
  90.     zs+=[]
  91.     plotc(zs)
  92.    
  93. def punctulPeI(z):
  94.     al=2*math.pi/30
  95.     A=z+V/2
  96.     zs=[]
  97.     for i in range(30+1):
  98.       R=A+cmath.rect(1/16,al*i)
  99.       zs.append(R)
  100.     plotc(zs)
  101.    
  102. M(complex(0, 2 + 0.2)); A(complex(1.2, 2.2)); R(complex(2.4, 2.2)); I(complex(3.0, 2.2)); A(complex(3.2, 2.2))
  103. P(0); A(0.3); Vlitera(1.1); A(1.9); L(3); A(3.6);U(5.1)
  104. caciulita(complex(0.3, 1.1)); caciulita(complex(1.9, 1.1)); caciulita(complex(3.6, 1.1))
  105. punctulPeI(complex(3.0, 2.9))
  106. plt.show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement