diff options
Diffstat (limited to 'test/scanTest1.c')
-rw-r--r-- | test/scanTest1.c | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/test/scanTest1.c b/test/scanTest1.c index 32c4d86..ac67115 100644 --- a/test/scanTest1.c +++ b/test/scanTest1.c @@ -13,14 +13,28 @@ typedef struct Color { Color lineScanner(uint16_t x, uint16_t y, uint32_t frameNumber) { uint8_t c = 0; + uint8_t scale = random() % 2 + 7; - if (frameNumber % 255 >= 127) + if (frameNumber % 1024 >= 512) { - c = (x >> 8) + (uint8_t)(hypot(x >> 9, y >> 9) * (frameNumber % 255)); + uint8_t section = frameNumber % 300; + + if (section >= 200) + { + c = (x >> 8) + (uint8_t)(hypot(x >> 8, y >> 8) * (frameNumber % 255)); + } else if (section >= 100) { + c = (x >> 8) + (uint8_t)(hypot(cos(x >> scale), sin(y >> scale)) * (frameNumber % 255)); + } else { + c = frameNumber + hypot((x - 32768) >> scale, (y - 32768) >> scale); + } } else { - c = (x >> 8) + (uint8_t)(hypot(cos(x >> 9), sin(y >> 9)) * (frameNumber % 255)); + uint8_t c1 = (x >> 8) + (uint8_t)(hypot(x >> 8, y >> 8) * (frameNumber % 255)); + uint8_t c2 = (x >> 8) + (uint8_t)(hypot(cos(x >> scale), sin(y >> scale)) * (frameNumber % 255)); + uint8_t c3 = frameNumber + hypot((x - 32768) >> scale, (y - 32768) >> scale); + + c = c1 & c2 & c3; } - + return (Color){ .r = (uint8_t)(sin(c) * 127), .g = c - 127, |