From 2230525e17532a636f606f20cb7d1be2475c0a46 Mon Sep 17 00:00:00 2001 From: starcalc Date: Sun, 11 Feb 2018 19:04:02 +0100 Subject: [PATCH] Auf beliebigen Matrizen nutzbar --- NeoPatterns.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/NeoPatterns.cpp b/NeoPatterns.cpp index 23a41a2..842e984 100644 --- a/NeoPatterns.cpp +++ b/NeoPatterns.cpp @@ -778,16 +778,16 @@ uint32_t NeoPatterns::Wheel(byte WheelPos) // Convert x y pixel position to matrix position uint8_t NeoPatterns::xyToPos(int x, int y) { if (y % 2 == 0) { - return (y * 8 + x); + return (y * (int)sqrt(numPixels()) + x); } else { - return (y * 8 + (7 - x)); + return (y * (int)sqrt(numPixels()) + (((int)sqrt(numPixels())-1) - x)); } } //convert pixel number to actual 8x8 matrix position uint8_t NeoPatterns::numToPos(int num) { - int x = num % 8; - int y = num / 8; + int x = num % (int)sqrt(numPixels()); + int y = num / (int)sqrt(numPixels()); return xyToPos(x, y); }