看流星社区

 找回密码
 注册账号
查看: 2023|回复: 0

画正弦线

[复制链接]

该用户从未签到

发表于 2017-6-2 13:28:17 | 显示全部楼层 |阅读模式
代码:
        case WM_PAINT:
                hdc = BeginPaint(hWnd, &ps);
                // TODO: 在此添加任意绘图代码...
                //画正玄线
#define  PI 3.1415926
#define        SEGMENT 500
                int cxClient,cyClient;
                RECT rect;

                ::GetClientRect(hWnd, &rect);
                cxClient = rect.right - rect.left;
                cyClient = rect.bottom - rect.top;

                POINT        pt[SEGMENT];
                for (int i=0;i<SEGMENT;i++)
                {
                        pt[i].x = i * cxClient/SEGMENT;  //cxClient的长度被分成SEGMENT份
                        pt[i].y =  (int)((cyClient/2)*(1 - sin(2 * PI * i/SEGMENT))); //因为sin(2pi)取反,因为数学坐标Y轴向上,而系统中坐标Y轴向下,+cyClient/2是将坐标原点移到左上角
                }
                :olyline(hdc, pt, SEGMENT); //绘图函数

                EndPaint(hWnd, &amp;ps);
                break;
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-4-20 17:33

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

快速回复 返回顶部 返回列表