Server IP : 162.241.126.129 / Your IP : 3.145.107.223 Web Server : Apache System : Linux 162-241-126-129.cprapid.com 4.18.0-477.27.2.el8_8.x86_64 #1 SMP Fri Sep 29 08:21:01 EDT 2023 x86_64 User : rvway5nu4 ( 1018) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/graphviz/gvpr/ |
Upload File : |
/* color edges based on normalized length alpha. * If we have lim[i-1] <= alpha <= lim[i], the color * is linearly interpolated between color[i-1] and color[i]. * Edges already having a color attribute are left unchanged. */ BEGIN { double lens [edge_t]; double maxlen, len, minlen=1.7976931348623157e+308; double alpha, x0, y0, x1, y1; double h0, s0, v0; int i; int ncolors; /* number of colors: ncolors >= 2 */ /* start of color i. * lim[0]=0 < lim[1] < ... < lim[ncolors-1]=1 */ double lim[int]; /* HSV values for color i */ double h[int]; double s[int]; double v[int]; /* simple default */ ncolors = 2; lim[0] = 0; lim[1] = 1; h[0] = 0; h[1] = 0.67; s[0] = 1; s[1] = 1; v[0] = 1; v[1] = 1; } E{ sscanf ($.tail.pos, "%f,%f", &x0, &y0); sscanf ($.head.pos, "%f,%f", &x1, &y1); len = sqrt ((x0-x1)*(x0-x1) + (y0-y1)*(y0-y1)); lens[$] = len; if (len > maxlen) maxlen = len; if (len < minlen) minlen = len; } BEG_G { if (!isAttr($,"E","color")) setDflt($,"E","color",""); } E{ if ($.color != "") return; alpha = (lens[$]-minlen)/(maxlen-minlen); for (i = 1; i < ncolors; i++) { if (alpha < lim[i]) break; } alpha = (alpha - lim[i-1])/(lim[i] - lim[i-1]); h0 = (1-alpha)*h[i-1] + alpha*h[i]; s0 = (1-alpha)*s[i-1] + alpha*s[i]; v0 = (1-alpha)*v[i-1] + alpha*v[i]; $.color = sprintf ("%.02f %.02f %.02f", h0, s0, v0); }