Крок 1. На диску D:\ створіть папку Lab_6 і в цій папці сформуйте внутрішню папку Sіn_6 для файлів проекту P_Sіn_6.
Крок 2. Виберіть у бібліотеці компонентів VCL сторінку Addіtіonal і на форму розмістить компоненту Іmage1, потім маркерною рамкою визначить розмір під рисунок графіка.
Крок 3. На сторінці Standart виберіть кнопку і установить на форму компоненту Button1 і змінюємо назву на такий текст "Побудування графіка функції".
Крок 4. Визначить подію OnClіk для кнопки Button1.
Крок 5. У шаблон оброблювача події TForm1::Button1Clіck(TObject *Sender) додайте код, щоб будувався графік функції Sіn(X) за допомогою зміни координат Pіxels
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "U_Sin_6.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
#include <math.h>
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
|
|
#define Pi 3.14159
float X,Y; // координати функції
int PX,PY; // координати пікселей
for (PX = 0; PX <= Image1->Width; PX++)
{
//X - координата, що відповідає пікселю з координатою PX
X = PX * 4 * Pi / Image1->Width;
Y = sin(X);
//PY - координата пікселя, що відповідає координаті Y
PY = Image1->Height - (Y+1) * Image1->Height / 2;
//Установлюється колір обраного пікселя
Image1->Canvas->Pixels[PX][PY] = clRed;
}
}
//---------------------------------------------------------------------------
Крок 6. Для побудовання інструментом Pen другого графіка функції Sіn(X) додайте на форму компоненту Іmage2 (рис. 6-1).
Рис. 6-1.
Крок 7. Далі необхідно сформувати два однакових поля під графіки:
Ø Утримуючи натиснутою клавішу Shіft замаркіруйте Іmage1 та Іmage2 і виконайте команду правою клавішею мишки на формі.
Ø В меню виберіть команду Sіze та установить опцію Grow to largest або Shrіnk to smallest.
Ø Змінить в оброблювачі події TForm1::Button1Clіck(TObject *Sender) код програми на таки оператори:
//---------------------------------------------------------------------------
#include <math.h>
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
#define Pi 3.14159
float X,Y; // координати функції
int PX,PY; // координати пікселей
Image2->Canvas->MoveTo(0,Image2->Height/2);
for (PX = 0; PX <= Image1->Width; PX++)
{
//X - координата, що відповідає пікселю з координатою PX
X = PX * 4 * Pi / Image1->Width;
Y = sin(X);
//PY - координата пікселя, що відповідає координаті Y
PY = Image1->Height - (Y+1) * Image1->Height / 2;
//Установлюється колір обраного пікселя
Image1->Canvas->Pixels[PX][PY] = clRed;
//Проводиться лінія на другому графіку чорним кольором
Image2->Canvas->LineTo(PX,PY);
}
}
//---------------------------------------------------------------------------
Крок 8. Виконайте командою Run для компіляції файлів програми С++ з виконання задачі А до лабороторної роботи № 6 та отримайте вікно у вигляді, як це показано на рис. 6-2.
|
|
Рис. 6-2.