49501

Сдвинуть треугольник ABC по оси Ox на расстояние l

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

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

В данной задаче поставлено условие данных. Поэтому входные данные координаты исходных точек треугольника ABC и расстояние l берём из текстового файла input.txt. Соответственно по условию задачи и выходные данные координаты нового треугольника, матрица преобразования записываем в результирующий файл output.txt.

Русский

2017-10-17

2.33 MB

3 чел.

Пояснительная записка к лабораторной работе

«Компьютерная графика»

Задание лабораторной работы.

Сдвинуть треугольник ABC по оси Ox на расстояние l.

Входные данные: координаты точек A,B,C и расстояние l.

Выходные данные: координаты нового треугольника, матрица преобразования.

Теоретическая часть.

Описание реализованного алгоритма.

В данной задаче поставлено условие данных. Поэтому входные данные координаты исходных точек треугольника ABC и расстояние l берём из текстового файла input.txt. Соответственно по условию задачи и выходные данные координаты нового треугольника, матрица преобразования записываем в результирующий файл output.txt.

Алгоритм реализуем в среде TURBO PASCAL 7.0

Считываем показания координат нашей фигуры с текстого файла. Чтение производим в два массива зарезервивонных для фигуры.

Следующий этап непосредственно сама формула преобразования сдвига. Согласно формуле, перебирая циклом массив координат, изменяем величину абсцис x на разницу l. И сохраняем значение новых координат в массиве B зарезервированных для новой фигуры а также в результирующий файл output.txt.

После вывода на экран полученных данных отображаем графический результат на экран полученного сдвига нашего треугольника ABC.

Скомпелированный файл EXE совместим с версиями операционной системы до Windows XP.

Программа на алгоритмическом языке TURBO PASCAL 7.0

program lab1treugsdvig;

uses graph;

const

n=2;{Размерность}

m=3;{Количество точек фигуры}

var

gd,gm,error: integer;

a,b: array[1..3,1..n] of integer;

i,j: byte;

f,g: text;

l:integer;

begin

gd:=VGA;

gm:=VGAHi;

{Чтение координат из файла}

assign(f,'C:\Files\input.txt');

reset(f);

for i:=1 to m do

begin

writeln('Координаты ',i,'-й точки (x,y): ');

for j:=1 to n do

begin

write(j,'-я координата: ');

read(f,a[i,j]);

b[i,j]:=a[i,j];

write(a[i,j],', ');

end;

writeln;

readln(f);

end;

read(f,l);

writeln('Расстояние = ',l);

close(f);

{Запись полученных результатов в файл}

assign(g,'C:\Files\output.txt');

rewrite(g);

for i:=1 to m do

b[i,1]:=a[i,1]+l;{Формула движения фигуры по оси OX}

writeln('Сдвинутый треугольник ABC');

writeln(g,'Сдвинутый треугольник ABC');

for i:=1 to m do

begin

writeln('Координаты ',i,'-й точки (x,y): ');

writeln(g,'Координаты ',i,'-й точки (x,y): ');

for j:=1 to n do

begin

write(j,'-я координата: ');

write(b[i,j]:4,', ');

write(g,b[i,j]:4,', ');

end;

writeln;

writeln(g);

end;

writeln;

writeln('Матрица координат треугольника ABC');

writeln(g,'Матрица координат треугольника ABC');

for i:=1 to m do

begin

for j:=1 to n do

begin

write(b[i,j]:4);

write(g,b[i,j]:4);

end;

writeln(g);

writeln;

end;

close(g);

writeln('Нажмите ENTER для отображения результата в графике...');

readln;

InitGraph(gd,gm,'');{Перход в графический режим}

error:=GraphResult;

if error <> grOK then begin

write ('error');

readln;

halt;

end;

line(0,200,500,200);{ось Х}

line(3,0,3,400);{ось Y}

{Изначальный треугольник}

moveto(a[1,1],a[1,2]);

lineto(a[2,1],a[2,2]);

lineto(a[3,1],a[3,2]);

lineto(a[1,1],a[1,2]);

{Для отображенния передвинутой фигуры меняем стиль линий}

SetLineStyle(DottedLn, 0, NormWidth);

{Перемещённый треугольник}

moveto(b[1,1],b[1,2]);

lineto(b[2,1],b[2,2]);

lineto(b[3,1],b[3,2]);

lineto(b[1,1],b[1,2]);

readln;

end.

Результаты расчета с использованием средств компьютерной графики

Отображение на экран входной и выходной информации:


 

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

59183. Ясна зоря нашого письменства. Сценарій лекторію, присвячений річниці від дня народження Марка Вовчка 77.5 KB
  Тарас Григорович Шевченко повертався із заслання, коли несподівано його затримали в Нижньому Новгороді. Це було прикро, тяжко і навіть страшно після десяти років солдатчини. Начебто і свобода, і нема її. А як хотілось побачити давніх друзів!
59184. Урок обміну досвідом з природознавства: Я розкажу про Україну 31 KB
  Старицький До України уривок Моя Україно Як я тебе любив Твої луги твої степи розлогі Дніпра ревучого славетнії пороги. На цих уроках ми побували в багатьох місцях України дізнались багато нового і цікавого про життя та працю людей природні умови рослинний і тваринний світ різних куточків нашої землі.
59185. Нехай панують на землі добро і справедливість. Сценарій для молодших школярів 44 KB
  От саме в цій країні якось йшли вулицею хлопчик і дівчинка. Хлопчик: Що це Дівчинка: Це мабуть Чарівна паличка. Хлопчик: Як нам пощастило Тепер у нас буде скільки завгодно морозива жуйок тістечок.
59186. Навчаємось разом з героями казок. Cценарій заняття для малят у дитячому садочку 44 KB
  У проведенні заняття беруть участь діти їхні батьки рідні вихователі дитячого дошкільного закладу. Оскільки діти запросили в гості до себе своїх батьків та рідних то вони першими заходять до кімнати й зручно розташовуються.
59187. СВЯТО ПИСАНКИ 83 KB
  Ведуча: Ой що в Софіївському заграли Дзвони затремтіли Не білі голуби янголи в небі полетіли. Ведуча: А між тим нашій незалежності пішов вже десятий рік. Ведуча: В очі нам дивляться ті хто клав своє життя на алтар Вітчизни від звитяжців Запорізької Січі до вязнів сталінських...
59188. Лицарі ввічливості 37 KB
  І ведучий: Доброго дня дорогі друзі ІІ ведучий: Доброго здоровя ІІ ведучий: Раді бачити вас у цьому залі І ведучий: Сьогодні у нас відбудеться турнір лицарів ввічливості. ІІ ведучий: У ньому беруть участь ваші ровесники знавці правил ввічливості і хорошого тону.
59189. Сценарій спортивного свята 24.5 KB
  Естафета з обручами Дві команди за сигналом по одному від кожної команди біжать до півфінішної прямої. 3 естафета.
59190. БАТЬКИ І ДІТИ 45.5 KB
  Ми раді вітати Вас сьогодні у нашій світлиці на нашому родинному святі. У дитячому садку ми знайомимо дітей з обрядами та звичаями нашого народу, з казками та приказками, вчимо загадки, прислівя, вірші, скоромовки. А сьогодні будемо вести розмову про родину.
59191. Ой на Йвана, ой на Купала 32.5 KB
  Добре й літом у лісочку На травичці в холодочку Відпочити погуляти Зілля квітів тут нарвати Дівчата прикрасимо нашу купальницю щоб була ще красивіша. Дівчата збирають квіти плетуть вінки прикрашають ними деревце купальницю і співають...