C++畫正弦線實例代碼
更新時間:2014年10月13日 09:01:30 投稿:shichen2014
這篇文章主要介紹了C++畫正弦線實例代碼,是C++圖形操作程序設(shè)計中比較常見的一個技巧,需要的朋友可以參考下
本文實例講述了C++畫正弦線的實現(xiàn)代碼,分享給大家供大家參考。
主要功能代碼如下:
復(fù)制代碼 代碼如下:
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ù)學(xué)坐標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ù)學(xué)坐標Y軸向上,而系統(tǒng)中坐標Y軸向下,+cyClient/2是將坐標原點移到左上角
}
::Polyline(hdc, pt, SEGMENT); //繪圖函數(shù)
EndPaint(hWnd, &ps);
break;
希望本文所述對大家的C++程序設(shè)計有所幫助。
您可能感興趣的文章:
相關(guān)文章
C語言連續(xù)生成隨機數(shù)的實現(xiàn)方法
這篇文章主要介紹了C語言連續(xù)生成隨機數(shù)的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01
C++無法從“const char[ ]”轉(zhuǎn)換為“char *”問題及解決
這篇文章主要介紹了C++無法從“const char[ ]”轉(zhuǎn)換為“char *”問題及解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-04-04
C語言實現(xiàn)五子棋對戰(zhàn)系統(tǒng)
這篇文章主要為大家詳細介紹了C語言實現(xiàn)五子棋對戰(zhàn)系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-05-05

