var data; var arr = []; // array for unique values var nrows; var nvals; var h = 650, w = 650; // dimensions var margin = 50; var initPosArr = []; // an array of objects containing source and initial positions var dispArr = []; // array of objects containing two vertices and displacement var edispArr = []; var finDispArr = []; // final displacement array var posArr = []; // final position array function preload() { data = loadTable('698.edges'); } function initPos(src, x, y) { this.src = src; this.x = x; // random initial x val this.y = y; // random initial y val } function Vertex(v1, dispx, dispy) { // displacement between any two vertices where v1!=v2 this.v1 = v1; this.dispx = dispx; // displacement initially set to 0 this.dispy = dispy; } function Edge(v1, edispx, edispy) { // displacement between any two edges where v1!=v2 this.v1 = v1; this.edispx = edispx; // displacement initially set to 0 this.edispy = edispy; } function Disp(v, dx, dy) { this.v = v; this.dx = dx; this.dy = dy; } function sortNumber(a,b) { // function to help numerical order sorting return a - b; } function getA(x, k) { return (sq(x)/k); } function getR(x, k) { return (sq(k)/x); } function setup() { nrows = data.getRowCount(); for (var i=0; i arr var s = split(data.getString(i,0), " "); if (! arr.includes(s[0])) { append(arr, s[0]); } if (! arr.includes(s[1])) { append(arr, s[1]); } } nvals = arr.length; // number unique values arr.sort(sortNumber); // sort values in arr // print(arr); var A = h*w; // area var k = sqrt((A)/nvals); // k // Assign random positions for (var i=0; i maxVal) { maxVal = max(abs(obj.x), abs(obj.y)); } } for (var temp=0; temp (-maxVal)*0.8)) { var tempx = map(obj.x, -maxVal*0.8, maxVal*0.8, margin, w); } else { var tempx = map(obj.x, -maxVal, maxVal, margin, w)*0.8; } if ((obj.y < 0.8*maxVal) && (obj.y > (-maxVal)*0.8)) { var tempy = map(obj.y, -maxVal*0.8, maxVal*0.8, margin, h); } else { var tempy = map(obj.y, -maxVal, maxVal, margin, h)*0.8; } initPosArr[temp].x = tempx; initPosArr[temp].y = tempy; } } // print(initPosArr); } function draw() { clear(); createCanvas(800,800); // drawing canvas for (var i=0; i