37827

Організація обробки графічної інформації

Лабораторная работа

Информатика, кибернетика и программирование

При необхідності за допомогою убудованого редактора EditingChrt компонентові TChrt передаються дані про товщину стиль і колір ліній параметрах шрифту підписів кроках розмітки координатної сітки й інші настроювання. Для уведення вихідних даних використовуються вікна TEdit. З'явиться вікно редагування EditingChrt див. Натискаючи різні кнопки меню познайомитися з іншими можливостями EditingChrt.

Украинкский

2013-09-25

57.5 KB

6 чел.

ЛАБОРАТОРНА РОБОТА №7

Тема роботи: Організація обробки графічної інформації.

Мета роботи: вивчити властивості компонента відображення графічної інформації TChart. Створити програму з використанням TСhart.

Рекомендована література:

  1.  Бобровский С. И. Delphi 7. Учебный курс. - С.Пб. Питер, 2004. – 735 с.
  2.  Я. М. Глинский Інформатика. Алгоритмізація і програмування. Книжка 1. -  Львів, 2003. – 198 с.
  3.  Симонович С.В., Евсеев Г.А. Занимательное программирование:Delphi. – М.: АСТ-Пресс Книга; Издательство «Развитие», 2003. – 368 с.
  4.  Кен Хендерсон. Руководство Разработчика баз данных в Delphi 2. – К. Диалектика, 1997, - 543 с.

Контрольні запитання:

  1.  Які оператори мови Pascal описують процеси з розгалуженням?
  2.  В яких випадках доцільно викоритовувати оператор case?
  3.  Що називають кнопками-перемикачами?
  4.  Які види кнопок-перемикачів Ви знаєте?
  5.  За що відповдає компонент TcheckBox?
  6.  За що відповдає компонент TRadiogroup?
  7.  Що називають оброблювачем подій та як його створюють?

Теоретичні відомості.

Компонент Tchart.

Звичайно результати розрахунків представляються у виді графіків і діаграм. Система DELPHI має могутній пакет стандартних програм висновку на екран і редагування графічної інформації, що реалізується за допомогою візуально відображуваного на формі компонента TСhart (рис.1).

Рис.1

Побудова графіка (діаграми) виконується після обчислення таблиці значень функції y=f(x) на інтервалі [Xmin, Xmax] з даним кроком. Отримана таблиця передається в спеціальний двовимірний масив Seriesk (k-номер графіка) компонента TChart за допомогою методу Add. Компонент TChart здійснює всю роботу по відображенню графіків, переданих в об'єкт Seriesk: будує і розмічає осі, рисує координатну сітку, підписує назва осей і самого графіка, відображає передану таблицю у виді всіляких графіків або діаграм. При необхідності, за допомогою убудованого редактора EditingChart компонентові TChart передаються дані про товщину, стиль і колір ліній, параметрах шрифту підписів, кроках розмітки координатної сітки й інші настроювання. У процесі роботи програми зміна параметрів можливо через звертання до відповідних властивостей компонента TChart. Так, наприклад, властивість TChart.BottomAxis містить значення максимальної межі нижньої осі графіка і при його зміні під час роботи автоматично змінюється зображення графіка (див. нижчеподану програму).

Приклад написання програми.

Завдання: скласти програму, що відображає графіки функцій sin(x) і cos(x) на інтервалі [Xmin..Xmax]. Передбачити можливість зміни розмітки координатних осей, а також кроку побудови таблиці.

Настроювання форми

Панель діалогу програми організується у виді, представленому на рис.6.1.

Для уведення вихідних даних використовуються вікна TEdit. Компонент TChart вводиться у форму шляхом натискання піктограми в меню компонентів Standard.

Робота з компонентом TChart

Рис.2

Для зміни параметрів компонента TChart необхідно двічі клацнути по ньому мишею у вікні форми. З'явиться вікно редагування EditingChart (див. рис.2). Для створення нового об'єкта Series1 клацнути по кнопці Add на сторінці Sеries. У діалоговому вікні, яке з’явилося, TeeChartGalleri вибрати піктограму з написом Line (графік виводиться у виді ліній). Якщо немає необхідності представлення графіка в тривимірному виді, відключити  незалежний перемикач 3D. Після натискання на кнопку ОК з'явиться нова серія з назву Seriesl. Для зміни назви натиснути кнопку Title.

У однорядковому редакторі, що зявилося, ображуваної функції "sin(x)". Аналогічним образом створити об'єкт Series2 для функції cos(x).

Для зміни напису над графіком на сторінці Titles у багаторядковому набрати: “Графіки функцій".

Для розмітки осей вибрати сторінку Axis і навчитися встановлювати параметри настроювання осей. Натискаючи різні кнопки меню, познайомитися з іншими можливостями EditingChart.

Написання програми обробки події створення форми.

У даному місці програми встановлюються початкові межі і крок розмітки координатних осей. Коли властивість Chart1.BottomAxis Automatic має значення False, автоматична установка параметрів осей не працює.

Написання програм обробки подій натискання на кнопки.

Процедура TForm1.Button1Click обробляє натискання кнопки "Установити осі". Процедура TForm1.Bttnon2CIick обробляє натискання кнопки "Побудувати графік". Для додавання координат крапок (X, Y) з таблиці значень у двовимірний масив об'єкта Seriesk використовується процедура

Series1.AddXY(Const AXValue, AYValue: Double; Const AXLabel: String; AColor: TColor): Longint;

де AXValue, AYValue - координати крапки по осях X і Y;

AXLabel може приймати значення ‘’;

Acolor задає колір ліній (якщо дорівнює clTeeColor, те приймається колір, визначений при проектуванні форми).

Текст програми має вигляд:

Unit Unit1;

Interface

Uses

 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, TeeProcs, TeEngine, Chart, Series;

type

 TForm1 = class(TForm)

   Chart1: TChart;

   Button1: TButton;

   Button2: TButton;

   Edit1: TEdit;

   Edit2: TEdit;

   Edit3: TEdit;

   Edit4: TEdit;

   Edit5: TEdit;

   Edit6: TEdit;

   Edit7: TEdit;

   Label1: TLabel;

   Label2: TLabel;

   Label3: TLabel;

   Label4: TLabel;

   Label5: TLabel;

   Label6: TLabel;

   Label7: TLabel;

   Series1: TLineSeries;

   Series2: TLineSeries;

   procedure FormCreate(Sender: TObject);

   procedure Button1Click(Sender: TObject);

   procedure Button2Click(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Form1: TForm1;

 Xmin, Xmax, Ymin, Ymax, Hx, Hy, h : extended;

Implementation

{$R *.DFM}

Procedure TForm1.FormCreate(Sender: TObject);

begin

 Xmin := 0;

 Xmax := 2 * Pi;

 Ymin := -1;

 Ymax := 1;

 Hx   := pi/2;

 Hy   := 0.5;

 h    := 0.01;

 Edit1.Text := FloatToStr(Xmin);

 Edit2.Text := FloatToStr(Xmax);

 Edit3.Text := FloatToStr(Ymin);

 Edit4.Text := FloatToStr(Ymin);

 Edit5.Text := FloatToStr(Hx);

 Edit6.Text := FloatToStr(Hy);

 Edit7.Text := FloatToStr(h);

 Chart1.BottomAxis.Automatic := False;

 Chart1.BottomAxis.Minimum := Xmin;

 Chart1.BottomAxis.Maximum := Xmax;

 Chart1.LeftAxis.Automatic := False;

 Chart1.LeftAxis.Minimum   := Ymin;

 Chart1.LeftAxis.Maximum   := Ymax;

 Chart1.BottomAxis.Increment := Hx;

 Chart1.LeftAxis.Increment   := Hy;

end;

Procedure TForm1.Button1Click(Sender: TObject);

var

 x, y1, y2 : extended;

begin

 Series1.Clear;

 Series2.Clear;

 Xmin := StrToFloat(Edit1.Text);

 Xmax := StrToFloat(Edit2.Text);

 h := StrToFloat(Edit7.Text);

 x := Xmin;

 Repeat

   y1 := sin(x);

   Series1.AddXY(x, y1, '', clTeeColor);

   y2 := cos(x);

   Series2.AddXY(x, y2, '', clTeeColor);

   x := x + h;

 Until (x > Xmax);

end;

Procedure TForm1.Button2Click(Sender: TObject);

begin

 Halt //Exit

end;

end.

Хід виконання роботи.

Побудуйте графіки функцій для відповідних варіантів з роботи 3. Таблицю даних одержати шляхом зміни параметра X із кроком h. Висновок вихідних даних організувати через вікна TЕdit. Самостійно вибрати зручні параметри настроювання.


 

А также другие работы, которые могут Вас заинтересовать

59678. Подорож до країни Ввічливості та доброти 35.5 KB
  Основна частина Щоб потрапити в цю країну нам потрібно зробити ряд конкретних правил а саме: Ми даруєм вам ласкаво Цілу низку добрих правил Всі ці правила прості Допоможуть у житті Ліні ти не потурай...
59679. Світова книга прав дитини (урок): гра, інсценізація, робота в парах, тести 60 KB
  Допомогти запамятати основні поняття розвивати память мову вміння класифікувати й узагальнювати; довести учням що в основі документів про права людини лежать головні потреби всіх людей.
59680. Сценарій святкування 16-ої річниці Незалежності України «Україно, мій духмяний цвіт, через терни йшла до волі сотні літ» 37.5 KB
  Хор на сцені –виконує гімн вважати відкритими Ведуча: Сьогодні найвеличніше і без перебільшення найзначніше свято українства День Незалежності України. Хор сходить Ведуча: До вітального слова запрошується голова сільської ради пан Любомир Білейчук.
59681. Наша мова калинова. Сценарій 45.5 KB
  Обладнання: розгортка Наша мова калинова вислови про мову записи пісень про мову у виконанні Раїси Кириченко Таїсії Повалій та Павла Зіброва. Мова жила у серцях і душах волелюбного українського народу у його піснях думках і справах.
59682. Сценарій, конспект виховного заходу “З природою живи у дружбі, то буде вона тобі у службі” 124.5 KB
  Який кущ є символом українського народу і водночас лікарською рослиною Калина 2 Яке дереволікар дало назву літньому місяцеві Липа 3 Яке дерево застосовується в народній медицині повністю Сосна 4 Яке дерево найбільш оспіване Т.Шевченком є символом України...
59683. Шкідливі звички чи життя в своє задоволення (диспут) 42 KB
  Паління тютюну погіршує резерви дихальної системи яку використовують під час бігу плавання. Коротка довідка: найпоширенішою пристрасть до тютюну є в азіатських країнах де люди слабко обізнані про вплив нікотину.
59684. Сценарій. Святкування Різдва 49 KB
  Добрий день, дорогі друзі! От і наближається Новий рік, Різдво. Кожна родина очікує на ці свята. Тому що ці світлі і радісні дні приносять добро і спокій в наші душі. В ці дні відбуваються різні дива. І сьогодні ми спробуємо створити диво.
59685. Тиждень Дружби 44 KB
  КТС Тиждень Дружби. Разом з учнями свого класу зробіть гаряче серце вашого колективу та зєднайте імена в ланцюжок дружби. А ще ми пропонуємо вам заспівати з нами пісень та виготовити ромашку дружби школярів.
59686. Свято 8 Березня. Свято весни 36 KB
  Готові Хто найбільше із усіх Любить нас дітей малих Хто про нас найбільше дбає Хто нас щиро доглядає Хто скажи маленький брате Мати Хто готує їсти нам Хто бува не їсть і сам Хто розчісує вшиває Хто Ви можете сказати Мати...