putpixel画点函数: putpixel (int x, int y, int color), (x,y)是坐标,color是像素的颜色。
问题:绘制sin图象变换。
分析:对于前半个周期,图象左右对称,通过计算坐标画点;后半个周期同理。
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<graphics.h>
int main()
{
initgraph(640,480);
/*sin函数曲线*/
int i,j,n;
for(j=200;j>=100;j--)/用100-200代替sin值的0-1,相当于放大
{
i=200+20*asin(double(200-j)/100);//预先右移200(只是为了位置清晰)
n=i;
putpixel(i,j,RED);//color可根据RGB自行选择
putpixel(400+40*asin(1)-i,j,RED);//对称画点,坐标计算即可得到
}
for(j=200;j<=300;j++)
{
i=20*asin(1)+n+20*asin(double(j-200)/100);
putpixel(i,j,RED);
putpixel(2*n+80*asin(1)-i,j,RED);
}
getch();
closegraph();
return 0;
}在这里插入代码片
运行:
可根据sin周期自行调整,这里只是大致画出一个sin图象。