win32畫正弦曲線

2021-07-24 10:50:16 字數 1444 閱讀 4911

#include #include // - 數學函式

#include // - c++格式化字串需要

using namespace std;

lresult callback mywndproc(hwnd hwnd,uint umsg,wparam wparam,lparam lparam);

int winapi winmain(hinstance hinstacne,hinstance hpreview,pstr cmdline,int cmdshow)

hwnd hwnd = createwindow(text("bear"),text("小熊"), ws_sysmenu | ws_maximizebox | ws_minimizebox | ws_sizebox,

100,100,500,600,null,null,hinstacne,null);

showwindow(hwnd,cmdshow);

updatewindow(hwnd);

msg msg;

while(getmessage(&msg,null,0,0))

return msg.wparam;

}lresult callback mywndproc(hwnd hwnd,uint umsg,wparam wparam,lparam lparam)

} // - 垂直刻度線和刻度值

for (float i=-cyclient;i<=cyclient;i++)

}endpaint(hwnd,&ps);

return 0;

case wm_lbuttondown:

hdc = getdc(hwnd);// - 獲取視窗繪製的dc

// - 因為這個dc和wm_paint訊息的dc不是同乙個dc,所以還要設定原點座標和座標軸方向

setviewportorgex(hdc,cxclient/2,cyclient/2,null);//設定座標原點

setmapmode(hdc,mm_loenglish);//設定對映模式,讓座標正負方向與數學的xy軸一致

movetoex(hdc,-cxclient/2,0,null);// - 移動原點到x軸最左邊

textout(hdc,-150,130,"三角函式sin曲線圖",strlen("三角函式sin曲線圖"));// - 輸出函式說明資訊

// - 計算座標值和繪圖

for (double x=-cxclient/2;x<=cxclient/2;x+=0.01)

releasedc(hwnd,hdc);

return 0;

case wm_destroy:

postquitmessage(0);

return 0;

} return defwindowproc(hwnd,umsg,wparam,lparam);

}

正弦曲線生成

下圖為乙個正弦曲線週期 下圖為乙個正弦曲線週期的1 4部分 整形數的連續位乘除均採用左移和右移,微控制器可以單週期完成。如 x 1 x 2 x 2 x 4 x 3 x 8 uint16 t d bits 16 陣列的位寬 uint16 t d bits mark 0x01 brief basecur...

linux CPU 畫正弦曲線 程式設計之美

搗鼓了一下,畫成了這個熊樣子,算是蒙混過關了吧。linux下面用gettimeofday函式獲得系統精確時間,如果系統支援,可以精確到us。interval是取樣間隔,算出第i個間隔裡面對應cpu繁忙 busy 的時間和空閒 idle 的時間,也就是 busy i cpu應該的使用率 interva...

Lua繪製正弦曲線

夜半突來興致,看了下wxlua的圖形處理部分,感覺挺好玩,就試著寫了一段畫正弦曲線的 為了實現動畫效果特意新增了延遲效果,感覺延遲的效率好低,畫的時候視窗拖都拖不動。效果圖 部分 點和線實現正弦曲線 wxlua支援 aurhor chuwp date 2010.10.30 require wx lo...