История изменнения вопроса «Помогите. необходим код для построения параболы на C++»
-
Помогите. необходим код для построения параболы на C++
Необходимо построить координатную плоскость и на ней параболу.имеется квадратное уравнение. пользователь вводит в формы для ввода коэффициенты (a, b и c) при квадратном уравнении(a * x * x + b * x + c).
CClientDC MyDC(GetDlgItem (IDC_STATIC1)); CRect Rect; // объявление объекта класса CRect CWnd *pWnd = MyDC.GetWindow(); //определение указателя на окно, занимаемое элементом "Static text" pWnd->GetClientRect( &Rect ); // передаем размеры окна, занимаемое элементом "Static text" в // объект Rect MyDC.FillSolidRect( &Rect, RGB(255,255,255) ); // Рисуем закрашенный прямоугольник в элементе "Static text" int w,h,w1,h1,m_x,h2,wp,wl,hp,hl,width,step,width1,height,height1; w=Rect.Width()/2; w1=Rect.Width(); h=Rect.Height(); h1=Rect.Height()/2; MyDC.MoveTo(w,0); MyDC.LineTo(w,h); MyDC.MoveTo(0,h1); MyDC.LineTo(w1,h1); for (step=0;width<w1-30;step+=10) {width=w+step;MyDC.MoveTo(width,h1-2); MyDC.LineTo(width,h1+3); height=h1+step; MyDC.MoveTo(w-2,height); MyDC.LineTo(w+3,height); width1=w-step; MyDC.MoveTo(width1,h1-2); MyDC.LineTo(width1,h1+3); height1=h1-step; MyDC.MoveTo(w-2,height1); MyDC.LineTo(w+3,height1); }MyDC.MoveTo(w,0); MyDC.LineTo(w+3,15); MyDC.MoveTo(w,0); MyDC.LineTo(w-3,15);
MyDC.MoveTo(w1,h1); MyDC.LineTo(w1-15,h1+3); MyDC.MoveTo(w1,h1); MyDC.LineTo(w1-15,h1-3);
MyDC.TextOut( w-15, h1+10,"0"); MyDC.TextOut( w1-15, h1+5,"x"); MyDC.TextOut( w-15, 1,"y");
ma=IDCEDIT1/1000; mb=IDCEDIT2/1000; mc=IDCEDIT3/1000; UpdateData(1);
wp=w; hp=h1, wl=w; hl=h1; for (mx=0;hp>=0 && wp<=w1 && hp<=h && wp>=0;mx++) {h2=ma*mxm_x+m_bmx+10*mc; MyDC.MoveTo(wp,hp); MyDC.LineTo(wp+mx,hp-h2); wp=wp+mx; hp=hp-h2; } mx=0; for (mx=0;hl>=0 && wl>=0 && hl<=h && wl<=w1;mx--) {h2=0.5*mam_xmx+mbm_x+10mc; MyDC.MoveTo(wl,hl); MyDC.LineTo(wl+mx,hl-h2); wl=wl+m_x; hl=hl-h2; }
только вот рисует не всегда параболу почему-то.. не совсем то, что требуется... программа пишется на visual c++ 6.0. тип проекта MFC..