C语言利用putpixel绘制正弦函数

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图象。

  • 3
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值