+ -
当前位置:首页 → 问答吧 → 初学阶段,画个正弦函数图像(还有一些问题未解决)

初学阶段,画个正弦函数图像(还有一些问题未解决)

时间:2007-01-07

来源:互联网

<?php
$w=970;
$h=600;//定义画布长宽
$im=imagecreate($w,$h);
$bgcolor=imagecolorallocate($im,0,0,0);//定义背景颜色
$xcolor=imagecolorallocate($im,255,255,255);//定义坐标轴的颜色
$yarray=imageline($im,10,10,20,0,$xcolor);
$yarray1=imageline($im,20,0,30,10,$xcolor);//y轴方向
$ybiaozhi=imagestring($im,5,25,15,"Y",$xcolor);//y
$xarray=imageline($im,940,290,950,300,$xcolor);
$xarray1=imageline($im,940,310,950,300,$xcolor);//x轴方向
$xbiaozhi=imagestring($im,5,935,310,"X",$xcolor);//x
$x=imageline($im,0,300,950,300,$xcolor);//X轴
$y=imageline($im,20,0,20,600,$xcolor);//Y轴
imagestring($im,2,10,285,0,$xcolor);//标注原点
$yellow=imagecolorallocate($im,244,244,0);//曲线的颜色

//开始绘制曲线
for($x=20,$n=1;$x<=900;$x=$x+0.01,$n++){

$y=sin((20-$x)*0.02)*100+300;/*根据实际情况确定该函数的振幅,相位,周期 问题:按照三角函数的坐标轴平移的规律,函数表达式为: $y=sin(($x-20)*0.02)*100+300,图像显示的是移动了半个周期的图像*/
//$ytg=tan((20-$x)*0.02)*100+300;

if($y==400||$y==300||$y==200){/*问题:该三角函数的最值是400,200,要求在出现最值以及$y=300的时候开始标记刻度值和刻度,但是只能出现一个*/
  
// $xnew=20-50*asin(($y-300)/100);
  $xvalue=imagestring($im,2,$x,302,$n,$xcolor);//刻度对应的值
  $xke=imageline($im,$x,0,$x,310,$yellow);//x刻度
  
}

//imagesetpixel($im,$x,$ytg,$xcolor);
imagesetpixel($im,$x,$y,$yellow);//

}
header("Content-type:image/jpeg");
imagejpeg($im);
imagedestroy($im);
?>

[ 本帖最后由 dongxin1390008 于 2007-1-7 10:29 编辑 ]

作者: dongxin1390008   发布时间: 2007-01-07

作者: �����i�i   发布时间: 2007-01-07