Лабораторні роботи з інформатики для спеціальності «Моделювання та дослідження операцій в організаційно-технічних системах»
Малюнок 12 - Зірка
Зірку викреслює процедура StarLine. яка в якості параметрів отримує координати центру зірки і полотно, на якому зірка повинна бути виведена. Спочатку обчислюються координати кінців і западин зірки, які записуються в масив р. Потім цей масив передається в якості параметра методу Polyline.
Примітка. Зверніть увагу, що розмір масиву р на одиницю більше, ніж кількість кінців і западин зірки, і що значення першого і останнього елементів масиву збігаються.
Метод Ellipse викреслює еліпс або коло, в залежності від значень параметрів. Інструкція виклику методу в загальному вигляді виглядає наступним чином:
Об'ект.Canvas.Ellipse (x1, y1, x2, y2)
де об'єкт - ім'я об'єкта (компонента), на поверхні якого виконується креслення;
x1, y1, х2, у2 - координати прямокутника, всередині якого викреслюється еліпс або, якщо прямокутник є квадратом, коло (рисунок 13).
Малюнок 13 - Значення параметрів методу Ellipse визначають вид геометричної фігури
Колір, товщина і стиль лінії еліпса визначаються значеннями властивості Pen. а колір і стиль заливки області всередині еліпса - значеннями властивості Brush поверхні (Canvas), на яку виконується висновок.
Креслення дуги виконує метод Arc, інструкція виклику якого в загальному вигляді виглядає наступним чином:
де x1, y1, х2, у2 - параметри, що визначають еліпс (коло), частиною якого є викреслюють дуга; х3, у3 - параметри, що визначають початкову точку дуги;
х4, у4 - параметри, що визначають кінцеву точку дуги.
Лабораторні роботи з інформатики для спеціальності «Моделювання та дослідження операцій в організаційно-технічних системах»
Початкова (кінцева) точка - це точка перетину кордону еліпса і прямої, проведеної з центру еліпса в точку з координатами х3 і у3 (х4, у4). Дуга викреслюється проти годинникової стрілки від початкової точки до кінцевої (рисунок 14).
Колір, товщина і стиль лінії, якою викреслюється дуга, визначаються значеннями властивості Pen поверхні (Сanvas), на яку виконується висновок.
Малюнок 14 - Значення параметрів методу Arc визначають дугу як частину еліпса (кола)
прямокутник
Прямокутник викреслюється методом Rectangle. інструкція виклику якого в загальному вигляді виглядає наступним чином:
Об'ект.Canvas.Rectangle (x1, y1, х2. У2)
де об'єкт - ім'я об'єкта (компонента), на поверхні якого виконується креслення;
x1, y1 і х2, у2 - координати лівого верхнього і правого нижнього кутів прямокутника.
Метод RoundRect теж викреслює прямокутник, але з округленими кутами. Інструкція виклику методу RoundRect виглядає так:
Об'ект.Canvas.RoundRect (x1, y1, x2, y2, x3, УЗ)
де x1, y1, х2, у2 - параметри, що визначають положення кутів прямокутника, в який вписується прямокутник із закругленими кутами; х3 і у3 - розмір еліпса, одна чверть якого використовується для викреслювання округленій кута (рисунок 15).
Малюнок 15 - Метод RoundRect викреслює прямокутник з округленими кутами
Вид лінії контуру (колір, ширина і стиль) визначається значеннями властивості Pen. а колір і стиль заливки області усередині прямокутника - значеннями властивості Brush поверхні (Canvas), на якій прямокутник викреслюється.
Є ще два методи, які викреслюють прямокутник, використовуючи як інструмент тільки кисть (Brush). Метод FillRect викреслює зафарбований прямокутник, а метод FrameRect - тільки контур. У кожного з цих методів лише один параметр - структура типу TRect. Поля структури TRect містять координати прямокутної області, вони можуть бути заповнені за допомогою функції Rect.
Лабораторні роботи з інформатики для спеціальності «Моделювання та дослідження операцій в організаційно-технічних системах»
Нижче як приклад використання методів FillRect і FrameRect приведена процедура, яка на поверхні форми викреслює прямокутник з червоною заливкою і прямокутник із зеленим контуром.
procedure TForml.ButtonlClick (Sender: TObject); var
rl, r2: TRect; // координати кутів прямокутників begin
// заповнення полів структури
// задамо координати кутів прямокутників rl: = Rect (20,20,60,40);
r2: = Rect (10,10,40,50); with Forml.Canvas do
багатокутник
Метод Polygon викреслює багатокутник. Як параметр метод отримує масив типу TPoint. Кожен елемент масиву представляє собою запис, поля (х, у) якої містять координати однієї вершини багатокутника. Метод polygon викреслює багатокутник, послідовно з'єднуючи прямими лініями точки, координати яких знаходяться в масиві: першу з другою, другу з третьою, третю з четвертою і т. Д. Потім з'єднуються остання і перша точки.
Колір і стиль кордону багатокутника визначаються значеннями властивості Pen. а колір і стиль заливки області, обмеженої лінією кордону, - значеннями властивості Brush. причому область зафарбовується з використанням поточного кольору і стилю кисті.
Нижче наведена процедура, яка, використовуючи метод Polygon. викреслює трикутник:
procedure TForml.Button2Click (Sender: TObject); var
pol: array [1..3] of TPoint; // координати точок трикутника begin
pol [l] .x: = 10; роl [1] .У: = 50; pol [2] .x: = 40; роl [2] .У: = 10; pol [3] .x: = 70; роl [3] .У: = 50;
Метод Pie викреслює сектор еліпса або кола. Інструкція виклику методу в загальному вигляді виглядає наступним чином:
Об'ект.Canvas.Pie (x1, y1, x2, y2, x3, y3, x4, y4)
де x1, y1, х2, у2 - параметри, що визначають еліпс (коло), частиною якого є сектор;
х3, у3, х4, y4 - параметри, що визначають координати кінцевих точок прямих, які є межами сектора.
Лабораторні роботи з інформатики для спеціальності «Моделювання та дослідження операцій в організаційно-технічних системах»
Початкові точки прямих співпадають з центром еліпса (кола). Сектор вирізається проти годинникової стрілки від прямої, заданої точкою з координатами (х3, у3), до прямої, заданої точкою з координатами (х4, y4) (рисунок 16).
Малюнок 16 - Значення параметрів методу Pie визначають сектор як частина еліпса (кола)
Поверхні, на яку програма може здійснювати виведення графіки, відповідає об'єкт Canvas. Властивість Pixels. є двовимірним масивом типу TColor. містить інформацію про колір кожної точки графічної поверхні. Використовуючи властивість Pixels. можна задати необхідний колір для будь-якої точки графічної поверхні, т. е. "намалювати" крапку. Наприклад, інструкція Form1.Canvas.Pixels [10, 10]: = clRed забарвлює точку поверхні форми в червоний колір.
Розмірність масиву Pixels визначається розміром графічної поверхні. Розмір графічної поверхні форми (робочої області, яку також називають клієнтської) задається значеннями властивостей ClientWidth і ClientHeight. а розмір графічної поверхні компонента Image - значеннями властивостей Width і Height. Лівій верхній точці робочої області форми відповідає елемент Pixels [0, 0]. а правої нижньої
Pixels [ClientWidth - 1, ClientHeight - 1].
Властивість Pixels можна використовувати для побудови графіків. Графік будується, як правило, на основі обчислень за формулою. Межі діапазону зміни аргументу функції є початковими даними. Діапазон зміни значення функції може бути обчислений. На підставі цих даних можна обчислити масштаб, що дозволяє побудувати графік таким чином, щоб він займав всю область форми, призначену для виведення графіка.
Наприклад, якщо деяка функція f (x) може приймати значення від нуля до 1000, і для виведення її графіка використовується область форми висотою в 250 пікселів, то масштаб осі y обчислюється за формулою: m = 250/1000. Таким чином, значення f (x) = 1000 буде відповідати точка області з координатою y = 0 (y = 250 - f (x) xm = 250 - 1000 х (250/1000)), а значенням f (x) = 70 - З координатою Y = 233 (Y = 250 - 70 х (250/1000)).
Примітка. Зверніть увагу на те, що точне значення виразу 250 - 70 х (250/1000) одно 232,5. Але т. К. Індексом властивості Pixels, яке використовується для виведення точки на поверхню Canvas. може бути тільки ціле значення, то число 232,5 округляється до найближчого цілого, яким є число 233.
Наступна програма, її текст приведений в лістингу 10, використовуючи властивість Pixels. виводить графік функції у = 2 · sin (x) · e x / 5. Для побудови графіка використовується вся доступна область форми, причому якщо під час роботи програми користувач змінить розмір вікна, то графік буде виведений заново з урахуванням реальних розмірів вікна.
Лістинг 10 - Програма побудови графіка функції
Лабораторні роботи з інформатики для спеціальності «Моделювання та дослідження операцій в організаційно-технічних системах»
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
procedure FormPaint (Sender: TObject); procedure FormResize (Sender: TObject);