private int pitch = 0;
private int channel = 0;
private int velocity = 0;
- public final Projection sinespin;
- public final Projection sinespin2;
-
+ public final LXProjection sinespin;
+ public final LXProjection sinespin2;
+ float modelrad = sqrt((model.xMax)*(model.xMax) + (model.yMax)*(model.yMax) + (model.zMax)*(model.zMax));
+ Pick Sshape;
+
//to-do: how to sync all hues across sphery's via one basicparameter
//public BasicParameter huespread = new BasicParameter("HueSpread", 180, 360);
public BasicParameter rotationx = new BasicParameter("rotx", 0, 0, 1 );
public BasicParameter rotationy = new BasicParameter("roty", 1, 0, 1);
public BasicParameter rotationz = new BasicParameter("rotz", 0, 0, 1);
- float modelrad = sqrt((model.xMax)*(model.xMax) + (model.yMax)*(model.yMax) + (model.zMax)*(model.zMax));
- Pick Sshape;
public final PVector P = new PVector();
class Sphery {
SineSphere(GLucose glucose)
{
super(glucose);
- sinespin = new Projection(model);
- sinespin2 = new Projection(model);
+ sinespin = new LXProjection(model);
+ sinespin2 = new LXProjection(model);
addParameter(huespread);
addParameter(rotationx);
addParameter(rotationy);
public void run( double deltaMs) {
double t = lx.tempo.ramp();
double bpm = lx.tempo.bpm();
- spherys[0].run(deltaMs);
- spherys[1].run(deltaMs);
- spherys[2].run(deltaMs);
- spherys[3].run(deltaMs);
-
-
+ //spherys[0].run(deltaMs);
+ //spherys[1].run(deltaMs);
+ //spherys[2].run(deltaMs);
+ //spherys[3].run(deltaMs);]
+ sinespin.reset()
+ .center()
+ // .scale(1.3,1.3,1.3)
+ // Rotate around the origin (now the center of the car) about an y-vector
+ .rotate(yrot.getValuef(), rotationx.getValuef(), rotationy.getValuef() , rotationz.getValuef())
+ .translate(model.cx, model.cy, model.cz);
switch (pitch)
{
case 53: t = .5*t; bpm = .5*bpm; break;
case 55: t = 2*t; bpm = 2*bpm; break;
default: t= t; bpm = bpm;
-
+ }
- }
+
for ( Sphery s: spherys){
s.setVibrationPeriod(480000/bpm);
s.vibration.setBasis(t);
}
- sinespin.reset(model)
+ sinespin.reset()
// Translate so the center of the car is the origin, offset
- .translateCenter(model, 0, 0, 0)
+ .center()
// .scale(1.3,1.3,1.3)
// Rotate around the origin (now the center of the car) about an y-vector
.rotate(yrot.getValuef(), rotationx.getValuef(), rotationy.getValuef() , rotationz.getValuef())
- for (Coord p: sinespin)
+ for (LXVector p: sinespin)
// for (Point p: model.points)
{
P.set(p.x, p.y, p.z);
}
- sinespin2.reset(model).
- translateCenter(model,0,0,0).
- rotate(yrot2.getValuef(), 0, 1, 0).
- translate(model.cx,model.cy,model.cz);
+ sinespin2.reset()
+ .center()
+ .rotate(yrot.getValuef(), rotationx.getValuef(), rotationy.getValuef() , rotationz.getValuef())
+ .translate(model.cx,model.cy,model.cz);
- for (Coord p: sinespin2)
+ for (LXVector p: sinespin2)
{ color c = 0;
// PVector P = new PVector(p.x, p.y, p.z);
P.set(p.x, p.y, p.z);
}
-
-
}
color blendIfColor(color c1, color c2, int mode) {
// if (i%3 == 0){
-// for (Point p : c.points ){
+// for (LXPoint p : c.points ){
// // colors[p.index]=color(0,0,0);
// //float dif = (p.y - c.y);
// //colors[p.index] = color( bg.getValuef() , 80 , dif < curl.getValuef() ? 80 : 0, ADD);
// else if (i%3 == 1) {
-// for (Point p: c.points){
+// for (LXPoint p: c.points){
// colors[p.index]=color(0,0,0);
// float dif = (p.y - c.y);
// // colors[p.index] =
// }
// else if (i%3 == 2){
// centerlist[i].sub(cubeorigin(i);
- for (Point p: c.points) {
+ for (LXPoint p: c.points) {
PVector pv = new PVector(p.x, p.y, p.z);
colors[p.index] =color( constrain(4* pv.dist(centerlist.get(i)), 0, 360) , 50, 100 );
// colors[p.index] =color(constrain(centerlist[i].x, 0, 360), constrain(centerlist[i].y, 0, 100), );
}
void run(double deltaMs){
- for (Point p : model.points) {
+ for (LXPoint p : model.points) {
color c = 0;
c = blendColor(c, lx.hsb(360*HueT.getValuef(), 100*SatT.getValuef(), 100*BriT.getValuef()), ADD);
colors[p.index]= c;