1234567891011121314151617181920 |
- /* computes the bounding box of a graph based on node positions */
- BEGIN {
- double xmin, ymin, xmax, ymax;
- xmin = ymin = 1.7976931348623157e+308;
- xmax = ymax = -ymin;
- double x, y;
- }
- N {
- if (sscanf ($.pos, "%f,%f", &x, &y) == 2) {
- if (x < xmin) xmin = x;
- if (y < ymin) ymin = y;
- if (x > xmax) xmax = x;
- if (y > ymax) ymax = y;
- }
- }
- END {
- printf ("(%f,%f) (%f,%f)\n", xmin, ymin, xmax, ymax);
- if (ARGC) printf ("area = %f aspect = %f\n", ((xmax-xmin)*(ymax-ymin))/1000000., (xmax-xmin)/(ymax-ymin));
- }
|