Untitled

 avatar
unknown
python
a year ago
2.1 kB
6
Indexable
import cv2
import numpy as np
import time

def draw_zigzag_and_circles(canvas, circle_color, line_color, num_zigzags):
    x = np.linspace(50, 650, num=num_zigzags, endpoint=True)
    y = np.linspace(650, 50, num=num_zigzags, endpoint=True)

    koordinat_x = [[50, int(a)] for a in x]
    koordinat_y = [[650, int(a)] for a in x]

    # Çizgileri ve daireleri çiz
    for i in koordinat_x:
        cv2.circle(canvas, (int(i[0]), int(i[1])), 16, circle_color, thickness=-1)
    for i in koordinat_y:
        cv2.circle(canvas, (int(i[0]), int(i[1])), 16, circle_color, thickness=-1)

    for i in range(len(koordinat_y)):
        cv2.line(canvas, koordinat_x[i], koordinat_y[i], line_color, 2)

    for i in range(len(koordinat_x) - 1):
        cv2.line(canvas, koordinat_y[i], koordinat_x[i + 1], line_color, 2)

    return koordinat_x, koordinat_y

def blink_circles(canvas, koordinat_x, koordinat_y, blink_color, blink_duration, total_duration):
    points = []
    for i in range(len(koordinat_x)):
        points.append(koordinat_x[i])
        points.append(koordinat_y[i])

    end_time = time.time() + total_duration
    
    while time.time() < end_time:
        for point in points:
            temp_canvas = canvas.copy()
            cv2.circle(temp_canvas, point, 15, blink_color, thickness=-1)
            cv2.imshow("Zigzag and Circles", temp_canvas)
            cv2.waitKey(1)
            time.sleep(blink_duration)
            
            cv2.imshow("Zigzag and Circles", canvas)
            cv2.waitKey(1)
            time.sleep(blink_duration)

def draw_zıkzak():
    canvas = np.ones((800, 700, 3), dtype=np.uint8) * 255
    circle_color = (190, 190, 190)
    line_color = (180, 180,180)
    blink_color = (130, 90, 90)
    num_zigzags = 5
    blink_duration = 0.4
    total_duration = 8

    koordinat_x, koordinat_y = draw_zigzag_and_circles(canvas, circle_color, line_color, num_zigzags)
    blink_circles(canvas, koordinat_x, koordinat_y, blink_color, blink_duration, total_duration)
    
    cv2.destroyAllWindows()

draw_zıkzak()
Editor is loading...
Leave a Comment