X-Git-Url: http://git.dolda2000.com/gitweb/?a=blobdiff_plain;f=src%2Fkaka%2Fcakelight%2Fmode%2FTwoColorNoiseMode.java;fp=src%2Fkaka%2Fcakelight%2Fmode%2FTwoColorNoiseMode.java;h=0000000000000000000000000000000000000000;hb=6a3d0edaa676312429f2f2bd6ed44e59ed07cc70;hp=6e8de55480e07d4b40cf93b88756a1b2f697cd2e;hpb=8d0b33bf3dbf21aab3f94ac48db8da4fcee5d0cc;p=kaka%2Fcakelight.git diff --git a/src/kaka/cakelight/mode/TwoColorNoiseMode.java b/src/kaka/cakelight/mode/TwoColorNoiseMode.java deleted file mode 100644 index 6e8de55..0000000 --- a/src/kaka/cakelight/mode/TwoColorNoiseMode.java +++ /dev/null @@ -1,44 +0,0 @@ -package kaka.cakelight.mode; - -import kaka.cakelight.Color; -import kaka.cakelight.LedFrame; -import kaka.cakelight.util.SimplexNoise3D; - -public class TwoColorNoiseMode extends AmbientMode { - // private final Color primary, secondary; - private final Color[] colors; - private SimplexNoise3D noise = new SimplexNoise3D(0); - - public TwoColorNoiseMode(Color... colors) { - assert colors.length > 1; - this.colors = colors; - } - - public TwoColorNoiseMode(Color primary, Color secondary) { - this(new Color[] {primary, secondary}); -// this.primary = primary; -// this.secondary = secondary; - } - - @Override - protected void updateFrame(LedFrame frame, long time, int count) { - for (int i = 0; i < config.leds.getCount(); i++) { - double x = frame.xOf(i); - double y = frame.yOf(i); - double v = Math.pow(Math.min(1, Math.max(0, noise.getr(0.0, 1.0, 1, x, y, time / 7000.0))), 1.5); - // frame.setLedColor(i, primary.interpolate(secondary, v)); - frame.setLedColor(i, getColorAt(v)); - } - } - - private Color getColorAt(double value) { // 0.0 to 1.0 - double localRange = 1.0 / (colors.length - 1); - int index = (int)(value / localRange); - double localValue = (value / localRange) - index; - if (index == colors.length - 1) { - return colors[colors.length - 1]; - } else { - return colors[index].interpolate(colors[index + 1], localValue); - } - } -}