altıgen
unknown
python
a year ago
2.1 kB
10
Indexable
import cv2 import numpy as np import time # Görüntü boyutları width, height = 800, 800 # Süreyi belirle (saniye cinsinden) run_duration = 60 # Programın çalışacağı süre (örneğin 60 saniye) # Programın başlama zamanı start_time = time.time() # OpenCV penceresini başlat cv2.namedWindow("Growing Hexagons", cv2.WINDOW_AUTOSIZE) # Merkez koordinatları center_x, center_y = width // 2, height // 2 # Altıgenin kenar sayısı ve açısı num_sides = 6 angle = 360 / num_sides # İlk altıgenin yarıçapı ve büyüme faktörü initial_radius = 20 growth_factor = 40 # Büyüme faktörünü artırarak altıgenler arasındaki mesafeyi artırdık while time.time() - start_time < run_duration: # Boş bir görüntü oluştur base_image = np.zeros((height, width, 3), dtype=np.uint8) # Altıgenleri çiz for i in range(10): # 10 adet büyüyen altıgen radius = initial_radius + i * growth_factor hexagon = [] for j in range(num_sides): theta = np.deg2rad(j * angle) x = int(center_x + radius * np.cos(theta)) y = int(center_y + radius * np.sin(theta)) hexagon.append((x, y)) hexagon = np.array(hexagon, np.int32).reshape((-1, 1, 2)) cv2.polylines(base_image, [hexagon], isClosed=True, color=(0, 255, 0), thickness=3) # Kalınlığı artırdık # Canvası kopyala ve yeni altıgenin köşe noktalarına daire ekle image = base_image.copy() for point in hexagon: cv2.circle(image, tuple(point[0]), radius=5, color=(0, 0, 255), thickness=-1) # Daire boyutu ve rengi ayarlandı # Güncellenen görüntüyü göster cv2.imshow("Growing Hexagons", image) # 500 ms bekle if cv2.waitKey(500) & 0xFF == 27: # 500 ms bekle, ESC ile çık break # Pencereyi kapatmadan devam et if cv2.waitKey(1) & 0xFF == 27: # ESC ile çık break # Program sonlandıktan sonra pencereyi kapat cv2.destroyAllWindows()
Editor is loading...
Leave a Comment