Warning: include() [function.include]: URL file-access is disabled in the server configuration in /home/virtwww/w_beloshenko-org-ua_e2c5fc46/http/topp.php on line 8

Warning: include(http://www.beloshenko.org.ua/panel.html) [function.include]: failed to open stream: no suitable wrapper could be found in /home/virtwww/w_beloshenko-org-ua_e2c5fc46/http/topp.php on line 8

Warning: include() [function.include]: Failed opening 'http://www.beloshenko.org.ua/panel.html' for inclusion (include_path='.:') in /home/virtwww/w_beloshenko-org-ua_e2c5fc46/http/topp.php on line 8






Grafic.

#include "math.h" // математичні функції

#include "afxwin.h"

class CMainWnd : public CFrameWnd
{
public:
  CMainWnd();
  afx_msg void OnPaint();
private:
  DECLARE_MESSAGE_MAP()
};

BEGIN_MESSAGE_MAP(CMainWnd,CFrameWnd)
  ON_WM_PAINT()
END_MESSAGE_MAP()

CMainWnd::CMainWnd()
{
 Create(NULL,"grafic",WS_OVERLAPPEDWINDOW,rectDefault,
  NULL,NULL);
}

float F_(float x)
{
 return sin(20*x-10*x*x+x*x*x)*exp(-x+x*x-x*x*x);
};

void CMainWnd::OnPaint()
{
 CPaintDC dc(this);

 // Побудова графіку

 // Область перегляду
 int vp_4_x1;
 int vp_4_x2;
 int vp_4_y1;
 int vp_4_y2;

 // Задаємо область перегляду
 vp_4_x1=50;
 vp_4_x2=640;
 vp_4_y1=100;
 vp_4_y2=240;

 float Ksi;   // робоча змінна
 float x_St;
 float x_End;
 float dx;

 x_St=0;   // початок
 x_End=1;  // кінець
 dx=0.01;  // крок

 float F_min; // мінімум функції
 float F_max; // максимум функції

 int x,y; // Екранні координати точки 

 // Шукаємо максимум і мінімум функції
 Ksi=x_St;
 F_min=F_(Ksi);
 F_max=F_(Ksi);
 while(Ksi<x_End)
 {
  if(F_min>F_(Ksi))
  {
   F_min=F_(Ksi);
  };
  if(F_max<F_(Ksi))
  {
   F_max=F_(Ksi);
  };
  Ksi+=dx;
 };

 // Робочий цикл
 Ksi=x_St;
 
 x=vp_4_x1+(vp_4_x2-vp_4_x1)*(Ksi-x_St)/(x_End-x_St);
 y=vp_4_y2-(vp_4_y2-vp_4_y1)*(F_(Ksi)-F_min)/(F_max-F_min);
 
 dc.MoveTo(x,y); // Переносимо точку старту
 
 while(Ksi<x_End)
 {
  x=vp_4_x1+(vp_4_x2-vp_4_x1)*(Ksi-x_St)/(x_End-x_St);
  y=vp_4_y2-(vp_4_y2-vp_4_y1)*(F_(Ksi)-F_min)/(F_max-F_min);

  // Лінія
  dc.LineTo(x,y);

  // Крапка
  dc.SetPixel(x,y,RGB(200,0,0)); 
  dc.SetPixel(x+1,y,RGB(200,0,0));
  dc.SetPixel(x-1,y,RGB(200,0,0));
  dc.SetPixel(x,y+1,RGB(200,0,0));
  dc.SetPixel(x,y-1,RGB(200,0,0));
  
  Ksi+=dx;
 }; 

 // Зображуємо область перегляду
 dc.MoveTo(vp_4_x1,vp_4_y1);
 dc.LineTo(vp_4_x2,vp_4_y1);
 dc.LineTo(vp_4_x2,vp_4_y2);
 dc.LineTo(vp_4_x1,vp_4_y2);
 dc.LineTo(vp_4_x1,vp_4_y1);
}

class CGraficApp : public CWinApp
{
public:
 CGraficApp();
 virtual BOOL InitInstance();
};

CGraficApp::CGraficApp()
{}

BOOL CGraficApp::InitInstance()
{
 m_pMainWnd=new CMainWnd();
 ASSERT(m_pMainWnd);
 m_pMainWnd->ShowWindow(SW_SHOW);
 m_pMainWnd->UpdateWindow();
 return TRUE; 
};

CGraficApp GraficApp;







Click Here for Free Traffic!