用c++语言 如何画出以e为底的指数函数曲线 如函数y=exp(-x/200)我把x以像素为单位画出的图不是一条连续的曲线,因为得到的y值全是int型的,画出的是一段段直线,请问哪位大侠可以给出一个解决
来源:学生作业帮助网 编辑:作业帮 时间:2024/05/13 18:29:50
用c++语言 如何画出以e为底的指数函数曲线 如函数y=exp(-x/200)我把x以像素为单位画出的图不是一条连续的曲线,因为得到的y值全是int型的,画出的是一段段直线,请问哪位大侠可以给出一个解决
用c++语言 如何画出以e为底的指数函数曲线 如函数y=exp(-x/200)
我把x以像素为单位画出的图不是一条连续的曲线,因为得到的y值全是int型的,画出的是一段段直线,请问哪位大侠可以给出一个解决方案?
用c++语言 如何画出以e为底的指数函数曲线 如函数y=exp(-x/200)我把x以像素为单位画出的图不是一条连续的曲线,因为得到的y值全是int型的,画出的是一段段直线,请问哪位大侠可以给出一个解决
void drawExp(HWND hWnd){
static RECT rc; if(rc.right==0) GetClientRect(hWnd,&rc);
static float w=rc.right, h=rc.bottom, xo=w/2-w/4, yo=h/2+h/4;
HDC hdc=GetDC(hWnd);
SetGraphicsMode(hdc,GM_ADVANCED);
SetMapMode(hdc, MM_LOENGLISH);
SetViewportOrgEx(hdc,xo,yo,0L);
MoveToEx(hdc,-w/2 +140,0,0L); LineTo(hdc,w, 0); MoveToEx(hdc,0,-h/2+80,0L); LineTo(hdc,0,h/2+ 80);
float r=100;
float x=-w/2 +160, y=0; xo=x; yo=exp(-x/200)*r; MoveToEx(hdc,xo,yo,0L);
float dx=1;
do{
x+=dx; y=exp(-x/200)*r;
LineTo(hdc,x,y);
xo=x, yo=y; }while(x<w);
ReleaseDC(hWnd,hdc); }