C++ buiider ортасындағы графика графиктік файлдардың форматтары


Программалауда кескінді қозғалысқа келтірудің тәсілдері



бет6/8
Дата16.12.2023
өлшемі0,56 Mb.
#140292
1   2   3   4   5   6   7   8
Байланысты:
Дәріс-Графика ЦОР

    Бұл бет үшін навигация:
  • Animate
Программалауда кескінді қозғалысқа келтірудің тәсілдері:

Timer компоненттерін пайдалану.

Мұнда уақытқа байланысты кескінді жылжытуға болады. Мұнда кескін алдын ала процедура түрінде анықталып алынады. Уақытқа байланысты кескіннің қозғалатын бөлігінің координаталары өзгертіледі;

Кескіннің түсін Canvas-тың түсімен сәйкестендіру.

Мұнда сурет салушы қаламның түсін өзгертіп отырады;



Animate компоненті бар.

Win32-де орналасқан. Бұл компонент Windows-тағы стандарт видеоклиптерді формада көрсету үшін қолданылады. Бұл видеоклиптердің кеңеймесі.AVI. Стандарт видеоклиптерінің Shell 32.dll кітапханасы болады.

2. Интерактивті бөлім


1-тапсырма:Төменде келтірілген программа кодын теретін болсақ, функцияның графигі қандай болып қайтарылады?

#include


#pragma hdrstop
#include
#include "Unit1.h"
#include "math.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
float f(float x)
{
float f=x*x*x;
return f;
}
void GrafSizy()
{
float x1,x2,y1,y2,x0,y0;
float x,mx,my;

int Ibik=Form1->Image1->ClientHeight;


int Iyz=Form1->Image1->Width;


float xY=Iyz/2;
float yY=10;
float cY=Ibik-10;
Form1->Image1->Canvas->MoveTo(xY,yY);
Form1->Image1->Canvas->LineTo (xY,cY);

float xX=10;


float yX=Ibik/2;
float cX=Iyz-10;
Form1->Image1->Canvas->MoveTo (xX,yX);
Form1->Image1->Canvas->LineTo (cX,yX);

x1=-10; x2=10; y1=f(x1); y2=f(x2);


mx=Iyz/(x2-x1); my=Ibik/(y2-y1);
x0=xY; y0=yX;
Form1->Image1->Canvas->MoveTo (x0,y0);

x=x1;
while (x
{
Form1->Image1->Canvas->Pixels [x0+mx*x][y0-my*f(x)]=clBlack;
x=x+0.01;
}
Form1->Image1->Canvas->TextOutA (x0,y0,'0');
Form1->Image1->Canvas->TextOutA (cX,yX,"X");
Form1->Image1->Canvas->TextOutA (xY,yY,"Y");
}
//------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)


: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
GrafSizy();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Memo1->Text= "Программа у=ехр(х) функциясының. [-5,5] аралығындағы графигін 0.01 қадаммен салып шығады";
}









Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет