C++畫正弦線實例代碼
更新時間:2014年10月13日 09:01:30 投稿:shichen2014
這篇文章主要介紹了C++畫正弦線實例代碼,是C++圖形操作程序設計中比較常見的一個技巧,需要的朋友可以參考下
本文實例講述了C++畫正弦線的實現(xiàn)代碼,分享給大家供大家參考。
主要功能代碼如下:
復制代碼 代碼如下:
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)取反,因為數(shù)學坐標Y軸向上,而系統(tǒng)中坐標Y軸向下,+cyClient/2是將坐標原點移到左上角
}
::Polyline(hdc, pt, SEGMENT); //繪圖函數(shù)
EndPaint(hWnd, &ps);
break;
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)取反,因為數(shù)學坐標Y軸向上,而系統(tǒng)中坐標Y軸向下,+cyClient/2是將坐標原點移到左上角
}
::Polyline(hdc, pt, SEGMENT); //繪圖函數(shù)
EndPaint(hWnd, &ps);
break;
希望本文所述對大家的C++程序設計有所幫助。
您可能感興趣的文章:
相關文章
好用的C++ string Format“函數(shù)”介紹
大家好,本篇文章主要講的是好用的C++ string Format“函數(shù)”介紹,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽2021-12-12C++11 std::function和std::bind 的使用示例詳解
C++11中的std::function和std::bind是函數(shù)對象的重要組成部分,它們可以用于將函數(shù)和參數(shù)綁定在一起,形成一個可調(diào)用的對象,這篇文章主要介紹了C++11 std::function和std::bind 的使用示例詳解,需要的朋友可以參考下2023-03-03