#include #include #include #include #include "libsldj/util.h" Color lineScanner(uint16_t x, uint16_t y, uint32_t frameNumber) { //uint8_t c = (x >> 8) + (uint8_t)(SLDJ_HYPOT2((x >> 9), (y >> 9)) * (frameNumber % 255)); //uint8_t c = sin(x * DEG2RAD) * 256; //uint8_t c = SLDJ_SIN(x % 360) * 256; uint8_t scale = random() % 2 + 7; float scaleCos = SLDJ_COS(((int)(x * RAD2DEG) >> scale) % 360); float scaleSin = SLDJ_SIN(((int)(y * RAD2DEG) >> scale) % 360); uint8_t c1 = (x >> 8) + (uint8_t)(SLDJ_HYPOT2((x >> 8), (y >> 8)) * (frameNumber % 255)); uint8_t c2 = (x >> 8) + (uint8_t)(SLDJ_HYPOT2(scaleCos, scaleSin) * (frameNumber % 255)); uint8_t c3 = frameNumber + SLDJ_HYPOT2(((x - 32768) >> scale), ((y - 32768) >> scale)); uint8_t c = c1 & c2 & c3; return (Color){ .r = c, .g = c - 127, .b = c, .a = 255 }; }