From c39f7a0462dfcf7f5ba9b1f6e181e990e4490969 Mon Sep 17 00:00:00 2001 From: Mark Slee Date: Wed, 29 May 2013 23:50:05 -0500 Subject: [PATCH] Modify to use xMax/yMax/zMax instead of hardcoding 255/127 all over. --- MarkSlee.pde | 30 +++++++++++++++--------------- TestPatterns.pde | 6 +++--- code/GLucose.jar | Bin 13353 -> 13396 bytes 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/MarkSlee.pde b/MarkSlee.pde index ef65b3f..f6297f6 100644 --- a/MarkSlee.pde +++ b/MarkSlee.pde @@ -55,9 +55,9 @@ class Swarm extends SCPattern { SawLFO offset = new SawLFO(0, 16, 1000); SinLFO rate = new SinLFO(350, 1200, 63000); SinLFO falloff = new SinLFO(15, 50, 17000); - SinLFO fX = new SinLFO(0, 255, 19000); - SinLFO fY = new SinLFO(0, 127, 11000); - SinLFO hOffX = new SinLFO(0, 255, 13000); + SinLFO fX = new SinLFO(0, model.xMax, 19000); + SinLFO fY = new SinLFO(0, model.yMax, 11000); + SinLFO hOffX = new SinLFO(0, model.xMax, 13000); public Swarm(GLucose glucose) { super(glucose); @@ -111,7 +111,7 @@ class SwipeTransition extends SCTransition { void computeBlend(int[] c1, int[] c2, double progress) { float bleedf = 10 + bleed.getValuef() * 200.; - float xPos = (float) (-bleedf + progress * (255. + bleedf)); + float xPos = (float) (-bleedf + progress * (model.xMax + bleedf)); for (Point p : model.points) { float d = (p.fx - xPos) / bleedf; if (d < 0) { @@ -185,9 +185,9 @@ class CubeEQ extends SCPattern { float clrConst = 1.1 + clr.getValuef(); for (Point p : model.points) { - float avgIndex = constrain((p.fx / 256. * avgSize), 0, avgSize-2); + float avgIndex = constrain((p.fx / model.xMax * avgSize), 0, avgSize-2); int avgFloor = (int) avgIndex; - float j = jBase + jConst * (p.fy / 128.); + float j = jBase + jConst * (p.fy / model.yMax); float value = lerp( this.bandVals[avgFloor].getValuef(), this.bandVals[avgFloor+1].getValuef(), @@ -210,7 +210,7 @@ class BoomEffect extends SCEffect { final BasicParameter bright = new BasicParameter("BRT", 1.0); final BasicParameter sat = new BasicParameter("SAT", 0.2); List layers = new ArrayList(); - final float maxr = sqrt(127*127 + 127*127 + 255*255) + 10; + final float maxr = sqrt(model.xMax*model.xMax + model.yMax*model.yMax + model.zMax*model.zMax) + 10; class Layer { LinearEnvelope boom = new LinearEnvelope(-40, 500, 1300); @@ -234,7 +234,7 @@ class BoomEffect extends SCEffect { for (Point p : model.points) { colors[p.index] = blendColor( colors[p.index], - color(huev, satv, constrain(brightv - falloffv*abs(boom.getValuef() - dist(p.fx, 2*p.fy, 2*p.fz, 128, 128, 128)), 0, 100)), + color(huev, satv, constrain(brightv - falloffv*abs(boom.getValuef() - dist(p.fx, 2*p.fy, 3*p.fz, model.xMax/2, model.yMax, model.zMax*1.5)), 0, 100)), ADD); } } @@ -335,7 +335,7 @@ public class PianoKeyPattern extends SCPattern { for (Cube c : model.cubes) { float v = max(getBase(i).getValuef() * levelf/4., getEnvelope(i++).getValuef()); setColor(c, color( - (huef + 20*v + abs(c.fx-128.)*.3 + c.fy) % 360, + (huef + 20*v + abs(c.fx-model.xMax/2.)*.3 + c.fy) % 360, min(100, 120*v), 100*v )); @@ -345,9 +345,9 @@ public class PianoKeyPattern extends SCPattern { class CrossSections extends SCPattern { - final SinLFO x = new SinLFO(0, 255, 5000); - final SinLFO y = new SinLFO(0, 127, 6000); - final SinLFO z = new SinLFO(0, 127, 7000); + final SinLFO x = new SinLFO(0, model.xMax, 5000); + final SinLFO y = new SinLFO(0, model.yMax, 6000); + final SinLFO z = new SinLFO(0, model.zMax, 7000); final BasicParameter xw = new BasicParameter("XWID", 0.3); final BasicParameter yw = new BasicParameter("YWID", 0.3); @@ -402,17 +402,17 @@ class CrossSections extends SCPattern { color c = 0; c = blendColor(c, color( (lx.getBaseHuef() + p.fx/10 + p.fy/3) % 360, - constrain(140 - 1.1*abs(p.fx - 127), 0, 100), + constrain(140 - 1.1*abs(p.fx - model.xMax/2.), 0, 100), max(0, xlv - xwv*abs(p.fx - xv)) ), ADD); c = blendColor(c, color( (lx.getBaseHuef() + 80 + p.fy/10) % 360, - constrain(140 - 2.2*abs(p.fy - 64), 0, 100), + constrain(140 - 2.2*abs(p.fy - model.yMax/2.), 0, 100), max(0, ylv - ywv*abs(p.fy - yv)) ), ADD); c = blendColor(c, color( (lx.getBaseHuef() + 160 + p.fz / 10 + p.fy/2) % 360, - constrain(140 - 2.2*abs(p.fz - 64), 0, 100), + constrain(140 - 2.2*abs(p.fz - model.zMax/2.), 0, 100), max(0, zlv - zwv*abs(p.fz - zv)) ), ADD); colors[p.index] = c; diff --git a/TestPatterns.pde b/TestPatterns.pde index e7b30f9..82aeea4 100644 --- a/TestPatterns.pde +++ b/TestPatterns.pde @@ -10,7 +10,7 @@ class TestHuePattern extends SCPattern { } class TestXPattern extends SCPattern { - private SinLFO xPos = new SinLFO(0, 255, 4000); + private SinLFO xPos = new SinLFO(0, model.xMax, 4000); public TestXPattern(GLucose glucose) { super(glucose); addModulator(xPos).trigger(); @@ -27,7 +27,7 @@ class TestXPattern extends SCPattern { } class TestYPattern extends SCPattern { - private SinLFO yPos = new SinLFO(0, 127, 4000); + private SinLFO yPos = new SinLFO(0, model.yMax, 4000); public TestYPattern(GLucose glucose) { super(glucose); addModulator(yPos).trigger(); @@ -44,7 +44,7 @@ class TestYPattern extends SCPattern { } class TestZPattern extends SCPattern { - private SinLFO zPos = new SinLFO(0, 127, 4000); + private SinLFO zPos = new SinLFO(0, model.zMax, 4000); public TestZPattern(GLucose glucose) { super(glucose); addModulator(zPos).trigger(); diff --git a/code/GLucose.jar b/code/GLucose.jar index 9f90cbd8f3aa1d63fdb6679fb0b35e80c97f852b..6b9970869157de0ebfe012bdf458387745751680 100644 GIT binary patch delta 3295 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 delta 3242 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 f!KR@bZq