Пример #1
0
args = parser.parse_args()

GRAVITY_Y = 0.2

def rand_c():
	while True:
		r = random.randrange(0, 0xff)
		g = random.randrange(0, 0xff)
		b = random.randrange(0, 0xff)
		s = r+g+b
		if s > 0x60:
			return r << 16 | g << 8 | b
	

screen = LedScreen(args.ip, args.port)

panel_x = screen.size_x
panel_y = screen.size_y


def clear_screen():
	for x in range(panel_x):
		for y in range(panel_y):
			screen.set_px(x, y, 0, immediate=False)


class Particle:
	def __init__(self, ttl, color, pos, vel):
		self.ttl = ttl
		self.age = 0
Пример #2
0
#!/usr/bin/python3

import sys
import time
import random
import math

from ledScreen import LedScreen

screen = LedScreen(sys.argv[1], sys.argv[2])

panel_x = screen.size_x
panel_y = screen.size_y

screen.read_screen()

for x in range(panel_x):
    for y in range(panel_y):
        screen.set_px(x, y, 0xffffff ^ screen.image[x][y])
Пример #3
0
t = time.time()

map = Octree(args.r * 2)


def rand_c():
    while True:
        r = random.randrange(0, 0xff)
        g = random.randrange(0, 0xff)
        b = random.randrange(0, 0xff)
        s = r + g + b
        if s > 0x60:
            return r << 16 | g << 8 | b


screen = LedScreen(args.ip, args.port)

panel_x = screen.size_x
panel_y = screen.size_y


def add(a, b):
    c = []
    for i in range(len(a)):
        c.append(a[i] + b[i])
    return c


def mul(a, s):
    c = []
    for i in range(len(a)):
Пример #4
0
	rA = (a >> 16) & 0xff
	gA = (a >>  8) & 0xff
	bA = (a      ) & 0xff
	rB = (b >> 16) & 0xff
	gB = (b >>  8) & 0xff
	bB = (b      ) & 0xff

	
	r = int(rA * (1-n) + rB * n)
	g = int(gA * (1-n) + gB * n)
	b = int(bA * (1-n) + bB * n)

	return r << 16 | g << 8 | b


screen = LedScreen(args.ip, args.port)

panel_x = screen.size_x
panel_y = screen.size_y

x = 0
y = 0

fadeF = False
fadeB = False

i = 0

if args.fg == "random":
	fg = getRandomC()
elif args.fg == "fade":
Пример #5
0
from ledScreen import LedScreen

parser = argparse.ArgumentParser(
    description="Sends a image to a PixelFlut screen")
parser.add_argument("ip")
parser.add_argument("port")
parser.add_argument("img")
parser.add_argument("-i", action="store_true", help="Invert the image")
parser.add_argument("-l",
                    action="store_true",
                    help="Loop the image sequence (gif)")

args = parser.parse_args()

screen = LedScreen(args.ip, args.port)

size = screen.size_x, screen.size_y

try:
    seq = Image.open(args.img)
    while True:
        for im in ImageSequence.Iterator(seq):
            temp = im.copy()
            temp.thumbnail(size, Image.ANTIALIAS)
            temp = temp.convert("RGB")

            off_x = (size[0] - temp.size[0]) // 2
            off_y = (size[1] - temp.size[1]) // 2

            for x in range(temp.size[0]):
Пример #6
0
    i = 0
    max_i = 100
    while z < 100 and i < max_i:
        i += 1
        nx = x2 - y2 + x
        ny = xy + xy + y
        x2 = nx * nx
        y2 = ny * ny
        xy = nx * ny

        z = x2 + y2

    return pick_color(i / max_i)


screen = LedScreen(sys.argv[1], sys.argv[2])

panel_x = screen.size_x
panel_y = screen.size_y

pois = [(-0.170337, -1.06506), (0.42884, -0.231345), (-1.62917, -0.0203968),
        (-0.761574, -0.0847596)]
center = random.choice(pois)

scale = 1 / 10
center_x = center[0]
center_y = center[1]

speed = 0.99
interval = 0.05
t0 = time.time()
Пример #7
0
#!/usr/bin/python3

import sys
import time
import random
import math

from ledScreen import LedScreen

screen = LedScreen(sys.argv[1], sys.argv[2])

panel_x = screen.size_x
panel_y = screen.size_y

screen.read_screen()


class Ball:
    def __init__(self, x, y, r, c):
        self.x = x
        self.y = y
        self.r = r
        self.c = c
        self.vx = 0
        self.vy = 0

    def collides(self, other):
        dx = self.x - other.x
        dy = self.y - other.y
        r = self.r + other.r
        return dx * dx + dy * dy < r * r
Пример #8
0
parser.add_argument("-c", help="limit the field by a circle", action='store_true')

args = parser.parse_args()


def rand_c():
	while True:
		r = random.randrange(0, 0xff)
		g = random.randrange(0, 0xff)
		b = random.randrange(0, 0xff)
		s = r+g+b
		if s > 0x60:
			return r << 16 | g << 8 | b
	

screen = LedScreen(args.ip, args.port)

panel_x = screen.size_x
panel_y = screen.size_y

x = panel_x // 2
y = panel_y // 2
c = rand_c()
steps = 0

r2 = min(x, y)**2

while True:
	dx, dy = random.choice([(-1, 0), (1, 0), (0, -1), (0, 1)])
	x += dx
	y += dy