LonghornPHP 2026

Voting

: one minus one?
(Example: nine)

The Note You're Voting On

huirong dot jin at gmail dot com
18 years ago
An example to draw Amplitude Modulation curve: y = c * sin (x/a) * sin (x/b) . You can easily modify the codes to create your own oscilloscope application!

<?php
header ("Content-type: image/png");
$myImage = @imagecreatetruecolor(640, 480)
      or die("Cannot Initialize new GD image stream");
$text_color = imagecolorallocate($myImage, 255, 255, 224);
$poly_color = imagecolorallocate($myImage, 124, 120, 224);

//calculate x-value and y-value point by point
$points = array();
for ($i=1; $i<640; $i=$i+1)
{
    //define curve's function
    $x = $i; //define x-value, which is $i itself 
    $y = 150*sin($x/80)*sin($x/5);//define y-value
    
    //append a point's x-value and y-value
    $points[] = $x; //x-value
    $points[] = 240-$y;  //y-value
}

//count points
$totalPoints = count($points)/2;

//drawing title
$title = "Final Plot ($totalPoints points)";
imagestring($myImage, 3, 5, 5,  $title, $text_color);

/** drawing points one by one, notice if there 
 * are 10 points, we need to draw 9 lines: 
 * 1) point 0 to 1; 
 * 2) point 1 to 2;
 * ...
 * ...
 * 9) point 8 to 9; 
 */
for ($i=0; $i<$totalPoints-1; $i++)
{
    imageLine($myImage, $points[2*$i], $points[1+2*$i], $points[2+2*$i], $points[3+2*$i], $poly_color);    
}

//finalizing
imagepng($myImage);
imagedestroy($myImage);
?>

<< Back to user notes page

To Top