buyuyen kare
unknown
plain_text
a year ago
2.7 kB
5
Indexable
import cv2 import numpy as np import time #zamanı ölçmek ve uyku fonksiyonlarını kullan def buyuyen_kare(genisleme_hizi, sure): # Parametre sınırlarını kontrol et genisleme_hizi = max(100, min(genisleme_hizi, 1000)) #Karelerin büyüme hızı (milisaniye cinsinden, varsayılan 500ms) sure = max(45, min(sure, 5 * 60)) # süre saniye cinsinden, max 5 dakika (300 saniye) Programın çalışma süresi (saniye cinsinden, varsayılan 45 saniye) # Beyaz tuvali oluştur canvas = np.ones((500, 500, 3), dtype="uint8") * 255 # *255 tuvali beyaz yapar baslangic_zamani = time.time() #Başlangıç zamanı kaydedilir.işlemin ne kadar sürdüğünü kaydettik. while time.time() - baslangic_zamani < sure: #Belirtilen süre boyunca döngü devam eder. size = 50 while size <= 450: canvas.fill(255) # Tuvali temizle (beyaza boya) # Ortada daire çiz cv2.circle(canvas, (250, 250), 5, (169, 169, 169), -1) # Tüm kareleri çiz,her büyük karenin içinde birden fazla küçük kare çizmek için current_size değişkeni kullandık. Büyürken içerideki küçük kareleri de çiziyor current_size = size while current_size >= 50: top_left = (250 - current_size // 2, 250 - current_size // 2) bottom_right = (250 + current_size // 2, 250 + current_size // 2) cv2.rectangle(canvas, top_left, bottom_right, (104, 104, 104), 3) current_size -= 50 # En son kareyi işaretle top_left = (250 - size // 2, 250 - size // 2) bottom_right = (250 + size // 2, 250 + size // 2) cv2.circle(canvas, top_left, 8, (0, 0, 255), -1) #(225,225) cv2.circle(canvas, bottom_right, 8, (0, 0, 255), -1) #(275,275) cv2.circle(canvas, (top_left[0], bottom_right[1]), 8, (0, 0, 255), -1) # (225,275)=(top_left[0],bottom_right[1]) cv2.circle(canvas, (bottom_right[0], top_left[1]), 8, (0, 0, 255), -1) #(275,225)=(bottom_right[0], top_left[1]) cv2.imshow("Buyuyen Kare", canvas) if cv2.waitKey(genisleme_hizi) & 0xFF == 27: # ESC tuşuna basılarak çıkılabilir cv2.destroyAllWindows() return # if cv2.waitKey(500) & 0xFF == ord("q"): #q yazınca kapanıyor # break size += 50 cv2.destroyAllWindows() # Fonksiyonu çağırsak buyuyen_kare(genisleme_hizi= 2000, sure= 60)
Editor is loading...
Leave a Comment