画正弦线
代码:case WM_PAINT:
hdc = BeginPaint(hWnd, &ps);
// TODO: 在此添加任意绘图代码...
//画正玄线
#definePI 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;
for (int i=0;i<SEGMENT;i++)
{
pt.x = i * cxClient/SEGMENT;//cxClient的长度被分成SEGMENT份
pt.y =(int)((cyClient/2)*(1 - sin(2 * PI * i/SEGMENT))); //因为sin(2pi)取反,因为数学坐标Y轴向上,而系统中坐标Y轴向下,+cyClient/2是将坐标原点移到左上角
}
::Polyline(hdc, pt, SEGMENT); //绘图函数
EndPaint(hWnd, &ps);
break;
页:
[1]