Merge branch 'alexdesktopworking' of https://github.com/sugarcubes/SugarCubes into...
[SugarCubes.git] / AlexGreen.pde
old mode 100644 (file)
new mode 100755 (executable)
index 9e53975..af81302
@@ -1,8 +1,6 @@
-class SineSphere extends SCPattern {
+class SineSphere extends DPat {
   float modelrad = sqrt((model.xMax)*(model.xMax) + (model.yMax)*(model.yMax) + (model.zMax)*(model.zMax));
-  private final SinLFO rs = new SinLFO(0, 180, 5000);
-  private final SinLFO noisey = new SinLFO(modelrad/8.0, modelrad/4.0, 2300);
-  private final SinLFO band = new SinLFO (0, 10, 2000);
+  
   PVector modelcenter = new PVector(model.xMax, model.yMax, model.zMax);
   BasicParameter widthparameter = new BasicParameter("Width", 10);
   
@@ -22,7 +20,7 @@ class SineSphere extends SCPattern {
    this.vibration_max = vibration_max;
    this.vperiod = vperiod;
    addModulator( vibration = new SinLFO(vibration_min , vibration_max, vperiod)).trigger(); vibration.modulateDurationBy(vx);
-   addModulator( vx = new SinLFO(-1000, 1000, 10000)).trigger();
+   addModulator( vx = new SinLFO(-4000, 10000, 100000)).trigger();
  }
     float distfromcirclecenter(float px, float py, float pz, float f1x, float f1y, float f1z) {
    return dist(px, py, pz, f1x, f1y, f1z);
@@ -44,42 +42,37 @@ final int NUM_SPHERES = 5;
 final Sphery[] spherys;
   SineSphere(GLucose glucose) {
     super(glucose);
-    addModulator(rs).trigger();
-    //addModulator(band).trigger();
-    addModulator(noisey).trigger();
+   
     spherys = new Sphery[NUM_SPHERES];
     spherys[1] = new Sphery(model.xMax/4, model.yMax/2, model.zMax/2, modelrad/16, modelrad/8, 2500) ;    
     spherys[2] = new Sphery(.75*model.xMax, model.yMax/2, model.zMax/2, modelrad/20, modelrad/10, 2000);
+    spherys[3] = new Sphery(model.xMax/2, model.yMax/2, model.zMax/2, modelrad/4, modelrad/8, 5000);
   }
 
-    public void run(int deltaMs) {
-    float rsv = rs.getValuef();
-    float noiseyv = noisey.getValuef();
-    float bandv = band.getValuef();
-     
-      spherys[1].run(deltaMs);
-      spherys[2].run(deltaMs);
-     
-       for (Point p: model.points) {
-       
+
+       float rsv, noiseyv, bandv;
+
+    public void StartRun(int deltaMs) {
+               
+               spherys[1].run(deltaMs);
+               spherys[2].run(deltaMs);
+    spherys[3].run(deltaMs);
+       }
+
+       
+       color CalcPoint(xyz Px) {
+
       color c = 0; 
       
-      c = blendColor(c, spherys[2].spheryvalue(p.fx, p.fy, p.fz, .75*model.xMax, model.yMax/2, model.zMax/2), ADD);
-      c = blendColor(c, spherys[1].spheryvalue(p.fx, p.fy, p.fz, model.xMax/4, model.yMax/4, model.zMax/2), ADD);
-      float distfromcenter = dist(p.fx, p.fy, p.fz, model.xMax/2, model.yMax/2, model.zMax/2);
-      int distint = floor(distfromcenter);
-      
-      c = blendColor(c, color(
+      c = blendColor(c, spherys[2].spheryvalue(Px.x, Px.y, Px.z, .75*model.xMax, model.yMax/2, model.zMax/2), ADD);
+      c = blendColor(c, spherys[1].spheryvalue(Px.x, Px.y, Px.z, model.xMax/4, model.yMax/4, model.zMax/2), ADD);
+      c = blendColor(c, spherys[3].spheryvalue(Px.x, Px.y, Px.z, model.xMax/2, model.yMax/2, model.zMax/2),ADD);
       
-      constrain( p.fx  , 0, 360), 
-      constrain( distfromcenter, 20, 80), 
-      max(0, 100 - 10*abs(distfromcenter - noiseyv ) )
-      ),
-      ADD);
+
+  
       
-      colors[p.index]=c;
+        return c;
     }
 }
-}
+ }
+