ion chebyshev_node(k, n){
    return Math.cos(Math.PI*(2*k - 1)/(2*n));
}

// Chebyshev visible region
var chebyshev_x_min = -1.2;
var chebyshev_y_min = -0.2;
var chebyshev_x_max = 1.2;
var chebyshev_y_max = 1.2;

var chebyshev_client_x_center = w*(0-chebyshev_x_min)/(chebyshev_x_max-chebyshev_x_min);
var chebyshev_client_x_step = (w/(chebyshev_x_max-chebyshev_x_min));

var chebyshev_client_y_center = h - h*(0-chebyshev_y_min)/(chebyshev_y_max-chebyshev_y_min);
var chebyshev_client_y_step = (h/(chebyshev_y_