Project3: Glass Slump Sim by Zack J-W

by zack @ 2:51 am 28 February 2012

 

 

 

I became interested in glass slumping when some friends became interested in architectural cast and slumped glass.

architectural slumped galss

Slumping is the process of heating glass and letting gravity pull it into a mold.  Friends are working on a mold with a reconfigurable floor which moves via servos.  Imagine a tile floor where each tile could raise to it’s own height.

One drawback to the process is that certain configurations push the glass beyond it’s physical limit.  Another is that to test a new configuration in the real world is expensive in electricity, glass, and time.  So a computer simulation is advantageous.  Software does exist to do this but it can prohibitively expensive.  I wanted to try building a cheap program that begins to simulate the effects of slumping glass.

Workflow:

my workflow

In the end, a real simulation software would be much more sophisticated but I think this proves the power of an extensible open source program to begin competing with the proprietary stuff that costs 10’s of thousands of dollars.

Pros:

  • The sim allows you to control time.  That’s something you can’t get in a 15000 degree kiln.
  • The sim is interactive.  While it is possible to manipulate glass in mid-process, it would be much easier in sim.
  • Some details, like the stretching of the material are working well.
  • It’s fun, and fast compared to the real world version which is largely trial and error and a lot of the time, a failure

Cons:

  • I didn’t make the jump to 3d.  I will have to.
  • As of now, it isn’t modeled on the mathematics of glass as a phase change material, but, oh well.

Demo:
[youtube http://www.youtube.com/watch?v=grTGPsiGhtw]

 

Code:

/*Simulation project for Golan Levin's I.A.C.D 2012
copywrite 2012 Zack Jacobson-Weaver...Uses ToxicLibs
extensively!  Toxiclibs.org
 
 Reset the whole show
 Increase the "heat" of the environment: excess of 
    15,000 deg F threatens catastrophic failure!
*/
 
import toxi.physics2d.constraints.*;
import toxi.physics2d.behaviors.*;
import toxi.physics2d.*;
 
import toxi.geom.*;
 
List  springs;
 
VisibleRectConstraint [] rects = new VisibleRectConstraint[20] ;
 
PFont font;
 
// number of particles for string
float STRING_RES = 80;
// number particles for ball
int BALL_RES=24;
// ball size
int BALL_RADIUS=60;
 
// squared snap distance for mouse selection
float SNAP_DIST = 20 * 20;
 
VerletPhysics2D physics;
VerletParticle2D selectedParticle;
 
float stn,rl;
int temp;
 
void setup() {
  size(680,480);
  springs = new ArrayList ();
  temp = 0;
  initPhysics();
 
}
 
void draw() {
  // 1st update
  physics.update();
  // then drawing
  background(255);
  // draw all springs
  for (int i=0; i 0) {
      VerletParticle2D q=physics.particles.get(i-1);
      VerletSpring2D s=new VerletSpring2D(p,q,delta*0.8,0.8);
      physics.addSpring(s);
      springs.add(s);
 
    }
  }
  // lock 1st & last particles
  physics.particles.get(0).lock();
  physics.particles.get(physics.particles.size()-1).lock();
 
for (int i =0; i < rects.length; i++){
  Rect R = new Rect(i*width/rects.length,random(height/4, height), width/rects.length,width/rects.length/2);
  VisibleRectConstraint r = new VisibleRectConstraint(R);
  VerletPhysics2D.addConstraintToAll(r,physics.particles);
  rects[i] = r;
  }
}
class VisibleRectConstraint extends RectConstraint {
 
  public VisibleRectConstraint(Rect r) {
    super(r);
  }
 
  public void draw() {
 
    stroke(184);
    strokeWeight(2);
    noFill();
    rect(rect.x, rect.y, rect.width, rect.height);
  }
}

1 Comment

  1. ————————–

    I didn’t know a layer of glass could explode

    the elevation would be nice in 3d, but other parts are pretty clear in 2d

    Good that you clearly noted this is not based on actual math. But I think you should note your background as a shop manager and fabricator. Your personal experience with glass modeling and forming is something that should not go overlooked.
    +agreed

    Lots of learning going on here! Congrats! It would be worth talking to some chemistry/glass/physics experts to better model the real behavior of glass. For example, at some point the glass thread breaks because it gets too thin.

    What if the background chnged color based on the temperature? or if there was at least some visual feedback other then a text temperature

    In your blog post it would be helpful to see some actual photos or video of glass slumping. For context.

    Nice project. Really fun to watch, really cool to learn about a new physical process.

    ————————-

    I’m curious to see how your simulation matches up with the real world results, meaning if your simulation are very close or not even close at all to the end result. I guess that time will tell!

    Would have loved to see this in 3D<

    Comment by dan — 28 February 2012 @ 7:58 pm

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.
(c) 2024 Interactive Art and Computational Design, Spring 2012 | powered by WordPress with Barecity