sync with current state
This commit is contained in:
42
apps/fading_pixels.py
Executable file
42
apps/fading_pixels.py
Executable file
@@ -0,0 +1,42 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import sys
|
||||
import os
|
||||
import numpy as np
|
||||
import pygame
|
||||
|
||||
Nx = int(sys.argv[1])
|
||||
Ny = int(sys.argv[2])
|
||||
try:
|
||||
fps = float(sys.argv[3])
|
||||
except (IndexError, ValueError):
|
||||
fps = 1.0
|
||||
|
||||
|
||||
def point2idx(x,y):
|
||||
return 3*(x+Nx*y)
|
||||
|
||||
def set_pixel_max(buffer, x, y):
|
||||
idx = point2idx(x,y)
|
||||
for i in range(3):
|
||||
buffer[idx+i] = max(0x00, buffer[idx+i]-1)
|
||||
|
||||
def set_pixel_rand(buffer, x, y):
|
||||
idx = point2idx(x,y)
|
||||
for i in range(3):
|
||||
buffer[idx+i] = np.random.randint(0x00, 0xff)
|
||||
|
||||
clock = pygame.time.Clock()
|
||||
buffer = bytearray(b"\x00"*(3*Nx*Ny))
|
||||
|
||||
i = 0
|
||||
while True:
|
||||
i = i + 1
|
||||
for px in range(Nx):
|
||||
for py in range(Ny):
|
||||
set_pixel_max(buffer, px, py)
|
||||
for j in range(10):
|
||||
set_pixel_rand(buffer, np.random.randint(0, Nx), np.random.randint(0, Ny))
|
||||
if i > 100:
|
||||
os.write(1, buffer)
|
||||
clock.tick_busy_loop(fps)
|
Reference in New Issue
Block a user