Here are the confirmed graphics:
Wednesday, April 27, 2011
Kaleidoscope Patterns
Here are the confirmed graphics:
Saturday, April 23, 2011
VGA Splitter
The reason why I chose this method of output was to enable the users to go through a unique psychedelic experience in a bigger amount.
I bought a display/VGA splitter from LowYat in order to create the output.
There are eight slots all together, so I'm hoping to get my hands on eight monitors and make full use of it.
Wednesday, April 20, 2011
Updated Working File
I've split each kaleidoscope design into three scenes. Cheers to Hafizadt for helping me with the action script!
Images are not updated to the ones that I planned on using due to trouble I came across scripting. But here is the working file so far:
Planning on integrating it with the Kinekt soon!
Tuesday, April 19, 2011
Motion Detection
I've tried a test run with the Kinekt by using the program FAAST & Open NI; very pleased with the simplicity.
Content Development #3
This photo was two years ago of my rainbow-colored umbrella. It's no longer with me anymore as it didn't function properly. I realize the image isn't hi-res as I had gotten this off my Facebook account. I'll try to dig through my photo album to find the original picture.
This pattern is taken from my design book called 'Culturatextura'.
This is the pattern of my Ikea bedsheets.
Tuesday, April 12, 2011
Monday, April 11, 2011
Coding
The current existing code involves interaction with keypad (such as controlling the rotation speed, adding more tiles to the kaleidoscope, toggle/flip tiles, etc).
import flash.display.BitmapData;
import flash.geom.Matrix;
_quality = "BEST";
var hsize = 500;
var vsize = 500;
var diag:Number = Math.sqrt(2*hsize*hsize)*0.62;
var map:BitmapData = new BitmapData(hsize, vsize, true, 0x00000000);
var mapHolder:MovieClip = createEmptyMovieClip("mapHolder", 1);
var code:MovieClip;
mapHolder.attachBitmap(map, 0);
var image:BitmapData = BitmapData.loadBitmap("image");
var stampImage:BitmapData = new BitmapData(image.width, image.height, false);
stampImage.draw(image, new Matrix(0.5, 0, 0, 0.5, 0, 0), null, "normal", null, true);
stampImage.draw(image, new Matrix(-0.5, 0, 0, 0.5, image.width, 0), null, "normal", null, true);
stampImage.draw(image, new Matrix(0.5, 0, 0, -0.5, 0, image.height), null, "normal", null, true);
stampImage.draw(image, new Matrix(-0.5, 0, 0, -0.5, image.width, image.height), null, "normal", null, true);
image.dispose();
var rotate1:Boolean = false;
var rotate2:Boolean = false;
var rotate3:Boolean = false;
var flip:Boolean = true;
var singleview:Boolean = true;
var slice:MovieClip = createEmptyMovieClip("slice", 0);
slice._visible = false;
var slices:Number = 12;
var angle = Math.PI/slices;
var nudge = 0.009;
var rotspeed1 = 0.007;
var rotspeed2 = -0.003;
var rotspeed3 = -0.005;
var sclfact = 0;
var rot:Number = 0;
var r:Number = 0;
var r2:Number = 0;
var sh1:Number = 0;
var sh2:Number = 0;
var scl:Number = 1;
var m:Matrix = new Matrix();
Key.addListener(this);
function onKeyDown() {
switch (Key.getCode()) {
case Key.UP :
scl *= 1.03;
break;
case Key.DOWN :
scl *= 0.96;
break;
case Key.LEFT :
r -= 0.01;
break;
case Key.RIGHT :
r += 0.01;
break;
case 187 :
//+
slices += 2;
angle = Math.PI/slices;
break;
case 189 :
//-
if (slices>4) {
slices -= 2;
angle = Math.PI/slices;
}
break;
case 49 :
//1
rotate1 = !rotate1;
break;
case 50 :
//2
rotate2 = !rotate2;
break;
case 51 :
//3
rotate3 = !rotate3;
break;
case 52 :
//4
flip = !flip;
break;
case 53 :
//5
sh1 += 0.04;
break;
case 54 :
//6
sh1 -= 0.04;
break;
case 55 :
//7
sh2 += 0.04;
break;
case 56 :
//8
sh2 -= 0.04;
break;
case 78 :
//n
sclfact += 0.01;
break;
case 77 :
//m
sclfact -= 0.01;
break;
case 48 :
sclfact = 0;
break;
case 81 :
//q
rotspeed1 += 0.001;
break;
case 87 :
//w
rotspeed1 -= 0.001;
break;
case 65 :
//a
rotspeed2 += 0.001;
break;
case 89 :
//q
rotspeed3 += 0.001;
break;
case 88 :
//w
rotspeed3 -= 0.001;
break;
case 69 :
rotspeed1 = 0;
break;
case 68 :
rotspeed2 = 0;
break;
case 67 :
rotspeed3 = 0;
break;
case 83 :
//s
rotspeed2 -= 0.001;
break;
}
}
function onEnterFrame() {
if (rotate1) {
r += rotspeed1;
}
if (rotate2) {
r2 -= rotspeed2;
}
if (rotate3) {
rot += rotspeed3;
}
for (var i = 0; i