Szerző Téma: Függvényábrázoló  (Megtekintve 1280 alkalommal)

0 Felhasználó és 1 vendég van a témában

Nem elérhető zslevi

  • Felhasználó
  • Hozzászólások: 16
    • World of Darkness
Függvényábrázoló
« Válasz #1 Dátum: 2010. szeptember 07., 20:35:35 »
A napokban unalomból csináltam egy függvényábrázoló scriptet. Hásználatra pl.: sqrt(9-x*x) = félkör.
http://kazshu.dyndns.org/fuggveny.php
Forráskód:
Kód: PHP
  1. <?php
  2. function fuggveny($szelesseg, $magassag) {
  3.         $szam = "20";
  4.         $szamozas = $szelesseg/$szam;
  5.         $x1 = ($szelesseg/2);
  6.         $y1 = ($magassag/2);
  7.        
  8.         header("Content-type: image/png");
  9.        
  10.         $im = ImageCreate($szelesseg, $magassag);
  11.         $feher = ImageColorAllocate($im, 255, 255, 255);
  12.         $fekete = ImageColorAllocate($im, 0, 0, 0);
  13.         $vszurke = ImageColorAllocate($im, 200, 200, 200);
  14.         $kek = ImageColorAllocate($im, 0, 0, 255);
  15.         $piros = ImageColorAllocate($im, 255, 0, 0);
  16.         $zold = ImageColorAllocate($im, 0, 255, 0);
  17.        
  18.         imageline($im, 0, 0, $szelesseg, 0, $fekete);
  19.         imageline($im, 0, 0, 0, $magassag, $fekete);
  20.         imageline($im, 0, $magassag-1, $szelesseg-1, $magassag-1, $fekete);
  21.         imageline($im, $szelesseg-1, 0, $szelesseg-1, $magassag-1, $fekete);
  22.         imageline($im, $x1, 0, $x1, $magassag, $fekete);
  23.         imageline($im, 0, $y1, $szelesseg, $y1, $fekete);
  24.         imagestring($im, 2, 5, 5, "(c) ZsLevi @ 2010", $piros);
  25.         imagestring($im, 2, 5, 15, "http://kazshu.dyndns.org", $piros);
  26.         $a="";
  27.         for($a=0; $a<$szam+1; $a+=1){
  28.                 imageline($im, $a*$szamozas, $y1, $a*$szamozas, $y1+5, $fekete);
  29.                 imagestring($im, 2, ($a*$szamozas)-2, $y1+5, $a-($szam/2), $fekete);
  30.                 imageline($im, $x1, $a*$szamozas, $x1+5, $a*$szamozas, $fekete);
  31.                 imagestring($im, 2, $x1+7, ($a*$szamozas)-7, -($a-($szam/2)), $fekete);
  32.         }
  33.        
  34.         for($x=-($szam/2);$x<($szam/2)+1;$x+=0.0001){
  35.                 $post_y=$_POST['y'];
  36.                 $post_y=str_replace('x','$x',$post_y);
  37.                 eval( '$y = '.$post_y.';' );
  38.                 imageline($im, $x*$szamozas+$x1, -($y)*$szamozas+$y1, $x*$szamozas+$x1, -($y)*$szamozas+$y1, $kek);
  39.         }
  40.        
  41.         imagepng($im);
  42.         imagedestroy($im);
  43. }
  44. if(isset($_POST['y'])){
  45.         fuggveny(800,800);
  46. } else {
  47. ?>
  48. &Iacute;rd be a f&uuml;ggv&eacute;nyt:
  49. <form id="form1" name="form1" method="post" action="">
  50.   <input type="text" name="y" id="y" />
  51.   <input name="submit" type="submit" value="Mutasd!" />
  52. </form>&copy; Zsoltai Levente @ 2010
  53. <?
  54. }
  55. ?>
Haladó PHP programozó