ideal_edge_lenghth_preservation_mingwei.js
function ideal_edge_length_preservation(links, ideal_lengths){
let total_difference = 0;
for (let i = 0; i < links.length; i++) {
let x1 = links[i].source.x;
let y1 = links[i].source.y;
let x2 = links[i].target.x;
let y2 = links[i].target.y;
let dist = Math.sqrt((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2));
let diff = Math.abs(ideal_lengths[i] - dist);
total_difference += Math.pow(diff / ideal_lengths[i], 2);
}
let average_difference = Math.sqrt(total_difference / links.length);
//return 1-average_difference;
return average_difference;
}