Попадання точки в заштриховану область: Приклад 1

Нехай в декартові системі координат, міститься набір наступних геометричних фігур: коло радіус якого дорінює десять; пряма, яка паралельна осі ординат і проходить через точку ; пряма, проведена під кутом до осі абсцис.

Складемо delphi-програму, основним завданням якої буде визначення того, чи попадає задана користувачем точка з координатами в заштриховану область, включаючи її межі.

Ілюстрація графічної області

Для цього запустимо середовище програмування Delphi, створимо новий проект, та на головній формі розмістимо компоненти наступним чином:

Головна форма delphi-проекту “Попадання точки в заштриховану область”

Далі переходимо до обробника події OnClick компонента Button1 («Перевірити»), і в тілі процедури Button1Click запишемо код, з допомогою якого буде здійснюватись перевірка на попадання точки в заштриховану область та вивід її у компоненті TChart.

procedure TForm1.Button1Click(Sender: TObject);
var
x, y, a: real;
begin
// Зберігаємо задані користувачем значення для координатів точки в змінну x та y
x := StrToFloat(Edit1.Text);
y := StrToFloat(Edit2.Text);
// Виводимо її у компоненті TChart
Series5.Clear;
Series5.AddXY(x, y, ”, clRed);
// Здійснюємо провірку на попадання точки в заштриховану область
a := Sqrt(Sqr(x) + Sqr(y));
if ((a <= 10) and (y >= (-x)) and (x <= 0)) or ((x >= 5) and (y <= 0) and (a <= 10)) then
StatusBar1.Panels[0].Text := ‘Точка (‘ + Edit1.Text + ‘, ‘ + Edit2.Text + ‘) попадає в заштриховану область’
else
StatusBar1.Panels[0].Text := ‘Точка (‘ + Edit1.Text + ‘, ‘ + Edit2.Text + ‘) не попадає в заштриховану область’;
end;

Після цього, для того, щоб наглядно можна було спостерігати правильність роботи алгоритму, у тому ж таки компоненті TChart, реалізуємо побудову вище вказаних фігу. Відмітимо, що дана побудова буде здійснюватись на подію OnCreate головної форми проекту.

procedure TForm1.FormCreate(Sender: TObject);
var
x, y: real;
begin
// Побудова геометричних фігур
x := -10;
while (x <= 10) do
begin
y := Sqrt(100 – x * x);
Series1.AddXY(x, y, ”, clRed);
Series2.AddXY(x, -y, ”, clRed);
Series3.AddXY(x, -x, ”, clRed);
Series4.AddXY(5, x, ”, clRed);
x := x + 0.1;
end;
end;

І на останньому кроці, збережемо, відкомпілюємо та запустимо delphi-проект на виконання. Далі, у вікні що появиться, способом введення з клавіатури, задамо для компонентів Edit1 та Edit2 відповідні значення (координати точки) та скористаємось копкою «Перевірити». Відмітимо, що результатом виконання даного кроку є вивід в нижній частині форми повідомлення про те, чи попадає точка з такими координатами у заштриховану область чи ні.

Визначення попадання точка з координатами (-1, 3) в заштріховану область

Скачати delphi-проект Попадання точки в заштриховану область.

Залишити коментар

Your email address will not be published. Required fields are marked *

*