Advertisement
jee7

TIA Müra

Nov 23rd, 2014
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.45 KB | None | 0 0
  1. import pygame, random, math
  2.  
  3. pygame.init()
  4. #Vastava suurusega aken (globaalsed muutujad)
  5. aknaMõõtmed = [300, 100]
  6. ekraan = pygame.display.set_mode(aknaMõõtmed)
  7.  
  8. #Loome juhuslike väärtuste listi
  9. def looMüra(amplituud, sagedus):
  10.     punktid = random.sample(range(100000 * amplituud), sagedus)
  11.     punktid = [x / 100000 for x in punktid]
  12.  
  13.     return punktid
  14.  
  15. #Interpoleerime juhuslikke väärtusi koosinuse kaalu abil
  16. def interpoleeri(eelmine, järgmine, x):
  17.     x = x * math.pi
  18.     kaal = 0.5 * (1 - math.cos(x))
  19.  
  20.     return eelmine * (1 - kaal) + järgmine * kaal
  21.  
  22. amplituud = 100
  23. sagedus = 60
  24. müra = looMüra(amplituud, sagedus)
  25. print(müra)
  26. print(len(müra))
  27.  
  28. while True:
  29.     ekraan.fill((0,0,0))
  30.    
  31.     eelminePunkt = False
  32.     for x in range(0, 300):
  33.        
  34.         müraXtäpne = x * len(müra) / 300
  35.         müraX = int(müraXtäpne)
  36.         müraY = int(interpoleeri(müra[müraX - 1], müra[müraX], müraX - müraXtäpne))
  37.  
  38.         punkt = [x, müraY]
  39.         if eelminePunkt:
  40.             pygame.draw.line(ekraan, (255, 255, 255), eelminePunkt, punkt)
  41.             if abs(müraX - müraXtäpne) <= 0.0001:
  42.                 pygame.draw.circle(ekraan, (255, 0, 0), eelminePunkt, 2)
  43.            
  44.         eelminePunkt = punkt
  45.  
  46.     pygame.display.flip()
  47.     pygame.time.delay(10)
  48.  
  49.     events = pygame.event.get()
  50.     for event in events:
  51.         if event.type == pygame.QUIT:
  52.             exit()
  53.             break;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement