#include "effect_twirl.h" #include "functions.h" void TwirlEffect::loop() { for (int x=0; xwidth; x++) for (int y=0; yheight; y++) { uint8_t angle = (x==center_x && y==center_y) ? 0 : atan2(y - center_y, x - center_x) / M_PI * 128 + 128 + angleOffset; uint8_t brightness = sqrt16((center_x - x) * (center_x - x) + (center_y - y) * (center_y - y)) & 0xFF; CRGB color(CHSV(angle, (brightness<<5) & 0xFF, 255)); window->setPixel(x, y, &color); } angleOffset += 1; }