From 4f65339daf2a2129119e721aadd998a8868d3e49 Mon Sep 17 00:00:00 2001 From: Philip Rosedale Date: Mon, 3 Dec 2012 16:06:18 -0800 Subject: [PATCH] Made particles colored simply by their velocity --- .DS_Store | Bin 6148 -> 6148 bytes cloud.cpp | 4 + field.cpp | 85 ++++++++++++++---- field.h | 3 + hardware/head_hand/head_hand.pde | 2 +- .../UserInterfaceState.xcuserstate | Bin 104561 -> 104649 bytes .../xcdebugger/Breakpoints.xcbkptlist | 6 +- main.cpp | 2 +- 8 files changed, 78 insertions(+), 24 deletions(-) diff --git a/.DS_Store b/.DS_Store index 8a70b493dd03a6d3d3fde862d0b4df0112a17ed6..42a5f685815aa20bee6f01dd526b6a8fb260283c 100644 GIT binary patch delta 35 rcmZoMXffE(%F4{Fb#<~Is}^5wzKcsrX-P5z!NXrbrAvp)a?wA delta 35 rcmZoMXffE(%F4{N@a|+kRxQ5Vd>5CL(voBbhBF6xb2cAfbrAvp-){`7 diff --git a/cloud.cpp b/cloud.cpp index 155540bc01..3a73134441 100644 --- a/cloud.cpp +++ b/cloud.cpp @@ -89,6 +89,10 @@ void Cloud::simulate (float deltaTime) { const float FIELD_COUPLE = 0.005; //0.0000001; field_interact(deltaTime, &particles[i].position, &particles[i].velocity, &particles[i].color, FIELD_COUPLE); + // Update color to velocity + particles[i].color = glm::normalize(particles[i].velocity); + + // Bounce or Wrap if (wrapBounds) { // wrap around bounds diff --git a/field.cpp b/field.cpp index f450c38525..aa3b496fb7 100644 --- a/field.cpp +++ b/field.cpp @@ -12,6 +12,8 @@ #define COLOR_DRIFT_RATE 0.001f // per-frame drift of particle color towards field element color #define COLOR_MIN 0.3f // minimum R/G/B value at 0,0,0 - also needs setting in cloud.cpp +#define USE_SCALAR 0 + // A vector-valued field over an array of elements arranged as a 3D lattice int field_value(float *value, float *pos) @@ -35,11 +37,21 @@ void field_init() // Initializes the field to some random values { int i; + float fx, fy, fz; for (i = 0; i < FIELD_ELEMENTS; i++) { field[i].val.x = (randFloat() - 0.5)*FIELD_SCALE; field[i].val.y = (randFloat() - 0.5)*FIELD_SCALE; field[i].val.z = (randFloat() - 0.5)*FIELD_SCALE; + field[i].scalar = 0; + // Record center point for this field cell + fx = (int)(i % 10); + fy = (int)(i%100 / 10); + fz = (int)(i / 100); + field[i].center.x = fx + 0.5; + field[i].center.y = fy + 0.5; + field[i].center.z = fz + 0.5; + // and set up the RGB values for each field element. float color_mult = 1 - COLOR_MIN; fieldcolors[i].rgb = glm::vec3(((i%10)*(color_mult/10.0f)) + COLOR_MIN, @@ -68,15 +80,27 @@ void field_interact(float dt, glm::vec3 * pos, glm::vec3 * vel, glm::vec3 * colo (int)(pos->y/WORLD_SIZE*10.0)*10 + (int)(pos->z/WORLD_SIZE*10.0)*100; if ((index >= 0) && (index < FIELD_ELEMENTS)) { - // Add velocity to particle from field - *vel += field[index].val*dt; - // Add back to field from particle velocity - glm::vec3 temp = *vel*dt; + // + // Vector Coupling with particle velocity + // + *vel += field[index].val*dt; // Particle influenced by field + + glm::vec3 temp = *vel*dt; // Field influenced by particle temp *= coupling; field[index].val += temp; + // + // Scalar coupling: Damp particle as function of local density + // + + if (USE_SCALAR) { + //*vel *= (1.f + field[index].scalar*0.01*dt); + const float SCALAR_PARTICLE_ADD = 1.0; + field[index].scalar += SCALAR_PARTICLE_ADD*dt; + } + // add a fraction of the field color to the particle color - *color = (*color * (1 - COLOR_DRIFT_RATE)) + (fieldcolors[index].rgb * COLOR_DRIFT_RATE); + //*color = (*color * (1 - COLOR_DRIFT_RATE)) + (fieldcolors[index].rgb * COLOR_DRIFT_RATE); } } @@ -106,9 +130,10 @@ void field_avg_neighbors(int index, glm::vec3 * result) { } void field_simulate(float dt) { - glm::vec3 neighbors, add; - float size; - for (int i = 0; i < FIELD_ELEMENTS; i++) + glm::vec3 neighbors, add, diff; + float size, distance; + int i, j; + for (i = 0; i < FIELD_ELEMENTS; i++) { if (0) { //(randFloat() > 0.01) { field_avg_neighbors(i, &neighbors); @@ -117,9 +142,6 @@ void field_simulate(float dt) { field[i].val.z*field[i].val.z, 0.5); neighbors *= 0.0001; - // not currently in use - // glm::vec3 test = glm::normalize(glm::vec3(0,0,0)); - field[i].val = glm::normalize(field[i].val); field[i].val *= size * 0.99; add = glm::normalize(neighbors); @@ -128,12 +150,27 @@ void field_simulate(float dt) { } else { const float CONSTANT_DAMPING = 0.5; + const float CONSTANT_SCALAR_DAMPING = 2.5; field[i].val *= (1.f - CONSTANT_DAMPING*dt); - //field[i].val.x += (randFloat() - 0.5)*0.01*FIELD_SCALE; - //field[i].val.y += (randFloat() - 0.5)*0.01*FIELD_SCALE; - //field[i].val.z += (randFloat() - 0.5)*0.01*FIELD_SCALE; + field[i].scalar *= (1.f - CONSTANT_SCALAR_DAMPING*dt); } + if (USE_SCALAR) { + // + // Compute a field value from sum of all other field values (electrostatics, etc) + // + field[i].fld.x = field[i].fld.y = field[i].fld.z = 0; + for (j = 0; j < FIELD_ELEMENTS; j++) + { + if (i != j) { + // Compute vector field from scalar densities + diff = field[j].center - field[i].center; + distance = glm::length(diff); + diff = glm::normalize(diff); + field[i].fld += diff*field[j].scalar*(1/distance); + } + } + } } } @@ -145,19 +182,29 @@ void field_render() float scale_view = 0.1; glDisable(GL_LIGHTING); - glColor3f(0, 1, 0); glBegin(GL_LINES); for (i = 0; i < FIELD_ELEMENTS; i++) { - fx = (int)(i % 10); - fy = (int)(i%100 / 10); - fz = (int)(i / 100); + fx = field[i].center.x; + fy = field[i].center.y; + fz = field[i].center.z; + glColor3f(0, 1, 0); glVertex3f(fx, fy, fz); glVertex3f(fx + field[i].val.x*scale_view, fy + field[i].val.y*scale_view, fz + field[i].val.z*scale_view); - + if (USE_SCALAR) { + glColor3f(1, 0, 0); + glVertex3f(fx, fy, fz); + glVertex3f(fx, fy+field[i].scalar*0.01, fz); + glColor3f(1, 1, 0); + glVertex3f(fx, fy, fz); + glVertex3f(fx + field[i].fld.x*0.0001, + fy + field[i].fld.y*0.0001, + fz + field[i].fld.z*0.0001); + } + } glEnd(); diff --git a/field.h b/field.h index 354a4a8149..6fbdf262db 100644 --- a/field.h +++ b/field.h @@ -24,6 +24,9 @@ const int FIELD_ELEMENTS = 1000; struct { glm::vec3 val; + glm::vec3 center; + glm::vec3 fld; + float scalar; } field[FIELD_ELEMENTS]; // Pre-calculated RGB values for each field element diff --git a/hardware/head_hand/head_hand.pde b/hardware/head_hand/head_hand.pde index 16be76ed04..8618674cc3 100644 --- a/hardware/head_hand/head_hand.pde +++ b/hardware/head_hand/head_hand.pde @@ -9,7 +9,7 @@ Read a set of analog input lines and echo their readings over the serial port wi #define NUM_CHANNELS 6 -#define MSECS_PER_SAMPLE 10 +#define MSECS_PER_SAMPLE 15 #define LED_PIN 12 diff --git a/interface.xcodeproj/project.xcworkspace/xcuserdata/philip.xcuserdatad/UserInterfaceState.xcuserstate b/interface.xcodeproj/project.xcworkspace/xcuserdata/philip.xcuserdatad/UserInterfaceState.xcuserstate index 5069cead6418bad2f51d22121b689a2636dda6fb..752de4bf0043e4b1c6967cc4d4c515c7947f5a6f 100644 GIT binary patch delta 40972 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 MfABy2|5*L`KlrY&WB>pF delta 41161 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 Ky#EtUAN&81NU;_G diff --git a/interface.xcodeproj/xcuserdata/philip.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist b/interface.xcodeproj/xcuserdata/philip.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist index f5c01eb1d0..6b093433a5 100644 --- a/interface.xcodeproj/xcuserdata/philip.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist +++ b/interface.xcodeproj/xcuserdata/philip.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist @@ -8,11 +8,11 @@ ignoreCount = "0" continueAfterRunningActions = "No" filePath = "field.cpp" - timestampString = "374955033.430214" + timestampString = "375986878.0086" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "98" - endingLineNumber = "98" + startingLineNumber = "122" + endingLineNumber = "122" landmarkName = "field_avg_neighbors(int index, glm::vec3 * result)" landmarkType = "7"> diff --git a/main.cpp b/main.cpp index f366efad3a..68b9244f27 100644 --- a/main.cpp +++ b/main.cpp @@ -93,7 +93,7 @@ ParticleSystem balls(0, Cloud cloud(100000, // Particles box, // Bounding Box - false // Wrap + false // Wrap ); float cubes_position[MAX_CUBES*3];