COMBINE THE STUDIES IN PREVIOUS
MAKE USE OF FLASH GENERATIVE POWER
CONVERT IT INTO SVG CODES
JUST FOR FUN
AND A NICE RE-VISIT MR.SVG
HE IS STILL YOUNG & NICELY BUILD
LOTS OF POSSIBILITIES
function setup() {
stgL = -200;
stgR = 1000;
stgT = -200;
stgB = 800;
maxLength = Math.sqrt(Math.pow((stgB-stgT), 2)+Math.pow((stgR-stgL), 2));
//
drawingBoard = this.createEmptyMovieClip("boardMC", 0);
//
pointArray = new Array();
pointTotal = 25;
for (i=0; i<pointTotal; i++) {
var xLocation = random(stgR-stgL)+stgL;
var yLocation = random(stgB-stgT)+stgT;
var xSpd = (random(10)+1)*(random(2)*2-1)/10;
var ySpd = (random(10)+1)*(random(2)*2-1)/10;
pointArray.push([xLocation, yLocation, xSpd, ySpd]);
}
//
svgHeader = "<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" width=\"800px\" height=\"600px\" viewBox=\"0 0 800 600\" enable-background=\"new 0 0 800 600\" xml:space=\"preserve\"> ";
svgFooter = "</svg>";
// event for mouse
this.onMouseDown = function() {
connectPoint();
};
}
function connectPoint() {
drawingBoard.clear();
//
tmpSVG = "";
drawingBoard.lineStyle(0,0xFFFFFF,100);
for (i=0; i<pointTotal; i++) {
// draw to the other points
for (j=(i+1); j<pointTotal; j++) {
var lineLength = Math.sqrt(Math.pow((pointArray[i][0]-pointArray[j][0]), 2)+Math.pow((pointArray[i][1]-pointArray[j][1]), 2));
var ratio = int(lineLength/maxLength*256);
//
drawingBoard.lineStyle(ratio/64,ratio*256*256+ratio*256+ratio,100);
drawingBoard.moveTo(pointArray[i][0],pointArray[i][1]);
drawingBoard.lineTo(pointArray[j][0],pointArray[j][1]);
//
tmpSVG += "<path d=\"M "+pointArray[i][0]+" "+pointArray[i][1]+" L "+pointArray[j][0]+" "+pointArray[j][1]+" z\" fill=\"none\" stroke=\""+convertRGB(ratio, ratio, ratio)+"\" stroke-width=\""+ratio/64+"\" />"+newline;
}
// summation
pointArray[i][0] += pointArray[i][2];
pointArray[i][1] += pointArray[i][3];
// condition for reboundX
if (pointArray[i][0]>stgR) {
pointArray[i][0] = stgR;
pointArray[i][2] *= -1;
}
if (pointArray[i][0]<stgL) {
pointArray[i][0] = stgL;
pointArray[i][2] *= -1;
}
// condition for reboundY
if (pointArray[i][1]>stgB) {
pointArray[i][1] = stgB;
pointArray[i][3] *= -1;
}
if (pointArray[i][1]<stgT) {
pointArray[i][1] = stgT;
pointArray[i][3] *= -1;
}
}
tmpSVG = svgHeader+newline+tmpSVG+newline+svgFooter;
trace(tmpSVG);
}
function convertRGB(Rval, Gval, Bval) {
var hexNumber:String = "0123456789ABCDEF";
//
firstDigit = hexNumber.charAt(int(Rval/16));
secondDigit = hexNumber.charAt(int(Rval%16));
hexR = firstDigit+secondDigit;
//
firstDigit = hexNumber.charAt(int(Gval/16));
secondDigit = hexNumber.charAt(int(Gval%16));
hexG = firstDigit+secondDigit;
//
firstDigit = hexNumber.charAt(int(Bval/16));
secondDigit = hexNumber.charAt(int(Bval%16));
hexB = firstDigit+secondDigit;
//
// HEXval = "0x"+String(hexR)+String(hexG)+String(hexB);
HEXval = "#"+String(hexR)+String(hexG)+String(hexB);
//
return (HEXval);
//
}
//
setup();
