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.

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

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


 

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

23300. Англійський романтизм 16.96 KB
  13 Англійському романтизму передував значно довший ніж у Німеччині або Франції період предромантизму. Ці дві тенденції заглиблення в суто національне провінційне сільське життя з одного боку й опанування простором далеких країн і континентів аж до космічного простору включно з іншого складають своєрідність національного варіанту романтизму. стала першим естетичним маніфестом англійського романтизму. романтизму Байрон Скотт ств.
23301. Байрон. Еволюція творчості 24.95 KB
  Байронізм. Поема Манфред Байронічна течі байронізм не прийняття дійсності відторгнення. Мазепа Цікавою особливо для українського читача є романтична поема Мазепа останній з творів про сильну особистість байронічного типу.
23302. Історія української культури 22.5 KB
  Українська наука та національна культура. Народна культура та її матеріальні і духовні складові та їх елементи. Культура і побут населення України 1. розвитку і представлений кількома історикогеографічними регіонами: Полісся та Волинь Волинська Рівненська Житомирська Чернігівська частина Київської та Сумської областей Карпати Львівська ІваноФранківська Закарпатська Чернівецька області Поділля Хмельницька Рівненська частина Житомирської областей Наддніпрянська Україна або середина Подніпровя Черкаська Кіровоградська...
23303. Культурно-мистецьке життя Київської держави 26 KB
  Запровадження християнства Образотворче мистецтво Київської держави архітектура Літературний процес Київської держави Література: 1. Перша стадія Київської держави умовно поділяється на два великих етапи згідно з археологічними розкопками та літописами: VIII початок ІХ ст. про хрещення Київської держави за князя Аскольда.
23304. Культурно-мистецьке життя Київської держави. Літературний процес 16 KB
  Літературний процес Традиції писемності давніх словян зокрема давньословянських племен Київської держави повязані з писемністю цивілізацій Давнього Світу свідченням чого є написи малюнковозвукового письма у кургані Камяна Могила у Запорізькії області в якій відображена історична самосвідомість зокрема уявлення про те як вони з Індії з Месопотамії прийшли до Карпат. Отже на території Київської держави існували цивілізації при чому в ІХХ ст. Літературні памятки Київської держави умовно поділяються на: Перекладна література:...
23306. Етномовні макроспільності первісності - загальна хар-ка; індоєвропейська родина 19 KB
  Ностратична макроспільнота Ескалеутська родина екімоси алеути мови народів Півночі Алтайська родина тюркська татарська узбецька киргизька туркменська турецька монгольська бурятська калмицька Уральські мови фіноугорські мови та діалекти Дравідійська родина еламська протоіранська Картвельська грузинська та діалекти народів Закавказзя Індоєвропейська 12 мов та мовних груп: 1. індоіранські давньоіндійські мови зокрема мова Вед санскрит давньоіранські мови Авести 3. тохарські мови 7. альбанські мови 8.