assert(d[v] >= 0);
sqdistances_r[v]= d[v] * d[v];
}
+
+// FOR_VERTEX(v) {
+//
}
void graph_layout_prepare() {
}
-double graph_layout_cost(const Vertices v, const double vertex_areas[N]) {
+double graph_layout_cost(const Vertices v) {
/* For each (vi,vj) computes shortest path s_ij = |vi..vj|
* along edges, and actual distance d_ij = |vi-vj|.
*
* let beta' = (1-beta)/2
*/
- double cost= pow(d2/s2, beta_prime);
+ double cost= (vertex_mean_edge_lengths[v1]) * pow(d2/s2, beta_prime);
//printf("layout %03x..%03x dist^2=%d s^2=%g d^2=%g "
//" cost+=%g\n", v1,v2, dist2,
total_cost += cost;
}
}
- return total_cost;
+ return total_cost/meanedgelength;
}