Untitled
unknown
python
a year ago
2.1 kB
9
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