<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>evsc</title>
	<atom:link href="http://www.evsc.net/feed" rel="self" type="application/rss+xml" />
	<link>http://www.evsc.net</link>
	<description>seeing the beauty in science</description>
	<lastBuildDate>Sun, 16 Jun 2013 23:03:48 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
		<item>
		<title>Refraction Reflection Refraction</title>
		<link>http://www.evsc.net/home/refraction-reflection-refraction?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=refraction-reflection-refraction</link>
		<comments>http://www.evsc.net/home/refraction-reflection-refraction#comments</comments>
		<pubDate>Sun, 16 Jun 2013 22:52:40 +0000</pubDate>
		<dc:creator>evsc</dc:creator>
				<category><![CDATA[Home]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[dispersion]]></category>
		<category><![CDATA[Olafur Eliasson]]></category>
		<category><![CDATA[physics]]></category>
		<category><![CDATA[processingjs]]></category>
		<category><![CDATA[rainbow]]></category>
		<category><![CDATA[ray]]></category>
		<category><![CDATA[water]]></category>
		<category><![CDATA[wavelength]]></category>

		<guid isPermaLink="false">http://www.evsc.net/?p=2244</guid>
		<description><![CDATA[A rainbow is an optical and meteorological phenomenon that is caused by reflection of light in water droplets. Thus, a rainbow is not an object, and cannot be physically approached. <a href="http://www.evsc.net/home/refraction-reflection-refraction"><span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class='inside-post1'><img src="http://www.evsc.net/v8/wp/wp-content/uploads/2013/06/rainbow_refraction.png" alt="" title="rainbow_refraction" width="300" height="300" class="alignleft size-full wp-image-2287" /><br />
<big>A rainbow is an optical and meteorological phenomenon that is caused by reflection of light in water droplets. Thus, a rainbow is not an object, and cannot be physically approached.</big></div>
<div class="inside-post2"  style='height:600px;'>
<p><script type="application/processing">
//Info: http://processingjs.org/reference



Vector3D drop = new Vector3D(480, 350, 0);
float drop_radius = 100;
V3D v3d = new V3D();
Vector3D sun = new Vector3D(10.0, 0, 0);  // direction vector

ArrayList rays;

int rayMax = 20;
int displayRays = 1;

int colorSplit = 7;
float strWeight = 0.5;
float ampDispersion = 1.04;


void setup() {
  
  size(630,450);
  ellipseMode(RADIUS);
  colorMode(HSB, 1);
//  blendMode(MULTIPLY);
  
  rays = new ArrayList();
  
  for( int i=0; i<rayMax; i++) {
//    Ray r = new Ray( new Vector3D(0,200,0) ,sun, i*0.75);
    Ray r = new Ray( new Vector3D(0,80+i*7,0) ,sun, 0);
    rays.add(r);
  }
  
  
  smooth();
//  noLoop();
}


void draw() {
  
//  drop.x = mouseX;
  drop.y = mouseY;
  displayRays = (mouseX-width/2) / 20;
  if(displayRays < 1) displayRays = 1;
  if(displayRays >= rayMax) displayRays = rayMax;
//  drop.z = mouseX - width/2;
//  drop_radius = mouseX;
  
  background(0,0,1);
  
  // draw drop
  stroke(0);
//  fill(0,0,1);
  noFill();
  pushMatrix();
  translate(drop.x, drop.y);
  ellipse(0,0,drop_radius, drop_radius);
  popMatrix();
  
  // draw rays
  strokeWeight(strWeight);
  strokeCap(ROUND);
  strokeJoin(ROUND);
  noFill();
  
  for(int i=0; i<displayRays; i++) {
    Ray r = (Ray) rays.get(i);
    r.calc();
    r.draw();
  }
  
}


class Ray {
  
  Vector3D pos;
  Vector3D dir;
  ArrayList[] segments;
  int num = colorSplit;
  
  float[] colorIndex;
  float[] wavelength;
  // 656nm = red       refraction = 1.331
  // 610nm = orange    refraction = 1.332
  // 580nm = yellow    refraction = 1.333
  // 550nm = green     refraction = 1.335
  // 470nm = blue      refraction = 1.338
  // 434nm = indigo     refraction = 1.3404
  // 396nm = violet    refraction = 1.3435
  float[] refractionIndex;
 
  // init Ray with start position, and direction
  Ray(Vector3D p, Vector3D d, float cindex) {
    pos = v3d.copy(p);
    dir = v3d.copy(d);
    
    
    colorIndex = new float[num];
    wavelength = new float[num];
    refractionIndex = new float[num];
    
    for(int r=0; r<num; r++) {
      colorIndex[r] = map(r, 0, num-1, 0, 0.73);
      wavelength[r] = map(colorIndex[r], 0, 0.73, 656, 396);
      refractionIndex[r] = map(wavelength[r], 656, 396, 1.331, 1.3435 * ampDispersion);
    }
    
    
//    println("color: "+colorIndex+"\t\twavelength: "+wavelength+"\trefractionIndex: "+refractionIndex);
  } 
  
  void draw() {
    
    noFill();
    stroke(0);
    beginShape();
    vertex(pos.x,pos.y);
    Vector3D entry = (Vector3D) segments[0].get(0);
    vertex(entry.x, entry.y);
    endShape();
    
    for(int r=0; r<num; r++) {
      
      stroke(colorIndex[r],1,1);
    
      pushMatrix();
      beginShape();
      for(int i=0; i<segments[r].size(); i++) {
        Vector3D p = (Vector3D) segments[r].get(i);
        vertex( p.x, p.y );
      }
      endShape();
      popMatrix();
    
    }
  }
  
  void calc() {
    segments = new ArrayList[num];
    
    for(int r=0; r<num; r++) {
      segments[r] = new ArrayList();
//      segments[r].add(pos);
      
      // hypothetical position 2, elongated towards screen end
      float m = 500;
      Vector3D endP = new Vector3D( pos.x+dir.x*m, pos.y+dir.y*m, pos.z+dir.z*m );
      
      // find intersection
      float[] intersect = sphere_line_iSect(endP.x,endP.y,endP.z, pos.x,pos.y,pos.z, drop.x, drop.y, drop.z, drop_radius);
  //    println("intersections: "+intersect[0]);
  //    println("pos 1: "+intersect[1] + " / "+intersect[2]+" / "+intersect[3]);
      
      Vector3D entryPoint = new Vector3D();
      if(intersect[0] > 0) {
        entryPoint.x = intersect[1];
        entryPoint.y = intersect[2];
        entryPoint.z = intersect[3];
        segments[r].add(entryPoint);
      } else {
        segments[r].add(endP);
      }
      
      
      if(intersect[0] > 0) {
        
        // find refraction angle
        
        // vector from entry point to sphere center
        Vector3D p1slice = v3d.sub(drop, entryPoint);
        float alpha = v3d.angleBetween(p1slice, dir);      // outside angle
        float beta = asin(sin(alpha)/refractionIndex[r]);          // dispersed inside angle
        
        // interpolate between dir and p1slice, based on refraction angle
        Vector3D insideVec1 = v3d.add( v3d.setMagnitude(dir,beta), v3d.setMagnitude(p1slice,alpha-beta));
        
        Vector3D endP1 = v3d.add(entryPoint, v3d.setMagnitude(insideVec1,drop_radius*2));
        
        float[] intersect2 = sphere_line_iSect(entryPoint.x,entryPoint.y,entryPoint.z, endP1.x,endP1.y,endP1.z, drop.x, drop.y, drop.z, drop_radius);
  
        Vector3D reflectionPoint = new Vector3D();
        if(intersect2[0] > 0) {
          reflectionPoint.x = intersect2[1];
          reflectionPoint.y = intersect2[2];
          reflectionPoint.z = intersect2[3];
          segments[r].add(reflectionPoint);
        } else {
          segments[r].add(endP1);
        }
        
        // reflection off backside of sphere
        Vector3D insideRay1 = v3d.sub(entryPoint, reflectionPoint);
        Vector3D p2splice = v3d.sub(drop, reflectionPoint);
        // difference between insideRay1, and p2splice
        Vector3D diff = v3d.sub(v3d.normalize(insideRay1),v3d.normalize(p2splice));
        Vector3D insideVec2 = v3d.sub(v3d.normalize(p2splice), diff);
        
        Vector3D endP2 = v3d.add(reflectionPoint, v3d.setMagnitude(insideVec2,drop_radius*2));
        
        float[] intersect3 = sphere_line_iSect(reflectionPoint.x,reflectionPoint.y,reflectionPoint.z, endP2.x,endP2.y,endP2.z, drop.x, drop.y, drop.z, drop_radius);
  
        Vector3D exitPoint = new Vector3D();
        if(intersect3[0] > 0) {
          exitPoint.x = intersect3[1];
          exitPoint.y = intersect3[2];
          exitPoint.z = intersect3[3];
          segments[r].add(exitPoint);
        } else {
          segments[r].add(endP2);
        }
        
        Vector3D insideRay2 = v3d.sub(exitPoint, reflectionPoint);
        // return interpolation
        Vector3D outsideVec1 = v3d.add( v3d.setMagnitude(insideRay2,alpha-beta), v3d.setMagnitude(p2splice,beta));
        Vector3D endP3 = v3d.add(exitPoint, v3d.setMagnitude(outsideVec1, width));
        segments[r].add(endP3);
      }
    
    }
    
  }
}



// by Toxi
// from http://www.processing.org/discourse/alpha/board_Syntax_action_display_num_1064863102.html
// 
// computes 2d/3d circle/sphere - line intersection points 
// based on code by peter bourke (http://astronomy.swin.edu.au/~pbourke/geometry/sphereline/ ) 
// returns array of floats, where first item specifies number of intersection points found {0, 1 or 2} 
// set Z coordinates to 0 for 2D intersection checks 
// line defined by points {x1;y1;z1} -> {x2;y2;z2} 
// circle/sphere defined by center point at {x3;y3;z3} and radius r 
 
float[] sphere_line_iSect(float x1, float y1, float z1,float x2, float y2, float z2,float x3, float y3, float z3, float r) { 
  float[] points=new float[7]; 
  float a =  sq(x2 - x1) + sq(y2 - y1) + sq(z2 - z1); 
  float b =  2* ( (x2 - x1)*(x1 - x3) + (y2 - y1)*(y1 - y3) + (z2 - z1)*(z1 - z3) ) ; 
  float c =  x3*x3 + y3*y3 + z3*z3 + x1*x1 + y1*y1 + z1*z1 - 2* ( x3*x1 + y3*y1 + z3*z1 ) - r*r ; 
  float i = b * b - 4 * a * c; 
 
  if ( i < 0.0 ) { 
    // no intersection 
    points[0] = 0; 
    return(points); 
     
  } else if ( i == 0.0 ) { 
    // one intersection 
    points[0] = 1; 
    float mu = -b/(2*a) ; 
    points[1] = x1 + mu*(x2-x1); 
    points[2] = y1 + mu*(y2-y1); 
    points[3] = z1 + mu*(z2-z1); 
    return(points); 
     
  } else { 
    // two intersections 
    points[0] = 2; 
    // first intersection 
    float mu = (-b + sqrt( b*b - 4*a*c )) / (2*a); 
    points[1] = x1 + mu*(x2-x1); 
    points[2] = y1 + mu*(y2-y1); 
    points[3] = z1 + mu*(z2-z1); 
    // second intersection 
    mu = (-b - sqrt(b*b - 4*a*c )) / (2*a); 
    points[4] = x1 + mu*(x2-x1); 
    points[5] = y1 + mu*(y2-y1); 
    points[6] = z1 + mu*(z2-z1); 
    return(points); 
  } 
}

// this class exists, as static methods only work if the tab is named with ".class" ending
// .class ending doesn't work for processing.js
class V3D {
  
  V3D() {
    
  }
  
  public Vector3D copy(Vector3D v) {
      return new Vector3D(v.x, v.y,v.z);
  }
  
  public Vector3D normalize(Vector3D v1) {
    Vector3D v = new Vector3D(v1.x,v1.y, v1.z);
    float m = v.magnitude();
    if (m > 0) {
       v.div(m);
    }
    return v;
  }
  
  public Vector3D setMagnitude(Vector3D v1, float m) {
    Vector3D v = new Vector3D(v1.x,v1.y, v1.z);
    v.normalize();
    v.mult(m);
    return v;
  }
  
  public Vector3D add(Vector3D v1, Vector3D v2) {
      Vector3D v = new Vector3D(v1.x + v2.x,v1.y + v2.y, v1.z + v2.z);
      return v;
  }

  public Vector3D sub(Vector3D v1, Vector3D v2) {
      Vector3D v = new Vector3D(v1.x - v2.x,v1.y - v2.y,v1.z - v2.z);
      return v;
  }
  

  public Vector3D div(Vector3D v1, float n) {
      Vector3D v = new Vector3D(v1.x/n,v1.y/n,v1.z/n);
      return v;
  }

  public Vector3D mult(Vector3D v1, float n) {
      Vector3D v = new Vector3D(v1.x*n,v1.y*n,v1.z*n);
      return v;
  }

  public float distance (Vector3D v1, Vector3D v2) {
      float dx = v1.x - v2.x;
      float dy = v1.y - v2.y;
      float dz = v1.z - v2.z;
      return (float) Math.sqrt(dx*dx + dy*dy + dz*dz);
  }

  public float angleBetween(Vector3D v1, Vector3D v2) {
      float dot = v1.dot(v2);
      float theta = (float) Math.acos(dot / (v1.magnitude() * v2.magnitude()));
      return theta;
  }
  
}

public class Vector3D {
    public float x;
    public float y;
    public float z;

    public Vector3D(float x_, float y_, float z_) {
        x = x_; y = y_; z = z_;
    }

    public Vector3D(float x_, float y_) {
        x = x_; y = y_; z = 0f;
    }
    
    public Vector3D() {
        x = 0f; y = 0f; z = 0f;
    }

    public void setX(float x_) {
        x = x_;
    }

    public void setY(float y_) {
        y = y_;
    }

    public void setZ(float z_) {
        z = z_;
    }

    public void setXYZ(float x_, float y_, float z_) {
        x = x_;
        y = y_;
        z = z_;
    }

    public void setXYZ(Vector3D v) {
        x = v.x;
        y = v.y;
        z = v.z;
    }
    
    public void clear() {
      x = 0;
      y = 0;
      z = 0;
    }

    public float magnitude() {
        return (float) Math.sqrt(x*x + y*y + z*z);
    }

    public Vector3D copy() {
        return new Vector3D(x,y,z);
    }

    

    public void add(Vector3D v) {
        x += v.x;
        y += v.y;
        z += v.z;
    }

    public void sub(Vector3D v) {
        x -= v.x;
        y -= v.y;
        z -= v.z;
    }

    public void mult(float n) {
        x *= n;
        y *= n;
        z *= n;
    }

    public void div(float n) {
        x /= n;
        y /= n;
        z /= n;
    }

    public float dot(Vector3D v) {
        float dot = x*v.x + y*v.y + z*v.z;
        return dot;
    }

    public Vector3D cross(Vector3D v) {
        float crossX = y * v.z - v.y * z;
        float crossY = z * v.x - v.z * x;
        float crossZ = x * v.y - v.x * y;
        return(new Vector3D(crossX,crossY,crossZ));
    }

    public void normalize() {
        float m = magnitude();
        if (m > 0) {
            div(m);
        }
    }
    
    

    public void limit(float max) {
        if (magnitude() > max) {
            normalize();
            mult(max);
        }
    }
    public void setMagnitude(float m) {
      normalize();
      mult(m);
    }
    
    
      
    public void checkmin(float minimum) {
      if (magnitude() == 0) {
        setXYZ(1,1,0);
      } else if(magnitude() < minimum) {
        normalize();
        mult(minimum);
      }
    }
    
    public float heading2D() {
        float angle = (float) Math.atan2(-y, x);
        return -1*angle;
    }
    
    
    public void rotate2D(float a) {
      float an = heading2D() + a;
      float m = magnitude();
      x = m * cos(an);
      y = m * sin(an);
      z = 0;
    }
    
    float cos(float a) {
      return (float) Math.cos(a);
    }
    float sin(float a) {
      return (float) Math.sin(a);
    }

    
    
}

</script></p>
<p><small><b>Water drop refraction</b> (Built with <a href="http://processing.org" title="Processing">Processing</a> and <a href="http://processingjs.org" title="Processing.js">Processing.js</a>)<br />
Sun rays as they are refracted and reflected within the water drop. MouseY changes the drop Y position. MouseX (towards the right edge) adds more rays. The difference in the color refraction angles is amplified, for better visibility.<br />
</small></div>
<div class='inside-post2'>
<h1>Geometry and Precision</h1>
<p>As all worldly phenomena that fall into the category of sublime beauty, the physics of rainbows is hard to grasp. </p>
<p>The transformation of white light into multiple colors through refraction and reflection inside a water droplet &#8211; yes, that is easy. And it happens constantly, whenever light waves cross over the boundary from one medium to another. Yet sun rays enter the droplet at all possible surface points and as each ray refracts differently, colored rays go off in many different directions (within a 84 degree section). Basically there are colored rays all over, whenever there is sunlight and rain. </p>
<p>The magic of the rainbow happens when some of those colored rays get bundled into the eye of the observer. The geometry requires sun, rain and observer to be in perfect placement to each other. The sun behind and the rain in front of the observer &#8211; then a rainbow can be seen between the angles of 40.89 (blue) to 42 (red) degrees from the direction opposite the Sun. </p>
<p>Somehow the precision of nature &#8211; the precision of water droplets being perfect little spheres, and the precision of colored light&#8217;s different refracting angles &#8211; enables us to experience this optical phenomenon.</p>
<p><big>What buffles me is that there are all these rainbows out there, that exist whenever sunlight hits rain, and that they are hidden in our world unless an observer positions himself at that perfect location and angle. (tbc)</big><br/>
</div>
<div class='inside-post1'>
<img src="http://www.evsc.net/v8/wp/wp-content/uploads/2013/06/hOmqXTc-300x225.jpg" alt="" title="hOmqXTc" width="300" height="225" class="alignright size-thumbnail wp-image-2258" /><br />
<small>Circular rainbows can be experienced from airplanes</small>
</div>
<div class='inside-post1'>
<a href="http://en.wikipedia.org/wiki/Brocken_Spectre"><img src="http://www.evsc.net/v8/wp/wp-content/uploads/2013/06/785px-Solar_glory_and_Spectre_of_the_Brocken_from_GGB_on_07-05-2011-300x229.jpg" alt="" title="785px-Solar_glory_and_Spectre_of_the_Brocken_from_GGB_on_07-05-2011" width="300" height="229" class="alignnone size-thumbnail wp-image-2259" /></a><br />
Brocken Spectre
</div>
<div class='inside-post1' style="background-color:#ddd;">
<h3>References</h3>
<p><a href="http://en.wikipedia.org/wiki/Rainbow">wikipedia.org/wiki/Rainbow</a><br />
Why not start here?</p>
<p><a href="http://www.youtube.com/watch?v=r_hFjFM91C4">The Scientific Explanation of Rainbows</a><br />
Great antiquated video on youtube, explaining the history and physics of the rainbow. Lots of helpful illustrations / animations.</p>
<p><a href="http://eo.ucar.edu/rainbows/">About Rainbows</a><br />
By The National Center for Atmospheric Research</p>
<p><a href="http://www.phy.ntnu.edu.tw/ntnujava/index.php?topic=44">Topic: physics of Rainbow</a><br />
Java applet showing the refraction inside a water droplet</p>
<p><a href="http://www.geom.uiuc.edu/education/calc-init/rainbow/rainbow.cgi#demo">Build a Rainbow</a><br />
another applet</p>
<p><a href="http://zurich.disneyresearch.com/~wjarosz/publications/sadeghi11physically.html">Physically-based Simultion of Rainbows</a><br />
Physically-based model for simulating rainbows, paper presented at ACM 2012</p>
<p><a href="http://www.atoptics.co.uk/fz822.htm">How to make your own rainbow</a><br />
Create your own rainbow effect with a glass-bead display</p>
<p><a href="http://www.wikihow.com/Make-a-Rainbow">How to Make a Rainbow</a><br />
There are 6 ways: water glass method, mirror method, CD method, &#8230;</p>
<p><a href="http://eo.ucar.edu/rainbows/rainbow_ex.html">Rainbow Demonstration</a><br />
More physic class experiments</p>
<p><a href="http://www.askamathematician.com/2011/05/q-if-you-suddenly-replaced-all-water-drops-in-the-sky-with-same-sized-spheres-of-polished-diamond-what-would-happen-to-the-rainbow/">Q: If you suddenly replaced all the water drops in a rainbow with same-sized spheres of polished diamond, what would happen to the rainbow? How do you calculate the size of a rainbow?</a><br />
From the blog &#8220;Ask a Mathematician / Ask a Physicist&#8221;, and because i love thought experiments.</p>
</div>
<div class='inside-post2'>
<a href="http://www.amazon.com/Catching-Light-Entwined-History-Mind/dp/0195095758"><img src="http://www.evsc.net/v8/wp/wp-content/uploads/2013/06/Catching-the-Light.jpg" alt="" title="Catching-the-Light" width="200" height="298" class="alignleft size-full wp-image-2262" /></a><br />
<span style="width:200px;"><strong>Catching the Light &#8211; The Entwined History of Light and Mind</strong> by Arthur Zajonc</p>
<p>A beautiful book i can&#8217;t recommend more. Chapter 7 is called “Door of the Rainbow” and talks about the scientific history of the rainbow in a poetic, philosophical and scientific way.</span></div>
<div class='inside-post1'>
<a href="http://www.olafureliasson.net/works/beauty.html"><img src="http://www.evsc.net/v8/wp/wp-content/uploads/2013/06/Beauty-Olafur-Eliasson-300x271.jpeg" alt="" title="Beauty - Olafur Eliasson" width="300" height="271" class="alignright size-thumbnail wp-image-2253" /></a><br />
<small><strong>Beauty by Olafur Eliasson (1993)</strong><br />
Fine curtain of water droplets, and a suspended spotlight.<br />
</small>
</div>
<div class='inside-post1'>
<a href="http://www.marcquinn.com/work/view/type/mixed%20media/#/4913"><img src="http://www.evsc.net/v8/wp/wp-content/uploads/2013/06/marcquinn-300x301.jpg" alt="" title="marcquinn" width="300" height="301" class="alignright size-thumbnail wp-image-2251" /></a><br />
<small><strong>1+1=3 by Marc Quinn (2002)</strong><br />
White light, water, pump system</small>
</div>
<div class='inside-post1'>
<a href="http://www.brockenspectre.org.uk/"><img src="http://www.evsc.net/v8/wp/wp-content/uploads/2013/06/fy1017monkhouse1-300x229.jpg" alt="" title="fy1017monkhouse1" width="300" height="229" class="alignnone size-thumbnail wp-image-2269" /></a><br />
<small><strong>Brocken Spectre by Charles Monkhouse (2011)</strong><br />
Glass-bead display, as part of exhibition &#8216;Seeing the Light, an investigation into Brocken Spectres and Heiligenschein&#8217;</small>
</div>
<div class='inside-post1'>
<a href="http://www.kickstarter.com/projects/616606019/traveling-rainbows-chris-fraser-at-the-venice-bien"><img src="http://www.evsc.net/v8/wp/wp-content/uploads/2013/06/91915d0d90fd0fc840fcd90810104680_large-300x199.jpeg" alt="" title="91915d0d90fd0fc840fcd90810104680_large" width="300" height="199" class="alignright size-thumbnail wp-image-2255" /></a><br />
<small><strong>Traveling Rainbows by Chris Fraser (2013)</strong><br />
Tiny glass beads and point light source. More optical experiments on his <a href="http://chrisfraserstudio.com/">website</a>.<br />
</small>
</div>
<div class='inside-post1'>
<a href="http://www.olafureliasson.net/works/round_rainbow.html"><img src="http://www.evsc.net/v8/wp/wp-content/uploads/2013/06/olafur_eliasson_3-300x214.jpg" alt="" title="olafur_eliasson_3" width="300" height="214" class="alignright size-thumbnail wp-image-2250" /></a><br />
<small><strong>Round Rainbow by Olafur Eliasson (2005)</strong><br />
Light shining onto what seems to be a prism ring.<br />
</small>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.evsc.net/home/refraction-reflection-refraction/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to &#8211; Jitter Java Objects</title>
		<link>http://www.evsc.net/home/how-to-jitter-java-objects?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=how-to-jitter-java-objects</link>
		<comments>http://www.evsc.net/home/how-to-jitter-java-objects#comments</comments>
		<pubDate>Sat, 08 Jun 2013 21:44:28 +0000</pubDate>
		<dc:creator>evsc</dc:creator>
				<category><![CDATA[Home]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[jitter]]></category>
		<category><![CDATA[maxmsp]]></category>

		<guid isPermaLink="false">http://www.evsc.net/?p=2156</guid>
		<description><![CDATA[A guide showing the steps i followed when creating my first java jitter externals for Max/MSP.  <a href="http://www.evsc.net/home/how-to-jitter-java-objects"><span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class="inside-post1">
<img src="http://www.evsc.net/v8/wp/wp-content/uploads/2013/06/maxext_16-300x221.jpg" alt="" title="maxext_16" width="300" height="221" class="alignright size-thumbnail wp-image-2225" /></p>
</div>
<div class="inside-post2">
<big>Creating Max/MSP/Jitter patches can get messy fast. You can create labyrinths and hierarchical monsters full of objects, subpatches and externals. Sometimes writing it down in code is more elegant.</big></p>
<p>The options to write code for Max/MSP are as follows (efficiency tests results see <a href="http://cycling74.com/forums/topic/java-200-times-faster-almost-as-easy-to-use-so-why-javascript/">forum post</a>):</p>
<ul>
<li><strong>c++</strong> </li>
<li><strong>c</strong></li>
<li><strong>java</strong> &#8230; 1.5 times slower than C</li>
<li><strong>javascript</strong> &#8230; 200 times slower than Java</li>
</ul>
<h2>Step by Step</h2>
<p>Disclaimer: This guide shows the steps i followed when creating my first java jitter externals for Max/MSP. It is far from a comprehensive guide, it might not work for everyone and especially not every operating system, but it worked for me. Note: This is a Windows-7 guide. <br/>
</div>
<div class="inside-post1"><img src="http://www.evsc.net/v8/wp/wp-content/uploads/2013/06/maxext_14.jpg" alt="" title="maxext_14" width="260" height="138" class="alignleft size-full wp-image-2221" /></div>
<div class="inside-post2">
<h1>1. Java Virtual Machine</h1>
<p>Java objects for Max function with the <a href="http://www.cycling74.com/docs/max5/refpages/max-ref/mxj.html">mxj</a> external, which builds the connection between your Max patch and your java code being executed in the Java Virtual Machine (JVM). Be aware that there is a little bottleneck of 1 microsecond for every package that is passed between your [mxj] object and JVM.</p>
<ul>
<li>Find out what Java version is installed on your computer with the <a href="http://javatester.org/version.html">javatester.org</a>, or <a href="http://java.com/en/download/installed.jsp?detect=jre&#038;try=1">Verifying Java Version</a></li>
<li>In the likelihood of needing to install or update Java, go to <a href="http://java.com/en/download/index.jsp">java.com</a></li>
</ul>
</div>
<div class="inside-post1"><img src="http://www.evsc.net/v8/wp/wp-content/uploads/2013/06/maxext_15.jpg" alt="" title="maxext_15" width="255" height="97" class="alignleft size-full wp-image-2222" /></div>
<div class="inside-post2">
<h1>2. Setup Eclipse</h1>
<p>You need an development environment to write and compile your Java code. Eclipse is free, open source, popular and cross platform. </p>
<ul>
<li>Download <strong>Eclipse Classic 4.2.2 (JUNO)</strong> at <a href="http://www.eclipse.org/downloads/">eclipse.org/downloads</a>. As alternative: <strong>Eclipse IDE for Java Developers</strong> should work too.</li>
<li>Install Eclipse, and pick your workspace directory</li>
<li>Setup your workbench: WINDOW > OPEN PERSPECTIVE > JAVA</li>
</ul>
</div>
<div class="inside-post1" style="height:330px">
<a href="http://www.evsc.net/v8/wp/wp-content/uploads/2013/06/maxext_01.jpg"><img src="http://www.evsc.net/v8/wp/wp-content/uploads/2013/06/maxext_01-300x252.jpg" alt="" title="maxext_01" width="300" height="252" class="alignright size-thumbnail wp-image-2229" /></a><br />
<small>Select the approriate Java Runtime Environment (JRE) when creating your java project.</small>
</div>
<div class="inside-post2" style="height:330px">
<h1>3. Create Eclipse Java project</h1>
<ul>
<li>Create a new project by: NEW > JAVA PROJECT, name the project, select the appropriate JRE (most likely <strong>JavaSE-1.7</strong>, but if you want to use your externals on older computers choose <strong>JavaSE-1.6</strong>) and click finish.</li>
</ul>
</div>
<div class="inside-post1" style="height:330px">
<a href="http://www.evsc.net/v8/wp/wp-content/uploads/2013/06/maxext_03.jpg"><img src="http://www.evsc.net/v8/wp/wp-content/uploads/2013/06/maxext_03-300x225.jpg" alt="" title="maxext_03" width="300" height="225" class="alignright size-thumbnail wp-image-2231" /></a><br />
<small>Once you added the jitter.jar and max.jar to your project&#8217;s lib directory, and added both libraries to your build path, your package explorer should look like this.</small>
</div>
<div class="inside-post2" style="height:330px">
<h1>4. Import Libraries</h1>
<ul>
<li>Create a <em>lib</em> folder within your Java project.</li>
<li>Copy <strong>max.jar</strong> and <strong>jitter.jar</strong> from the <em>C:\Program Files (x86)\Cycling &#8217;74\java\lib\</em> directory into the new <em>lib </em>folder. Refresh (F5) inside Eclipse to see the libraries in the Package Explorer. (ALTERNATIVE: add libraries as external jars)</li>
<li>Add both libraries to build path by right-click: BUILD PATH > ADD TO BUILD PATH. They will now be listed under <em>Referenced Libraries</em>.</li>
</ul>
</div>
<div class="inside-post1" style="height:560px">
<a href="http://www.evsc.net/v8/wp/wp-content/uploads/2013/06/maxext_05.jpg"><img src="http://www.evsc.net/v8/wp/wp-content/uploads/2013/06/maxext_05-300x156.jpg" alt="" title="maxext_05" width="300" height="156" class="alignright size-thumbnail wp-image-2232" /></a><br />
<small>Settings the directory and filenames of your SSH key for the Eclipse and Git integration.</small></p>
<p><a href="http://www.evsc.net/v8/wp/wp-content/uploads/2013/06/maxext_04.jpg"><img src="http://www.evsc.net/v8/wp/wp-content/uploads/2013/06/maxext_04-300x280.jpg" alt="" title="maxext_04" width="300" height="280" class="alignright size-thumbnail wp-image-2233" /></a><br />
<small>First commit</small>
</div>
<div class="inside-post2" style="height:560px">
<h1>5. Setup Github</h1>
<p>I am squeezing the Eclipse+Git setup and github linkage in between here, as it changed my folder structure, which will effect the other upcoming steps. More setup help at the <a href="http://wiki.eclipse.org/EGit/User_Guide">EGit User Guide</a>.</p>
<ul>
<li>First, setup a new repository on <a href="http://github.com">github.com</a></li>
<li>Verify your SSH settings in Eclipse by: WINDOW > PREFERENCES > GENERAL > NETWORK CONNECTIONS > SSH2. Verify your SSH2 home is <em>C:\Users\eva\Documents\.ssh</em>. For this to work i had to create an additional SSH key that is only for Eclipse (in addition to my computer&#8217;s usual SSH key).</li>
<li>Install EGit by: HELP > INSTALL NEW SOFTWARE and paste <em>http://download.eclipse.org/releases/juno</em> in &#8216;Work with&#8217; line. (Pick URL adequate for your IDE here: <a href="http://eclipse.org/egit/download/">eclipse.org/egit/download/</a>)</li>
<li>Type <em>EGit</em> into the filter, then pick and install <strong>Eclipse EGit</strong> and <strong>EGit Mylyn</strong> and <strong>Eclipse EGit Mylyn GitHub Feature</strong></li>
<li>EGit setup: identify yourself</li>
<li>Set the environment variable HOME by: type <em>environment</em> in start menu, select <em>Edit environment variables for your account</em>, click &#8216;new&#8217;, enter <em>HOME</em> into name field, enter <em>%USERPROFILE%\Documents\</em> into value field. Restart Eclipse</li>
<li>Right click on project and: TEAM > SHARE PROJECT, select <em>Git</em>, click &#8216;Create&#8217;, Parent directory will be <em>C:\Users\eva\Documents\git</em>, name it, and click &#8216;finish&#8217;.</li>
<li>Add files to repository by: TEAM > ADD TO INDEX</li>
<li>Commit with: TEAM > COMMIT</li>
<li>Setup your Destination Git Repository with the github project&#8217;s SSH URL, <em>ssh</em> as protocol, <em>git</em> as User and no password. Click &#8216;next&#8217;, if connection successful, accept the host key, enter your SSH key&#8217;s passphrase and continue to push commits.</li>
</ul>
</div>
<div class="inside-post1">
<a href="http://www.evsc.net/v8/wp/wp-content/uploads/2013/06/maxext_06.jpg"><img src="http://www.evsc.net/v8/wp/wp-content/uploads/2013/06/maxext_06-300x217.jpg" alt="" title="maxext_06" width="300" height="217" class="alignright size-thumbnail wp-image-2235" /></a><br />
<small>Write a simply Hello World program</small>
</div>
<div class="inside-post2">
<h1>6. Write Code</h1>
<p>Write a first dummy class for testing purposes. No jitter functionality for now.</p>
<ul>
<li>Create a new class with NEW > CLASS, give it a name and click finish.
<pre>import com.cycling74.max.*;

public class dummyObject extends MaxObject {

    public void bang() {
        outlet(0, "BANG");

    }	
}</pre>
</li>
<li>As soon as you save the file, Eclipse will autocompile it for you. Check your project directory, you should find a <em>dummyObject.class</em> inside the <em>/bin</em> directory. (The <strong>.java</strong> files inside the <em>/src</em> directory are the source files, while the <strong>.class</strong> files are compiled code)</li>
</li>
</ul>
</div>
<div class="inside-post1" style="height:450px;">
<img src="http://www.evsc.net/v8/wp/wp-content/uploads/2013/06/maxext_10.jpg" alt="" title="maxext_10" width="294" height="397" class="alignright size-full wp-image-2205" /><br />
<small>Write a simply Hello World program</small>
</div>
<div class="inside-post2" style="height:450px;">
<h1>7. Test Java External</h1>
<p>First you need to tell Max/MSP where it can find your Java externals.</p>
<ul>
<li>Locate your <strong>max.java.config.txt</strong> file (should be in <em>C:\Program Files (x86)\Cycling &#8217;74\Max 5.0\Cycling &#8217;74\java</em> folder) and add a new line, defining the location of the .class files inside the <em>/bin</em> directory:
<pre>max.dynamic.class.dir C:/Users/eva/Documents/git/maxExt/maxExt/bin</pre>
</li>
<li>Start Max and create a new patch</li>
<li>Add your object [mxj dummyObject] and see if it works.</li>
<li>Go back and change your code in Eclipse. Make sure to save, so it autocompiles the new class file. Delete your object in your Max patch, and immediately undo the action. Now the class file has been updated in Max&#8217;s memory as well.</li>
</ul>
</div>
<div class="inside-post1">
<img src="http://www.evsc.net/v8/wp/wp-content/uploads/2013/06/maxext_11.jpg" alt="" title="maxext_11" width="300" height="507" class="alignright size-full wp-image-2208" /><br />
<small>Jitter example</small>
</div>
<div class="inside-post2">
<h1>8. Write and test a Jitter example</h1>
<p>Now let&#8217;s test if our java class can also create jitter objects, and draw simple geometry with the [<a href="http://www.cycling74.com/docs/max5/refpages/jit-ref/jit.gl.sketch.html">jit.gl.sketch</a>] object.</p>
<ul>
<li>Write a new class:
<pre>
import com.cycling74.max.*;
import com.cycling74.jitter.*;

public class dummyJitter extends MaxObject {

    // jitter objects
    JitterObject sketch;
    JitterObject texture;
    
    float v = 0.0f;

    /* instantiate mxj with render context as argument */
    public dummyJitter(String context) {

        declareIO(2, 1); // declare 2 inlets, 1 outlet

        // instantiate Jitter sketch object
        sketch = new JitterObject("jit.gl.sketch");
        sketch.setAttr("drawto", context);
        sketch.setAttr("glclearcolor", new Atom[] { 
            Atom.newAtom(0.), 
            Atom.newAtom(0.), 
            Atom.newAtom(0.), 
            Atom.newAtom(1.) });
    }

    public void bang() {
    	sketch.call("reset");
        sketch.call("glcolor", new Atom[] { 
            Atom.newAtom(1.), 
            Atom.newAtom(0.5), 
            Atom.newAtom(0.),
            Atom.newAtom(1.) });

        v += 1.0f; // rotation value
        sketch.call("glrotate", new Atom[] { 
            Atom.newAtom(v), 
            Atom.newAtom(0), 
            Atom.newAtom(0), 
            Atom.newAtom(1) });
        
        // draw a triangle
        sketch.call("glbegin", "polygon");
        sketch.call("glvertex", new Atom[] { 
            Atom.newAtom(0.5), 
            Atom.newAtom(0.5), 
            Atom.newAtom(0) });
        sketch.call("glvertex", new Atom[] { 
            Atom.newAtom(-0.5), 
            Atom.newAtom(0.5), 
            Atom.newAtom(0) });
        sketch.call("glvertex", new Atom[] { 
            Atom.newAtom(-0.5), 
            Atom.newAtom(-0.5), 
            Atom.newAtom(0) });
        sketch.call("glend");
        
    }
}
</pre>
<li>By saving the class in Eclipse, the IDE will compile the class file for you</li>
<li>Create a Max/MSP patch with a [jit.gl.render] object, a [jit.window] for showing the graphics, and your [mxj dummyJitter] object. Give them all the same render context, run a metro and see if you see the spinning triangle.</li>
</ul>
</div>
<div class="inside-post1">
<a href="http://www.evsc.net/v8/wp/wp-content/uploads/2013/06/maxext_12.jpg"><img src="http://www.evsc.net/v8/wp/wp-content/uploads/2013/06/maxext_12-300x249.jpg" alt="" title="maxext_12" width="300" height="249" class="alignright size-thumbnail wp-image-2212" /></a><br />
<img src="http://www.evsc.net/v8/wp/wp-content/uploads/2013/06/maxext_13.jpg" alt="" title="maxext_13" width="271" height="309" class="alignright size-full wp-image-2214" />
</div>
<div class="inside-post2">
<h1>9. Max/MSP communication with Java object, and vice versa</h1>
<p>Triggering functions within or sending values into the java object, is straightforward. All you need to do is send in messages in the left inlet. If you want to have the java object communicate back to the patch, you can use the <em>outlet()</em> function. </p>
<p>An elegant way to update GUI elements with values from within the java object &#8211; without having to make connection lines &#8211; is by using script and the [thispatcher] object.</p>
<ul>
<li>Create a number box, and assign a <em>scripting name</em> to it.</li>
<li>Connect a [fromsymbol] and a [thispatcher] object to the left outlet of the java object.</li>
<li>To simply set the value of the number box, write
<pre>outlet(1,"script send gui_v set "+v);</pre>
</li>
<li>To send (not just set) a value to the number box, write
<pre>outlet(1,"script send gui_v "+v);</pre>
</li>
</ul>
</div>
<div class="inside-post1" style="background-color: #eee;">
<h3>Helpful Links</h3>
<p><b>WritingMaxExternalsInJava.pdf</b><br />
very helpful guide, the PDF is to be found in the &#8216;java-doc&#8217; folder in your Max folder</p>
<p><a href="http://compusition.com/web/articles/maxmsp-eclipse">Max/MSP Development with Eclipse</a><br />
How to setup Eclipse to develop Java externals </p>
<p><a href="http://www.music.mcgill.ca/~ich/classes/mumt402_06/MaxMSPExternalsTutorials/MaxMSPExternalsTutorial3.2.pdf">MaxMSPExternalsTutorials3.2.pdf&#8221;</a><br />
by Ichiro Fujinaga, McGill University, Sept 2006<br />
Tutorial for writing external objects with C</p>
<p><a href="http://www.cycling74.com/docs/max5/tutorials/jit-tut/jitterchapter51.html">Tutorial 51: Jitter Java</a><br />
Tutorial by Cycling74</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.evsc.net/home/how-to-jitter-java-objects/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Talking Hyper</title>
		<link>http://www.evsc.net/home/talking-hyper?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=talking-hyper</link>
		<comments>http://www.evsc.net/home/talking-hyper#comments</comments>
		<pubDate>Sat, 08 Jun 2013 16:01:01 +0000</pubDate>
		<dc:creator>evsc</dc:creator>
				<category><![CDATA[Home]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[fourth dimension]]></category>
		<category><![CDATA[hyper]]></category>
		<category><![CDATA[interview]]></category>

		<guid isPermaLink="false">http://www.evsc.net/?p=2187</guid>
		<description><![CDATA[Late 2011 Rachel Lovelock Yeomans - a fashion designer graduate from Central Saint Martins - sent me interview questions about my project HYPER and the abstract concept of the fourth dimension. <a href="http://www.evsc.net/home/talking-hyper"><span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class="inside-post1" style="height:250px;">
<a href="http://www.evsc.net/v8/wp/wp-content/uploads/2010/10/hyper.jpg"><img src="http://www.evsc.net/v8/wp/wp-content/uploads/2010/10/hyper.jpg" alt="" title="hyper" width="300" height="223" class="alignright size-full wp-image-582" /></a>
</div>
<div class="inside-post2" style="height:250px;">
Late 2011 <a href="http://www.rachellovelock.com">Rachel Lovelock Yeomans</a> &#8211; a fashion designer graduate from Central Saint Martins &#8211; sent me interview questions about my project <a href="http://www.evsc.net/projects/hyper-2">Hyper</a> and the abstract concept of the fourth dimension. Rachel is interested in the subject matter as her dissertation dealt with the concepts of time, the fourth dimension, faceted realities and how they are given expression via the arts.</p>
<p>I am posting the interview here, as answering her questions felt quite relevant to me.
</p></div>
<div class="inside-post1">
<big>1. Scientific phenomena and ideas seem to be a major influence in your artistic approach. By combing ideas described in metaphysics with your own artistic practice how do you feel you contribute to each discipline? </big>
</div>
<div class="inside-post2">&#8220;I have a hard time positioning myself with regards to stereotypical disciplines. Thankfully this notion of strict categorizations has become more and more relaxed in recent time. It&#8217;s like we are going back to a renaissance where art and science are allowed to mingle freely. Yet as i am not a full-time artist (i do earn my living working as a creative technologist) i give myself the freedom of escaping the art-world with its rules and its categories and jargon. I regard my artistic projects as something very egotistical. Something i do, because i have to. Because i am entranced by all these mysteries and sights of beauty around me. Because i am &#8211; as you named it &#8211; enchanted by the unknown. And i express this fascination of mine in the form of design, art and &#8211; somewhat amateurish &#8211; research. I hope that my art reaches other people and maybe causes them to experience new feelings of love, appreciation and curiosity for science and reality. I don&#8217;t think that my projects contribute to any scientific discipline. They are much too undisciplined and short-lived to count. Unless i manage to pin myself down and deeply immerse myself in one specific topic, and thoroughly follow up on that for many many years, i doubt i will reach a level in my research that would also be valid on scientific fronts. No illusions there, but i am okay with that. I know that i am much too easily distracted by new topics, new discoveries. One fascination just seems to lead to another, and it never seems to end.&#8221;
</div>
<div class="inside-post1">
<big>2. What was your intention behind the HYPER project?</big>
</div>
<div class="inside-post2">&#8220;The intention was to create an experiment that potentially could let you develop a deeper understanding of a fourth spatial dimension. I&#8217;ve been reading lots about higher dimensions, and i&#8217;ve been staring at rotating hypercubes on screens. I could wrap my head around the idea of a fourth dimension. Yet it always was very theoretical. I started to wonder how this theory could become something more realistic or even something intuitive in your mind. At that point i was working at an institution that houses a virtual-reality cave. I decided that a dynamic interactive 3d-environment would definitely offer more ground for experimentation. Furthermost i wanted to create an environment that i could use myself, for research. Something i could insert myself into and spend time in, trying very hard to translate my theoretical knowledge of 4d into the visual presentation in front of my eyes.&#8221;</div>
<div class="inside-post1">
<big>3. Do you link ideas of time as described in special relativity with hyper-space and your HYPER project?</big>
</div>
<div class="inside-post2">&#8220;HYPER didn&#8217;t touch upon the notion of time. Besides when i presented the project to a public and kept telling them endlessly about the fourth dimension, until someone asked if i was talking about time. Then i realized that i had forgot to mention that the work is about extra spatial and not temporal dimensions. Even though we could think of those as somewhat similar. Time and Space, Space-Time, it&#8217;s all supposed to be the same, right? Highly exhilarating of course. Yet with HYPER i felt like i didn&#8217;t want to open that door. I was fine just focusing on one extra dimension that was bound to our elementary understanding of spatial dimensions. Everything else would have been too overburdening then. But i am highly intrigued by the idea that time is only a construct of our mind. I have Julian Barbour&#8217;s &#8216;The End of Time&#8217; on my bookshelf, and i already know that i&#8217;ll want to do some more exploratory artworks based on that idea.&#8221;</div>
<div class="inside-post1">
<big>4. How successful do you think HYPER was? How was it received by the general public?</big>
</div>
<div class="inside-post2">&#8220;HYPER was shown to the public only once on the occasion of a short conference presentation. Besides a few people, no one actually had to opportunity to test the virtual environment for a longer time period than say 5 minutes. I would say the minimum time requirement for experiencing the installation lies at about 30 minutes. Either this, or you need to have a very open mind and be highly educated on everything 4d. The public at the presentation was mainly intrigued, but also had a hard time grasping the concept and the intention. Which is understandable. My experiments with HYPER came to a natural end when i left the institution. I definitely wouldn&#8217;t call HYPER successful in terms of its initial goal (developing a more intuitive understanding for higher dimensions). I see it as a first tentative step into a direction i would like to explore further. Probably not in a virtual reality setup though (i am not a fan of screens and projections).&#8221;</div>
<div class="inside-post1">
<big>5. Do you think we are coming any closer with our understanding / visualization of the fourth dimension?</big>
</div>
<div class="inside-post2">&#8220;No. But we just started trying. And now we &#8216;discovered&#8217; dark matter and dark energy. And more people are trying to wrap their heads around what it means that there is more than our naked eye can see. It&#8217;s gonna be fun to see what solutions we can come up with. Maybe we&#8217;ll develop new sensors that allow us to perceive everything hidden. Maybe the recent constant exposure to brain-science and ideas of consciousness will actually help us change our brain-networks and loosen the limits on our thoughts. All exciting, all in front of us!&#8221;</div>
]]></content:encoded>
			<wfw:commentRss>http://www.evsc.net/home/talking-hyper/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>La Figure de la Terre premiere</title>
		<link>http://www.evsc.net/news/la-figure-de-la-terre-premiere?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=la-figure-de-la-terre-premiere</link>
		<comments>http://www.evsc.net/news/la-figure-de-la-terre-premiere#comments</comments>
		<pubDate>Sat, 13 Apr 2013 16:19:39 +0000</pubDate>
		<dc:creator>evsc</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[maxmsp]]></category>
		<category><![CDATA[Mia Makela]]></category>
		<category><![CDATA[opera]]></category>
		<category><![CDATA[visuals]]></category>

		<guid isPermaLink="false">http://www.evsc.net/?p=2134</guid>
		<description><![CDATA[I created visual software for Mia Mäkelä to be used for the contemporary Finnish opera La Figure de la Terre which will premiere tonight (April 13th) at the Sophiensaele in Berlin. <a href="http://www.evsc.net/news/la-figure-de-la-terre-premiere"><span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class="inside-post1">
<h2>La Figure de la Terre</h2>
<p>I created audio-reactive generative visual software for <a href="http://www.miamakela.net/">Mia Mäkelä</a> to be used for the contemporary Finnish opera <em>La Figure de la Terre</em> which will premiere tonight (April 13th) at the Sophiensaele in Berlin. The software consists of several custom Max/MSP Java externals and a GUI interface. I&#8217;ll post more documentation at a later state. </p>
<h3>Synopsis</h3>
<p><i>Two journeys, two strangers: the French scientist Maupertuis travels to Lappland to determine the shape of the earth. He meets Christine Planström, a young woman from the northern wilderness, who accompanies him back to the sophisticated world of the Parisian salons after his research. The two Finn’s, Miika Hyytiäinen and Jaakko Nousiainen, musical theater piece examines the concepts of foreigness, identity and survival. The piece interprets Baroque quotations using contemporary music sources. Singers, a cembalo and a Baroque trio interact with echoes, sounds and noises. The show will be accompanied by a real-time generated video performance.</i></p>
<p>DIRECTION Jaakko Nousiainen<br />
COMPOSITION Miika Hyytiäinen<br />
SCENOGRAPHY, VIDEO PERFORMANCE Mia Mäkelä </p>
<h3>Dates</h3>
<p>APRIL 2013, 13 14 18 19 20<br />
<a href="http://www.sophiensaele.com/produktionen.php?IDstueck=1107&#038;hl=en">SOPHIENSÆLE</a>
</div>
<div class="inside-post2"><img src="http://www.evsc.net/v8/wp/wp-content/uploads/2013/04/figure_rainbow-630x420.jpg" alt="" title="figure_rainbow" width="630" height="420" class="alignright size-medium wp-image-2135" /><small>Rainbow sparkle effect, created with custom Max/MSP Java externals</small></div>
<div class="inside-post2">
<p><a href="http://www.evsc.net/news/la-figure-de-la-terre-premiere"><em>Click here to view the embedded video.</em></a></p><br />
<small>Video by Axel Lambrette</small>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.evsc.net/news/la-figure-de-la-terre-premiere/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Prep Windows machine for fulltime exhibition setup</title>
		<link>http://www.evsc.net/tech/prep-windows-machine-for-fulltime-exhibition-setup?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=prep-windows-machine-for-fulltime-exhibition-setup</link>
		<comments>http://www.evsc.net/tech/prep-windows-machine-for-fulltime-exhibition-setup#comments</comments>
		<pubDate>Mon, 10 Dec 2012 01:10:47 +0000</pubDate>
		<dc:creator>evsc</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[autostart]]></category>
		<category><![CDATA[setup]]></category>
		<category><![CDATA[windows7]]></category>

		<guid isPermaLink="false">http://www.evsc.net/?p=2078</guid>
		<description><![CDATA[How to run 24-7 installations Blair Neal posted the very useful How to make an installation stay up 4evr (Mac OS X version). I&#8217;ve been collecting my own list for setting up installations with Windows machines for a while now. &#8230; <a href="http://www.evsc.net/tech/prep-windows-machine-for-fulltime-exhibition-setup"><span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class="inside-post2">
<h2>How to run 24-7 installations</h2>
<p>Blair Neal posted the very useful <a href="http://blairneal.com/blog/installation-up-4evr/">How to make an installation stay up 4evr (Mac OS X version)</a>. I&#8217;ve been collecting my own list for setting up installations with Windows machines for a while now. I am pushing it online here, with the plan to add more useful tips in the future. </p>
<p>This is a <strong>Windows 7</strong> guide!</div>
<div class="inside-post1"><img src="http://www.evsc.net/v8/wp/wp-content/uploads/2012/12/20121122_111009-300x225.jpg" alt="" title="20121122_111009" width="300" height="225" class="alignright size-thumbnail wp-image-2097" /></div>
<div class="inside-post1">
<h2>1. Power Options</h2>
<p>You don&#8217;t want your computer falling asleep due to a lack of mouse/keyboard input.</p>
<p>> Control Panel<br />
> Hardware and Sound<br />
> Power Options<br />
> Change when the computer sleeps </p>
<p>Set the computer sleep setting to <strong>&#8220;Never&#8221;</strong>. If your installation outputs visuals, you also have to set the display to turn off <strong>&#8220;Never&#8221;</strong>.
</div>
<div class="inside-post2">
<img src="https://lh6.googleusercontent.com/-cmgQhZ5XzHo/UMUkMb-npzI/AAAAAAAAFdk/OpkllHwCyDY/s800/win7_poweroptions.PNG" /><br />
<small>Put the computer to sleep > &#8220;Never&#8221;</small>
</div>
<div class="inside-post1">
<h2>2. Deactivate Screensaver</h2>
<p>If your application produces visual output you don&#8217;t want a screensaver interrupting that.</p>
<p>> Control Panel<br />
> Appearance and Personalization<br />
> Personalization<br />
> Screen Saver</p>
<p>Set the screen saver menu to <strong>(None)</strong>.
</div>
<div class="inside-post2">
<img src="https://lh4.googleusercontent.com/-dXRXO1aPUsI/UMUkMVr1mPI/AAAAAAAAFdg/lb2lCq73oD0/s800/win7_screensaver.PNG" /><br />
<small>Select (None) as screensaver.</small>
</div>
<div class="inside-post1">
<h3>3. System Updates</h3>
<p>How to avoid annoying system popups informing you of new operating system updates.</p>
<p>> Control Panel<br />
> System and Security<br />
> Windows Update<br />
> Change settings</p>
<p>Set to <strong>&#8220;Never check for updates&#8221;</strong>.
</div>
<div class="inside-post2">
<img src="https://lh6.googleusercontent.com/-71Nnhl1i8Js/UMUoJ2fJl4I/AAAAAAAAFeA/BcxAuOCDkXk/s800/win7_windowsupdates.PNG">
</div>
<div class="inside-post1">
<h3>4. Auto Shutdown</h3>
<p>How to setup the machine to shut down automatically at the same time every day.</p>
<p>> Control Panel<br />
> System and Security<br />
> Administrative Tools<br />
> Task Scheduler</p>
<p>> Action Menu<br />
> Create Basic Task &#8230;<br />
> Add title and description<br />
> Task Trigger: select <strong>Daily</strong><br />
> Set your shut-down time and recurrence<br />
> Action: select <strong>Start a program</strong><br />
> Program/script: <strong>C:\Windows\System32\shutdown.exe</strong><br />
> Add arguments: <strong>/s</strong><br />
> Finish</p>
<p>To disable or edit a task, select the task in Task Scheduler Library and right-click.
</p></div>
<div class="inside-post2">
<img src="https://lh4.googleusercontent.com/-CN943yPs3kU/UMUrkMvG2EI/AAAAAAAAFeU/EYSwDusP-r0/s800/win7_taskdaily.PNG"><br />
<small>Set the recurrence of the task to &#8220;Daily&#8221;.</small><br />
<img src="https://lh4.googleusercontent.com/-CVi8St5ekwU/UMUrkOPKOOI/AAAAAAAAFeY/J8ByaANsh4Q/s800/win7_taskprogram.PNG"><br />
<small>The task will execute shutdown.exe.</small>
</div>
<div class="inside-post1">
<h3>5. Autostart machine</h3>
<p>How to setup the machine to boot automatically at the same time every day.</p>
<p>> Restart machine<br />
> Press <strong>F12</strong> to enter <strong>BIOS setup</strong> when prompted<br />
> Power Management Setup<br />
> Resume by Alarm: set &#8220;Enabled&#8221;<br />
> Date(of Month) Alarm: set &#8220;Everyday&#8221;<br />
> Time(hh:mm:ss) Alarm: set boot-up time<br />
> Save and Exit
</div>
<div class="inside-post2">
<img src="https://lh3.googleusercontent.com/-0zCTvBta7lU/UMUs2VR0XDI/AAAAAAAAFeo/QliHQ17SCes/s640/20121122_110859.jpg"><br />
<small>Enter Power Management Setup to set boot time</small><br />
<img src="https://lh6.googleusercontent.com/-0pcFxl-NVhc/UMUs6oKi-pI/AAAAAAAAFew/6k6ltFmblC4/s640/20121122_110931.jpg"><br />
<small>Set recurrence and time of automatic system boot</small>
</div>
<div class="inside-post1">
<h3>6. No GUI boot</h3>
<p>To avoid the Windows login screen when booting, follow the instruction to deactivate it.</p>
<p>> Start Menu search bar<br />
> Type <strong>msconfig</strong><br />
> Boot tab<br />
> Select <strong>No GUI boot</strong><br />
> Apply and Restart
</div>
<div class="inside-post2">
<img src="https://lh6.googleusercontent.com/-WiygHHBlZsg/UMUuqSwzLvI/AAAAAAAAFfA/ui0wO9V1E5A/s800/win7_noguiboot.PNG"><br />
<small>Deactivate the login screen when booting</small>
</div>
<div class="inside-post1">
<h3>7. Startup applications</h3>
<p>First, have a close look at all the programs that are automatically executed when starting the machine.</p>
<p>> Start Menu search bar<br />
> Type <strong>msconfig</strong><br />
> Startup tab<br />
> Disable whatever you don&#8217;t need
</div>
<div class="inside-post2">
<img src="https://lh5.googleusercontent.com/-eW-X71JpX58/UMUwuMQPs7I/AAAAAAAAFfI/CCAn7oELckE/s800/win7_msconfigstartup.PNG"><br />
<small>Disable all startup applications that you don&#8217;t need.</small>
</div>
<div class="inside-post1">
<h3>8. Startup your application</h3>
<p>Then, add your application to the startup folder:</p>
<p>> Start Menu search bar<br />
> Type <strong>shell:startup</strong><br />
> Explorer folder opens (<em>C:\ Users\ eva\ AppData\ Roaming\ Microsoft\ Windows\ Start Menu\ Programs\ Startup</em>)<br />
> Create a shortcut to your application here</p>
</div>
<div class="inside-post2">
<img src="https://lh6.googleusercontent.com/-bjwOpFU_PgE/UMUwuMeYleI/AAAAAAAAFfM/ThDJqcqbnF8/s800/win7_startupfolder.PNG"><br />
<small>Create a shortcut to your application in the startup folder.</small>
</div>
<div class="inside-post1">
<h3>9. Remote monitoring</h3>
<p>You might want to install a remote monitoring software like <a href="http://www.teamviewer.com">Teamviewer</a>, to be able to log into the computer remotely to check up on its well-being or to debug problems.</p>
<p>When installing Teamviewer, setup the computer for unattended remote access. It will automatically be added to the startup applications.
</p></div>
<div class="inside-post2">
<img src="https://lh6.googleusercontent.com/-j97E9YUkxXY/UMUzlch38CI/AAAAAAAAFfg/817W40UYS-k/s800/win7_teamviewer.PNG">
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.evsc.net/tech/prep-windows-machine-for-fulltime-exhibition-setup/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Generation Generativ in .Centmagazine</title>
		<link>http://www.evsc.net/news/centmagazine?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=centmagazine</link>
		<comments>http://www.evsc.net/news/centmagazine#comments</comments>
		<pubDate>Sat, 01 Dec 2012 22:59:57 +0000</pubDate>
		<dc:creator>evsc</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[feature]]></category>
		<category><![CDATA[generative]]></category>
		<category><![CDATA[magazine]]></category>

		<guid isPermaLink="false">http://www.evsc.net/?p=2062</guid>
		<description><![CDATA[I was invited to contribute to the Live Issue of .Cent Magazine, for their feature on generative art.  <a href="http://www.evsc.net/news/centmagazine"><span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class="inside-post1">
<h2>Generation Generative</h2>
<p>I was invited to contribute to the Live Issue of <a href="http://www.centmagazine.co.uk">.Cent Magazine</a>, for their feature on generative art. The other featured artists are <a href="http://www.timknowles.co.uk/">Tim Knowles</a> &#8211; known for his <a href="http://www.timknowles.co.uk/Work/TreeDrawings/tabid/265/Default.aspx">tree drawing series</a> &#8211; and <a href="http://www.michael-hansmeyer.com/">Michael Hansmeyer</a> &#8211; known for computational architecture (TED Talk: <a href="http://www.ted.com/talks/michael_hansmeyer_building_unimaginable_shapes.html">Building unimaginable shapes</a>)</a>.</p>
<p>.Cent Magazine is a free private members club and all you need to do to join is <a href="http://centmagazine.co.uk/pages/signup.php">signup here</a>.<br />
<br/></p>
<h2>A Generative Approach to Sound</h2>
<p>My Contribution introduces my approach to generative art and focuses on projects that deal with sound:</p>
<p><em>My work is driven by a fascination for the hidden mechanism that govern our physical and mental worlds. Generative art is my way of trying to understand these rules and forces, by recreating and manipulating them in simplified computational models. Sound &#8211; as one of the most basic of concepts &#8211; is an intriguing topic as our minds hide the world of particle physics from us and solely present us with higher-level interpretations of sensory inputs. To give form to the usually invisible phenomena, i translate audio pressure waves into the visual domain. <a href="http://www.evsc.net/projects/kitesfight">‘KitesFight’</a> and <a href="http://www.evsc.net/projects/project-m">‘M’</a> use the high resolution and granular qualities of analog sound as driving force for otherwise closed computational systems to generate visuals. <a href="http://www.evsc.net/projects/liquid-sound-collision">‘Liquid Sound Collisions’</a> is a thought experiment that questions the materiality of audio waves by sending two sounds in battle and having their interpreted waves collide and interfere with each other. A frozen snapshot of that collision &#8211; materialized through 3D printing &#8211; further hints at the paradox of the nonexistence of sound when the world is on pause. <a href="http://www.evsc.net/projects/circuit-explorations">‘Circuit Explorations’</a> uses our brains auditory pattern recognition system in it’s exploratory search for newly created complex systems. </em>
</div>
<div class="inside-post2">
<a href="http://www.centmagazine.co.uk/"><img src="http://www.evsc.net/v8/wp/wp-content/uploads/2012/12/theliveissuecover_630.jpg" alt="" title="theliveissuecover_630" width="630" height="446" class="alignleft size-full wp-image-2063" /></a><br />
<small>The Live Issue of .Cent Magazine / November 2012</small>
</div>
<div class="inside-post2">
<a href="http://www.evsc.net/v8/wp/wp-content/uploads/2012/12/cent_generationgenerative1.png"><img src="http://www.evsc.net/v8/wp/wp-content/uploads/2012/12/cent_generationgenerative1-630x445.png" alt="" title="cent_generationgenerative1" width="630" height="445" class="alignleft size-medium wp-image-2064" /></a><br />
</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.evsc.net/news/centmagazine/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Troika</title>
		<link>http://www.evsc.net/inspiration/troika?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=troika</link>
		<comments>http://www.evsc.net/inspiration/troika#comments</comments>
		<pubDate>Tue, 06 Nov 2012 03:00:56 +0000</pubDate>
		<dc:creator>evsc</dc:creator>
				<category><![CDATA[Inspiration]]></category>
		<category><![CDATA[lens]]></category>
		<category><![CDATA[light]]></category>
		<category><![CDATA[perception]]></category>
		<category><![CDATA[troika]]></category>

		<guid isPermaLink="false">http://www.evsc.net/?p=2046</guid>
		<description><![CDATA[With a particular interest in perception and the spatial experience many of Troika's work draw inspiration from fundamental scientific, optical and mechanical principles.  <a href="http://www.evsc.net/inspiration/troika"><span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class="inside-post2">
<big>With a particular interest in perception and the spatial experience many of Troika&#8217;s work draw inspiration from fundamental scientific, optical and mechanical principles. Building on their fascination for optical phenomena, they take inspiration in the work of early enlightenment scientists to create work that is derived from manipulating the very substance of the light itself. </big>
</div>
<div class="inside-post1">
<h3>Troika</h3>
<ul>
<li><strong>are </strong> Eva Rucki, Conny Freyer and Sebastien Noel</li>
<li><strong>since </strong>2003</li>
<li><strong>studied</strong> at Royal College of Art</li>
<li><strong>live</strong> in London, UK</li>
<li><strong>web</strong> <a href="http://troika.uk.com/">troika.uk.com</a></li>
</ul>
</div>
<div class="inside-post2">
<a href="http://troika.uk.com/arcades"><img src="http://www.evsc.net/v8/wp/wp-content/uploads/2012/11/TROIKA_Arcades_03-lr-630x466.jpg" alt="" title="TROIKA - Arcades (2012)" width="630" height="466" class="alignleft size-medium wp-image-2048" /></a><br />
<small><strong>Arcades (2012)</strong><br />
An arcade is given shape by a series of 14 pillars of light that are met by fresnel lenses, which refract the light beams and make them bend hyperbolically to form the arches of gothic architecture. By confronting the viewer with the seemingly impossible phenomenon of bending light it creates a space for contemplation and introspection, suggesting a synthesis between agnostic reason and intuitive belief.<br />
</small></div>
<div class="inside-post1">
<a href="http://troika.uk.com/lightdrawings"><img src="http://www.evsc.net/v8/wp/wp-content/uploads/2012/11/Troika-LightDrawing_nr6_web-300x420.jpg" alt="" title="Troika - Light Drawing (2012)" width="300" height="420" class="alignleft size-thumbnail wp-image-2049" /></a><br />
<small><strong>Light Drawings (2012)</strong><br />
The remains of a powerful electric discharge appear in the shape of intricate repeat-basic forms. By guiding the traces of lightning and manipulating a force to produce the drawings, <em>Light Drawings</em> examine the tension between control over what is inherently uncontrollable, reflecting on what we observe in the small details and in the total pattern of life.<br />
</small></div>
<div class="inside-post1">
<a href="http://troika.uk.com/chandeliers"><img src="http://www.evsc.net/v8/wp/wp-content/uploads/2012/11/TROIKA_RSA_02-300x443.jpg" alt="" title="TROIKA - Chandeliers" width="300" height="443" class="alignleft size-thumbnail wp-image-2051" /></a><br />
<small><strong>Circles and Countercircles (2012)</strong><br />
Inspired by the work of early Enlightenment scientists and the manipulation of the very substance of the light itself, the chandelier uses a large fresnel lense to shape the light generated by high power LEDs into geometrical patterns projected onto the ceiling.</small></div>
<div class="inside-post1">
<a href="http://troika.uk.com/fallinglight"><img src="http://www.evsc.net/v8/wp/wp-content/uploads/2012/11/Troika_Falling-Light_image-by-JamesHarris-lr-300x199.jpg" alt="" title="Troika - Falling Light (2010)" width="300" height="199" class="alignleft size-thumbnail wp-image-2054" /></a><br />
<small><strong>Falling Light (2010)</strong><br />
English poet John Keats commented that science had robbed nature and the rainbow of its spectacle by reducing its notion to prismatic colours. ‘Falling Light’ challenges this belief, with a captivating cinematographic interplay between crystal prisms and the preternatural experience they are able to create. 50 ceiling suspended mechanical devices each incorporating a custom cut Swarovski crystal optical lens, a computer programmed motor and a white LED. Small drops of light fall from the ceiling onto the gallery floor, the visitor is immersed in a shower of light, each droplet encircled by a vibrant halo of rainbow colours.<br />
</small></div>
<div class="inside-post1">
<a href="http://troika.uk.com/thixotropes"><img src="http://www.evsc.net/v8/wp/wp-content/uploads/2012/11/IM_TROIKA_Thixotropes_01-300x404.jpg" alt="" title="TROIKA - Thixotropes (2011)" width="300" height="404" class="alignleft size-thumbnail wp-image-2053" /></a><br />
<small><strong>Thixotropes (2011)</strong><br />
A series of eight illuminated mechanised structures, each of them shaped as a composition of intersecting angular and geometric forms that are made of thin tensed steel banding lined with rows of LEDs. The constructions continuously revolve around their own axis thereby materialising the path of the light and dissolving the spinning structures into compositions of aerial cones, spheres and ribbons of warm and cold light while giving life and shape to an immaterial construct.<br />
</small></div>
<div class="inside-post1">
<a href="http://troika.uk.com/cloud"><img src="http://www.evsc.net/v8/wp/wp-content/uploads/2012/11/troika_cload_view-300x447.jpg" alt="" title="troika - Cloud (2008)" width="300" height="447" class="alignleft size-thumbnail wp-image-2055" /></a><br />
<small><strong>Cloud (2008)</strong><br />
&#8216;Cloud&#8217; is a five meter long digital sculpture whose surface is covered with 4638 flip-dots that can be individually addressed by a computer to animate the entire skin of the sculpture.<br />
</small></div>
<div class="inside-post1">
<a href="http://vimeo.com/7540746"><img src="http://www.evsc.net/v8/wp/wp-content/uploads/2012/11/troika-all-the-time-in-the-world01-300x200.jpg" alt="" title="ALL THE TIME IN THE WORLD by TROIKA" width="300" height="200" class="alignleft size-thumbnail wp-image-2056" /></a><br />
<small><strong>All The Time In The World (2008)</strong><br />
A 22m long electroluminescent wall at Heathrow Terminal 5 &#8211; displaying a world clock &#8211; created using an custom-made modular text display system. Troika developed and patented a new typology of electroluminescent displays that is less than half a millimeter thin and relies on a custom designed segmented typeface.<br />
</small></div>
]]></content:encoded>
			<wfw:commentRss>http://www.evsc.net/inspiration/troika/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Frequency bins</title>
		<link>http://www.evsc.net/research/frequency-bins?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=frequency-bins</link>
		<comments>http://www.evsc.net/research/frequency-bins#comments</comments>
		<pubDate>Sun, 28 Oct 2012 00:30:04 +0000</pubDate>
		<dc:creator>evsc</dc:creator>
				<category><![CDATA[Research]]></category>
		<category><![CDATA[brainwave]]></category>
		<category><![CDATA[sleep]]></category>
		<category><![CDATA[zeo]]></category>
		<category><![CDATA[zeolibrary]]></category>

		<guid isPermaLink="false">http://www.evsc.net/?p=1998</guid>
		<description><![CDATA[Study of brainwave activity during different sleep stages, as measured with the Zeo Sleep Manager and with the help of ZeoLibrary. One of the screenshots the ZeoLibrary takes every half hour while i am asleep. Monitoring and Recording I use &#8230; <a href="http://www.evsc.net/research/frequency-bins"><span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class="inside-post3">
<h1>Study of brainwave activity during different sleep stages, as measured with the <a href="http://www.evsc.net/research/adventures-in-sleeping">Zeo Sleep Manager</a> and with the help of <a href="http://www.evsc.net/tech/zeolibrary">ZeoLibrary</a>.</h1>
</div>
<div class="inside-post2">
<img src="https://lh3.googleusercontent.com/-zezfMyKqBW4/UFZws5ctjXI/AAAAAAAACKI/y5pU6RSWDys/s800/eeg-20120914-034208.png" /><br />
<small>One of the screenshots the ZeoLibrary takes every half hour while i am asleep.</small>
</div>
<div class="inside-post1">
<h2>Monitoring and Recording</h2>
<p>I use ZeoLibrary to record zeo data over the course of a night. The application shows the current frequency levels and raw brainwave data on top (still need to remove the 60Hz noise), and a recording of the frequency data and sleep-stages from the last half hour at the bottom. </p>
<p>For easy readability i let the software take screenshots every half hour. To analyse the data, i then simply compare the recorded graphs and approximated average values for each of the frequency bins.
</p></div>
<div class="inside-post2">
<img src="https://lh6.googleusercontent.com/-JJChCyt6XOk/UFZwwKv_Z9I/AAAAAAAACKI/sX5kwWwguds/s800/zeo_frequency_binsi.png" /><br />
<small>The Zeo Sleep Manager groups recorded brain wave activity into seven frequency bins.</small>
</div>
<div class="inside-post1">
<h2>The Frequency Bins</h2>
<p>Zeo measures and groups together frequency ranges into 7 so-called bins. The bins are:</p>
<ul>
<li>2-4Hz &#8230;. DELTA waves</li>
<li>4-8Hz &#8230;. THETA waves</li>
<li>8-13Hz &#8230; ALPHA waves</li>
<li>13-18Hz .. BETA1 waves</li>
<li>18-21Hz .. BETA2 waves</li>
<li>11-14Hz .. BETA3 waves</li>
<li>30-50Hz .. GAMMA waves</li>
</ul>
<p>The BETA3 bin overlaps in frequency with the ALPHA and BETA1 bin, and seems to be used for specific sleep spindle analysis.
</p></div>
<div class="inside-post2">
<img src="https://lh6.googleusercontent.com/-Nsm3xBSprk0/UFZwshUtehI/AAAAAAAACKI/i7WPCerjd5o/s800/fb_deep_0.png" /><br />
<small>The frequency bin levels during deep sleep.</small>
</div>
<div class="inside-post1">
<h2>DEEP Sleep</h2>
<p>Deep sleep stands out with the highest DELTA and THETA values. In addition the GAMMA values are very low.
</p></div>
<div class="inside-post2">
<img src="https://lh4.googleusercontent.com/-eKtqMGCowws/UFZwtgH7FhI/AAAAAAAACKI/ri61GPunw9E/s800/fb_light_0.png" /><br />
<small>The frequency bin levels during light sleep.</small>
</div>
<div class="inside-post1">
<h3>LIGHT Sleep</h3>
<p>During light sleep THETA and ALPHA waves are at very similar levels and quite high, while the DELTA waves are considerably lower than in deep sleep.
</p></div>
<div class="inside-post2">
<img src="https://lh5.googleusercontent.com/-rMI1So3kxo4/UFZwvNaOAmI/AAAAAAAACKI/f6N0-ouC0sQ/s800/fb_rem_0.png" /><br />
<small>The frequency bin levels during REM sleep.</small>
</div>
<div class="inside-post1">
<h2>REM Sleep</h2>
<p>In REM sleep, THETA waves are highest and GAMMA waves are slightly higher than in deep and light sleep stages.
</p></div>
<div class="inside-post2">
<img src="https://lh4.googleusercontent.com/-5hY-IapU3C0/UFZwvzSi0mI/AAAAAAAACKI/mauDAkXzy20/s800/fb_wake_0.png" /><br />
<small>The frequency bin levels during the wake stage.</small>
</div>
<div class="inside-post1">
<h2>WAKE Stage</h2>
<p>When awake, the GAMMA values are at its highest, and the DELTA values at its lowest level.
</p></div>
<div class="inside-post2">
<img src="https://lh4.googleusercontent.com/-af6UOqfnU-k/UFZwuRmwU-I/AAAAAAAACKI/eJdkp16OXfU/s800/fb_overlap_3.png" /><br />
<small>Overlapping display of all 4 sleep (and wake) stages.</small>
</div>
<div class="inside-post1">
<h2>All 4 Stages</h2>
<p>The images shows all four sleep stages &#8211; WAKE, REM, LIGHT and DEEP &#8211; as overlapped graphs. It shows that DEEP sleep reaches the highest levels in the low-frequency range, while the WAKE stage reaches the highest levels in the high-frequency range.
</p></div>
<div class="inside-post2">
<img src="https://lh3.googleusercontent.com/-Hl2vx3tbinc/UFZwtcJjWXI/AAAAAAAACKI/MV867BAY6PI/s800/fb_fluctuations_0.png" /><br />
<small>The transparent blocks represents the change of level of the frequency bins between the four different sleep stages.</small>
</div>
<div class="inside-post1">
<h2>Frequency Fluctuations</h2>
<p>The graph on the left shows the change of levels for each frequency bin, over the course of a full night (or full cycle through all sleep stages). </p>
<p>While the THETA, ALPHA and BETA bins all fluctuate for similar amounts, the DELTA bin fluctuate over a range about three times as high. (Fluctuation zones are compared directly by levels, and not as percentage values in relation to each bins maximum value)
</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.evsc.net/research/frequency-bins/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scientific Knowledge and a New World-View</title>
		<link>http://www.evsc.net/research/meta/scientific-knowledge-and-a-new-world-view?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=scientific-knowledge-and-a-new-world-view</link>
		<comments>http://www.evsc.net/research/meta/scientific-knowledge-and-a-new-world-view#comments</comments>
		<pubDate>Mon, 27 Aug 2012 00:44:34 +0000</pubDate>
		<dc:creator>evsc</dc:creator>
				<category><![CDATA[Lists]]></category>
		<category><![CDATA[meta]]></category>
		<category><![CDATA[Brian Green]]></category>
		<category><![CDATA[Richard Feynman]]></category>
		<category><![CDATA[worldview]]></category>

		<guid isPermaLink="false">http://www.evsc.net/?p=1993</guid>
		<description><![CDATA[A collection of quotes from scientists and thinkers, on how to combine a scientific world-view with your daily life. <a href="http://www.evsc.net/research/meta/scientific-knowledge-and-a-new-world-view"><span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class="inside-post3">
<h2>Scientific Knowledge and a New World-View</h2>
<p>Even though we know that this world consists of atoms and waves and forces and strange space time distortions and even stranger quantum states, we still live our daily life happily ignoring these facts. We approach our day to day with a very simplified view of the world &#8211; what goes up must come down, and the world is just as our eyes tell us it is. Our brains can&#8217;t readily make the connection between abstract science concepts and the mundane. </p>
<p>Yet i wonder, if people that are submerged into the world of abstract science all day long, don&#8217;t start to see and hear and feel the world around them in a different way. </p>
<p>This is a collection of quotes from scientists and thinkers.
</p></div>
<div class="inside-post1">
<big>&#8220;This is one of the great conundrums, it seems to me, that what you learn in science is so different than what you feel in your regular life!  How do you live between those two worlds when what you know and what you feel are so different?&#8221;</big></p>
<div style="text-align:right;">Brian Green<br/><small>(<a href="http://culturingscience.wordpress.com/2010/11/18/developing-a-scientific-worldview-why-its-hard-and-what-we-can-do/">via</a>)</small></div>
</div>
<div class="inside-post2">
<big>&#8220;When I look at the tabletop, I delight in the fact that I can, in my mind, picture the atoms and molecules and the interactions between them and the mostly empty space that’s in there.  And that when my hand touches the tabletop, I see the electrons of the outer surface of my hand pushing against the electrons in the outer surface of the table.  I’m not really touching the table!  My hand never comes into contact with the table!  What’s happening is the electrons are getting really close together and they’re repelling each other.  And I love the fact that I am, in essence, deforming the surface of the table by making my electrons come really close to it.  That enriches my experience.&#8221;</big></p>
<div style="text-align:right;">Brian Green<br/><small>(<a href="http://culturingscience.wordpress.com/2010/11/18/developing-a-scientific-worldview-why-its-hard-and-what-we-can-do/">via</a>)</small></div>
</div>
<div class="inside-post1">
<big>&#8220;It’s all really there. That’s what really gets you. But you gotta stop and think about it to really get the pleasure about the complexity, the inconceivable nature of nature.”</big></p>
<div style="text-align:right;">Richard Feynman<br/><small>(<a href="http://www.brainpickings.org/index.php/2012/04/05/feynman-series-reid-gowan/">via</a>)</small></div>
</div>
<div class="inside-post1">
<big>&#8220;The real change that&#8217;s around the corner [is] in the way we think about space and time, [...] We haven&#8217;t come to grips with what Einstein taught us. But that&#8217;s coming. And that will make the world around us seem much stranger than any of us can imagine.&#8221;</big></p>
<div style="text-align:right;">David Gross<br/><small>(<a href="http://www.p-i-a.com/Magazine/Issue6/Intuition_6.htm">via</a>)</small></div>
</div>
<div class="inside-post1">
<big>&#8220;People don’t understand how I can visualize four or five dimensions. Five-dimensional shapes are hard to visualize — but it doesn’t mean you can’t think about them. Thinking is really the same as seeing.&#8221;</big></p>
<div style="text-align:right;">William P. Thurston<br/><small>(<a href="http://www.nytimes.com/2012/08/23/us/william-p-thurston-theoretical-mathematician-dies-at-65.html?_r=2">via</a>)</small></div>
</div>
<div class="inside-post1">
<big>&#8220;History suggests that our worldview undergoes disruptive change not so much when science adds new concepts to our cognitive toolkit as when it takes away old ones.&#8221;</big></p>
<p><big>&#8220;We are so familiar with causality as an underlying feature of reality that we hardwire it into the laws of physics. It might seem that this would be unnecessary, but it turns out that the laws of physics do not distinguish between time going backward and time going forward. And so we make a choice about which sort of physical law we would like to have.&#8221;</big></p>
<div style="text-align:right;">Nigel Goldenfeld<br/><small>(<a href="http://www.edge.org/q2011/q11_16.html#goldenfeld">via</a>)</small></div>
</div>
<div class="inside-post1">
<big>&#8220;&#8221;</big></p>
<div style="text-align:right;"> <br/><small>(<a href="">via</a>)</small></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.evsc.net/research/meta/scientific-knowledge-and-a-new-world-view/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>More Sleep Graphs</title>
		<link>http://www.evsc.net/research/more-sleep-graphs?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=more-sleep-graphs</link>
		<comments>http://www.evsc.net/research/more-sleep-graphs#comments</comments>
		<pubDate>Sun, 26 Aug 2012 21:55:04 +0000</pubDate>
		<dc:creator>evsc</dc:creator>
				<category><![CDATA[Research]]></category>
		<category><![CDATA[data visualization]]></category>
		<category><![CDATA[sleep]]></category>
		<category><![CDATA[zeo]]></category>
		<category><![CDATA[zeolibrary]]></category>

		<guid isPermaLink="false">http://www.evsc.net/?p=1972</guid>
		<description><![CDATA[Mid-Sleep time, average sleep states and temperature mappings <a href="http://www.evsc.net/research/more-sleep-graphs"><span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class="inside-post1"><a href="http://www.evsc.net/v8/wp/wp-content/uploads/2012/08/sleep-zq-20120813-205045.png"><img class="alignnone size-thumbnail wp-image-1973" title="sleep-zq-20120813-205045" src="http://www.evsc.net/v8/wp/wp-content/uploads/2012/08/sleep-zq-20120813-205045-300x360.png" alt="" width="300" height="360" /></a><br />
<small>The Mid-Sleep time is halfway between falling asleep and waking up. The graph shows my mid-sleep times for a period of 255 days (i excluded obvious jetlag-days) in grey, and displays the average mid-sleep values for the individual weekdays in color. Weekends obviously haver later mid-sleep points.</small></div>
<div class="inside-post2">
<big>This is an extension of <a href="http://www.evsc.net/research/adventures-in-sleeping">Adventures in Sleeping</a>, and presents more graphs analyzing my sleep data acquired with the <a href="http://www.myzeo.com/sleep/">Zeo Sleep Manager</a>. Some of the graphs have already been generated with the help of my <a href="http://www.evsc.net/tech/zeolibrary">ZeoLibrary</a>.</big>
</div>
<div class="inside-post2"><a href="http://www.evsc.net/v8/wp/wp-content/uploads/2012/08/sleep-zq-20120813-211010.png"><img class="alignnone size-medium wp-image-1977" title="sleep-zq-20120813-211010" src="http://www.evsc.net/v8/wp/wp-content/uploads/2012/08/sleep-zq-20120813-211010-630x280.png" alt="" width="630" height="280" /></a><br />
<small>My sleep cycle time averaged over the course of the night, separated into groups for each weekday.</small></div>
<div class="inside-post1"><a href="http://www.evsc.net/v8/wp/wp-content/uploads/2012/08/sleep-zq-20120813-211015.png"><img class="alignnone size-thumbnail wp-image-1978" title="sleep-zq-20120813-211015" src="http://www.evsc.net/v8/wp/wp-content/uploads/2012/08/sleep-zq-20120813-211015-300x133.png" alt="" width="300" height="133" /></a><br />
<small>My sleep cycle time averaged over the course of the night, separated into groups based on sleep-onset time.</small></div>
<div class="inside-post1"><a href="http://www.evsc.net/v8/wp/wp-content/uploads/2012/08/sleep-zq-20120813-211020.png"><img class="alignnone size-thumbnail wp-image-1979" title="sleep-zq-20120813-211020" src="http://www.evsc.net/v8/wp/wp-content/uploads/2012/08/sleep-zq-20120813-211020-300x133.png" alt="" width="300" height="133" /></a><br />
<small>My sleep cycle time averaged over the course of the night, separated into groups of 50 consecutive days.</small></div>
<div class="inside-post2">
<a href="http://www.evsc.net/v8/wp/wp-content/uploads/2012/08/temperature-20120826-173350.png"><img src="http://www.evsc.net/v8/wp/wp-content/uploads/2012/08/temperature-20120826-173350-630x315.png" alt="" title="temperature-20120826-173350" width="630" height="315" class="alignnone size-medium wp-image-1992" /></a><br />
<small>Here i am mapping the mean temperature of the day (for Montreal) against the time spent in deep sleep. Very obviously there is a correlation. Heat exhausts the body and it needs more repair time (deep sleep). </small>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.evsc.net/research/more-sleep-graphs/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
