arrow leftarrow uparrow right

Bio Art

/threads_lines50.jpg
Bio art, Digital print (dimensions variable), (c) all rights reserved, 2011



lineHeight = height/nbLines;
linePosition = lineHeight + 0.3 * rand( lineHeight );
charWidth = width/(nbChars * nbWords / 2.0 );
for( indLine = 0; indLine < nbLines ; indLine++ ) {
nbCharByWord = int( rand( nbChars / 3.0 ) );
nbTotChars = nbCharByWord;

x = nbCharByWord * charWidth + rand (0.8 * charWidth);
y = linePosition + rand (0.5 * lineHeight);
x2 = x;
y2 = y;

for( indWord = 0; indWord < nbWords ; indWord++ ) {
nbCharByWord = int( rand( nbChars ) );
printf( "<path style=\"fill:none;stroke:#000000;stroke-width:1px;\"
d=\"m %.5f,%.5f C " , x , y );
for( indChar = nbTotChars ; indChar < nbTotChars + nbCharByWord ; indChar++ ) {
x1 = 2.0 * x - x2;
y1 = 2.0 * y - y2;
x2 = rand (0.4 * charWidth) + charWidth * (indChar - 1.5);
y2 = linePosition + rand (0.2 * lineHeight) + lineHeight * 0.5;
x = rand (3.0 * charWidth) + charWidth * indChar;
y = linePosition + rand (0.5 * lineHeight);
printf( "%.5f,%.5f %.5f,%.5f %.5f,%.5f " ,
x1 , y1 , x2 , y2 , x , y );
}
printf( "\" id=\"path%04d\" />" , indWord + indLine * nbWords );
x += rand (2.0 * charWidth);
y = linePosition + rand (0.5 * lineHeight);
nbTotChars += nbCharByWord + 2.0;
}
linePosition += lineHeight + 0.3 * rand( lineHeight );
}