1. PHP / Говнокод #17125

    +155

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    <?php
     
    // Default: http://<host>/<dir>/<filename>.php?iter1=64&width=600&height=400&coef=32
     
    function BN($n, $l, $r) {return $n>$l && $n<=$r;}
    function SQR($a) {return $a*$a;}
     
    define("COEF",	$_GET["coef"]);
    $iter1	=	$_GET["iter1"];
    $width	=	$_GET["width"];
    $height	=	$_GET["height"];
     
    header("Content-type: image/png");
     
    $img	=	imagecreatetruecolor($width, $height);
    $iter2	=	0.01/($width/300);
    $yy	=	-1;
     
    for ($y = -1; $y < 1; $y = $y + $iter2) {
    	$yy++; $xx=-1;
    	for($x = -2; $x < 1; $x = $x + $iter2) {
    		$xx++;
    		$Cx	=	$x;
    		$Cy	=	$y;
    		$X	=	$x;
    		$Y	=	$y;
    		$ix	=	0;
    		$iy	=	0;
    		$n	=	0;
    		while ((SQR($ix) + SQR($iy) < 4) and ($n < $iter1)) {
    			$ix 	=	SQR($X) - SQR($Y) + $Cx;
    			$iy 	=	2*$X*$Y + $Cy;
    			$X	=	$ix;
    			$Y	=	$iy;
    			$n++;
    		}
    		if(BN($n,0,7)) $col = imagecolorallocate($img,COEF*$n,0,0);
    		elseif(BN($n,7,14)) $col = imagecolorallocate($img,COEF*$n,COEF*$n,0);
    		elseif(BN($n,14,21))$col = imagecolorallocate($img,COEF*$n,0,COEF*$n);
    		elseif(BN($n,21,28))$col = imagecolorallocate($img,0,COEF*$n,0);
    		elseif(BN($n,28,35))$col = imagecolorallocate($img,COEF*$n,COEF*$n,0);
    		elseif(BN($n,35,42))$col = imagecolorallocate($img,0,COEF*$n,COEF*$n);
    		elseif(BN($n,42,49))$col = imagecolorallocate($img,0,0,COEF*$n);
    		elseif(BN($n,49,56))$col = imagecolorallocate($img,COEF*$n,0,COEF*$n);
    		elseif(BN($n,56,64))$col = imagecolorallocate($img,0,COEF*$n,COEF*$n);
    		imagesetpixel($img, $xx, $yy, $col);
    	}
    }
    imagepng($img);
    imagedestroy($img);
    ?>

    https://ru.wikipedia.org/wiki/%D0%9C%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1% 82%D0%B2%D0%BE_%D0%9C%D0%B0%D0%BD%D0%B4% D0%B5%D0%BB%D1%8C%D0%B1%D1%80%D0%BE%D1%8 2%D0%B0

    Запостил: gost, 17 Ноября 2014

    Комментарии (19) RSS

    • Рабочий линк: http://ru.wikipedia.org/wiki/Множество_Мандельброта
      Ответить
      • Нечестно! Там другой код.

        Кстати, из истории правок:
        18:35, 19 октября 2014‎ 79.132.119.122 (обсуждение)‎ . . (30 638 байтов) (0)‎ . . (→‎Построение множества: Изменил знаки в конце на противоположные. Отрисовывалось не правильно. Зеркально по вертикали.)

        20:06, 26 августа 2014‎ 5.18.64.44 (обсуждение)‎ . . (30 638 байтов) (-72)‎ . . (Удалены подключения ненужных пространств имен в коде C#.)
        Ответить
        • > Зеркально по вертикали
          Но... оно же симметрично по вертикали.
          Ответить
          • >> Зеркально по вертикали
            > Но... оно же симметрично по вертикали.
            Выходит, "зеркально по вертикали" - это не "отражено относительно вертикальной оси", а "отражено согласно направлению вертикально стоящей стрелки,т.е. относительно подпространства, перпендикулярного вертикальной оси"?
            Или это просто эмоциональный говнотермин, к математике не относящийся?
            Ответить
            • >отражено согласно направлению вертикально стоящей стрелки,т.е. относительно подпространства, перпендикулярного вертикальной оси
              О_о
              Ответить
              • Для меня толкование "отражено относительно вертикальной оси" было понятным и естественным, но я прочитал комментарий Борманда и подумал: "Что за фигня?" Но Борманд не может просто так написать фигни. Оказалось, что выражение и правда можно истолковать по-иному, но выразить это менее многословно не получилось.

                А вообще, толкование Борманда естественнее. Скорее всего, ребёнок истолкует так же. А вот Тарас, как мне кажется, выберет другой вариант.
                Ответить
                • А, врубился вроде: http://i.imgur.com/xks5qgk.png
                  Ответить
                  • http://i.imgur.com/ZLLXZfU.png - демонстрация всех описанных вариантов и некоторых их свойств
                    Ответить
                • Так всё-таки, какое толкование правильное?
                  Ответить
                  • Отразить по вертикали в n-мерном пространстве означает отразить относительно плоского (n-1)-мерного многообразия, нормального по отношению к вертикали.

                    Короче, в 3D отражение по вертикали = отражение относительно плоскости, перпендикулярной к вертикали.
                    Ответить
                    • Это послужит для меня уроком (математики).
                      Сколько ж я страдал из-за этого в mspaint и программе просмотра изображений и факсов.
                      Ответить
      • Упс, забыл, что русские буквы кодируются.
        Ответить
    • Вореция на тему: http://bormand.github.io/julia-webgl/
      Ответить

    Добавить комментарий