#include #include #include #include typedef struct Color { unsigned char r; unsigned char g; unsigned char b; unsigned char a; } Color; Color lineScanner(uint16_t x, uint16_t y, uint32_t frameNumber) { uint8_t c = 0; if (frameNumber % 255 >= 127) { c = (x >> 8) + (uint8_t)(hypot(x >> 9, y >> 9) * (frameNumber % 255)); } else { c = (x >> 8) + (uint8_t)(hypot(cos(x >> 9), sin(y >> 9)) * (frameNumber % 255)); } return (Color){ .r = (uint8_t)(sin(c) * 127), .g = c - 127, .b = c, .a = 255 }; }