Thursday, 27 November 2008

work in progress / A Wooden Fluidity

the computer is the other of the human mind, not its mirror.


fluid system interact´s with it self as well as colliding with it´s urban context

pin up 2

pin up 1


first pics from our algorithmic project.
some parts of the script:

vector $vResolution = `getAttr fluid1.resolution`;

for($x=0; $x<$vResolution.x-1; $x++) { for($y=0; $y<$vResolution.y-1; $y++) { for($z=0; $z<$vResolution.z; $z++){ //vector select -r fluid1; vector $gridPos= << $x, $y, $z>>; // starting point
vector $arrowEnd = `getFluidAttr -at "velocity" -xi $x -yi $y -zi $z `; // get velocity @ voxel x-y
float $density[] = `getFluidAttr -at "density"-xi $x -yi $y -zi $z`;
float $color[] = `getFluidAttr -at "color"-xi $x -yi $y -zi $z`;
float $heat[] = `getFluidAttr -at "temperature"-xi $x -yi $y -zi $z`;

vector $dist= $gridPos + $arrowEnd;
vector $punkt2 = <<($x + ($arrowEnd.x)*0.8 - ($arrowEnd.y)*0.2), ($y + ($arrowEnd.y)*0.8 + ($arrowEnd.x)*0.2), $z>>;
vector $punkt4 = <<($x + (($arrowEnd.x)*0.8) + (($arrowEnd.y)*0.2)), (($y + ($arrowEnd.y)*0.8) - (($arrowEnd.x)*0.2)), $z>>;
vector $einheit = <<1,>>;

//create fish
string $mName = "fish_" + $x + "_" + $y;
curve -d 3 -p $x $y $z -p ($punkt2.x) ($punkt2.y) ($punkt2.z) -p ($dist.x) ($dist.y) ($dist.z) -p ($punkt4.x) ($punkt4.y) ($punkt4.z) -p $x $y $z -n $mName;
xform -p true -cp;
setAttr ".scale" $scale $scale $scale;
setAttr ".translate" 0 0 (mag($arrowEnd)/$top);

float $i = `getAttr .translateZ`; //get Z Attribute fish

//make bottum shape

select ("curveX_" + $x +"_"+ ($vResolution.x-1) +"detachedCurve"+($y+1)); //select -r curveX_0_39detachedCurve1 ;
$A1 = `getAttr ".cv[0]"`;
$A2 = `getAttr ".cv[1]"`;
$A3 = `getAttr ".cv[2]"`;
$A4 = `getAttr ".cv[3]"`;
//redraw curve
string $curveName1 = "curveA_"+$x+"_"+$y;
curve -d 3 -p ($A1[0]) ($A1[1]) ($A1[2]) -p ($A2[0]) ($A2[1]) ($A2[2]) -p ($A3[0]) ($A3[1]) ($A3[2]) -p ($A4[0]) ($A4[1]) ($A4[2]) -n $curveName1 ;

select ("curveY_" + ($vResolution.x-1) +"_"+ ($y+1) +"detachedCurve"+($x+1)); //select -r curveY_39_1detachedCurve1 ;
$B1 = `getAttr ".cv[0]"`;
$B2 = `getAttr ".cv[1]"`;
$B3 = `getAttr ".cv[2]"`;
$B4 = `getAttr ".cv[3]"`;
//redraw curve
string $curveName2 = "curveB_"+($x)+"_"+$y;
curve -d 3 -p ($B1[0]) ($B1[1]) ($B1[2]) -p ($B2[0]) ($B2[1]) ($B2[2]) -p ($B3[0]) ($B3[1]) ($B3[2]) -p ($B4[0]) ($B4[1]) ($B4[2]) -n $curveName2 ;

select ("curveX_" + ($x+1) +"_"+ ($vResolution.x-1) +"detachedCurve"+($y+1)); //select -r curveX_1_39detachedCurve1 ;
$C1 = `getAttr ".cv[3]"`;
$C2 = `getAttr ".cv[2]"`;
$C3 = `getAttr ".cv[1]"`;
$C4 = `getAttr ".cv[0]"`;
//redraw curve
string $curveName3 = "curveC_"+($x)+"_"+($y);
curve -d 3 -p ($C1[0]) ($C1[1]) ($C1[2]) -p ($C2[0]) ($C2[1]) ($C2[2]) -p ($C3[0]) ($C3[1]) ($C3[2]) -p ($C4[0]) ($C4[1]) ($C4[2]) -n $curveName3 ;

in teamwork with oliver von malm

No comments: