//создаем рисунок $W = 650; $H = 400; $im = @ImageCreate($W, $H); // цвета $white = ImageColorAllocate($im, 255, 255, 255); $black = ImageColorAllocate($im, 0, 0, 0); $red = ImageColorAllocate($im, 255, 0, 0); $green = ImageColorAllocate($im, 0, 255, 0); $blue = ImageColorAllocate($im, 0, 0, 255); $yellow = ImageColorAllocate($im, 255, 255, 0); $magenta = ImageColorAllocate($im, 255, 0, 255); $cyan = ImageColorAllocate($im, 0, 255, 255); $l_grey = ImageColorAllocate($im, 200, 200, 200); $color = array(-1 => imagecolorallocate($im, 100, 100, 100), 0 => ImageColorAllocate($im, 115, 255, 100), 1 => ImageColorAllocate($im, 255, 0, 0), 2 => ImageColorAllocate($im, 0, 0, 255), 3 => ImageColorAllocate($im, 255, 255, 0), 4 => ImageColorAllocate($im, 255, 0, 255), 5 => ImageColorAllocate($im, 0, 255, 255), 6 => ImageColorAllocate($im, 0, 150, 0), 7 => ImageColorAllocate($im, 120, 0, 0), 8 => ImageColorAllocate($im, 0, 0, 120), 9 => ImageColorAllocate($im, 120, 120, 0), 10 => ImageColorAllocate($im, 120, 0, 120), 11 => ImageColorAllocate($im, 0, 120, 120)); draw_axises($W, $H); //рисуем оси координат //вычисляем масштаб преобразования данных в координаты рабочей области $scaleX = 1; $scaleY = 1; //задаем шаг для координатной сетки в пикселах $xStep = 30; $yStep = 30; //рисуем координатную сетку draw_grid($xStep, $yStep, round($xStep / $scaleX, 1), round($yStep / $scaleY, 1), true); // ======================================================================================== // заносим данные из сессии в массив $pointData = $_SESSION['data1']; $coresData = $_SESSION['cores1']; define("CORE_WEIGHT", 10); define("POINT_WEIGHT", 3);
} $s1 = count($x1); $x_len = abs(max($x1) - min($x1)); $y_len = abs(max($y1) - min($y1)); $x_count = count($x1); $y_count = count($y1); $x_step = round((500 - (25 + 25)) / ($x_count - 1), 2); $y_step = round((400 - (20 + 20)) / ($y_count - 1), 2); $x_count_left = 0; for ($i = 0; $x1[$i] < 0; $i++) { $x_count_left = $i + 1; } $y_count_down = 0; for ($i = 0; $y1[$i] < 0; $i++) { $y_count_down = $i + 1; } $minX = $x_step * $x_count_left; $minY = $y_step * $y_count_down; if (min($y1) < -0.01) { $minY = round(abs(min($y1) / $y_len) * 360.0, 2); } else { $minY = 0; } $string_x_start = round(min($x1), 2); $string_x_end = round(max($x1), 2); $string_y_start = round(min($y1), 2); $string_y_end = round(max($y1), 2); draw_axises(500, 400); draw_function($y1, $x_step, $x_count, $red); ImagePNG($im); imagedestroy($im);