Advertisement
Leonard_M

tema-maria.py

Nov 5th, 2019
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.36 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 E(z):
  24.    A=z+1;B=z;C=B+V;D=C+1
  25.    P=B+V*1/2; Q=P+1
  26.    zs=[A,B,P,Q,P,C,D]
  27.    plotc(zs)
  28. def O(z):
  29.    al=2*math.pi/30
  30.    A=z+V/2
  31.    zs=[]
  32.    for i in range(30+1):
  33.       R=A+cmath.rect(1/2,al*i)
  34.       zs.append(R)
  35.    plotc(zs)
  36.  
  37. def U(z):
  38.    Q=z+V/2
  39.    B=Q-1/2;A=B+V/2
  40.    C=B+1;D=A+1
  41.    al=2*math.pi/30
  42.    zs=[A,B]
  43.    for i in range(15,30+1):
  44.       R=Q+cmath.rect(1/2,al*i)
  45.       zs.append(R)
  46.    zs+=[C,D]
  47.    plotc(zs)
  48.  
  49. def M(z):
  50.     A = z
  51.     B = A + complex(0, 1)
  52.     C = complex(0.5,0.5) + A
  53.     D = B + complex(1, 0)
  54.     E = A + complex(1, 0)
  55.     zs=[A,B,C,D,E]
  56.     plotc(zs)
  57.  
  58. def P(z):
  59.     A = z
  60.     B = A + complex(0, 1)
  61.     al = 2*math.pi/30
  62.     zs = [A, B]
  63.     aux = B - complex(0, 0.25)
  64.     for i in range(7, -8, -1):
  65.         R = aux + cmath.rect(1/4, al*i)
  66.         zs.append(R)
  67.     plotc(zs)
  68.    
  69. def R(z):
  70.     A = z
  71.     B = A + complex(0, 1)
  72.     al = 2*math.pi/30
  73.     zs = [A, B]
  74.     aux = B - complex(0, 0.25)
  75.     for i in range(7, -8, -1):
  76.         R = aux + cmath.rect(1/4, al*i)
  77.         zs.append(R)
  78.     C = (A + B) / 2
  79.     D = A + complex(0.3, 0)
  80.     zs += [C, D]
  81.     plotc(zs)
  82.    
  83. def Vlitera(z):
  84.     A=z+complex(0,1)
  85.     B=z+complex(0.5,0)
  86.     C=A+complex(1,0)
  87.     zs=[A,B,C]
  88.     plotc(zs)
  89.    
  90. def L(z):
  91.     A=z+complex(0,1)
  92.     B=z
  93.     C=z+complex(0.5,0)
  94.     zs=[A,B,C]
  95.     plotc(zs)
  96.    
  97. def caciulita(z):
  98.     Q=z+V/2 + 0.5
  99.     #B=Q-1/2;A=B+V/2
  100.     #C=B+1;D=A+1
  101.     al=2*math.pi/30
  102.     zs=[]
  103.     for i in range(20,25+1):
  104.       R=Q+cmath.rect(1/2,al*i)
  105.       zs.append(R)
  106.     zs+=[]
  107.     plotc(zs)
  108.    
  109. def punctulPeI(z):
  110.     al=2*math.pi/30
  111.     A=z+V/2
  112.     zs=[]
  113.     for i in range(30+1):
  114.       R=A+cmath.rect(1/16,al*i)
  115.       zs.append(R)
  116.     plotc(zs)
  117.    
  118. 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))
  119. P(0); A(0.3); Vlitera(1.1); A(1.9); L(3); A(3.6);U(5.1)
  120. caciulita(complex(0.3, 1.1)); caciulita(complex(1.9, 1.1)); caciulita(complex(3.6, 1.1))
  121. punctulPeI(complex(3.0, 2.9))
  122. plt.show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement