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.

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

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


 

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

50083. Стройові вправи. Правила піднімання вантажу 61 KB
  Основи термiнологiï: положення лежачи рiвновага. Положення лежачи. Лежачи на спинi Положення при якому торкаються пiдлоги всi частини задньоï поверхнi тiла положення рук визначається вiдносно тулуба Лежачи на животi Положення при якому торкаються пiдлоги всi частини передньоï поверхнi тiла пiдборiддя теж торкається пiдлоги Лежачи на животi прогнувшись Положенняпри якому торкаються пiдлоги нижня частина грудноï клiтини живiт i таз; верхня частина тулуба i ноги знаходяться над...
50084. Ролевая теория личности. Ролевые конфликты 16.93 KB
  Ролевая концепция личности возникла в американской социальной психологии в 30-х гг. XX в. (Дж. Мид) и получила широкое распространение в различных социологических течениях, прежде всего, в структурно-функциональном анализе
50086. Создание комплексных текстово-графических материалов 78 KB
  Запустите Corel Drаw создайте новый файл. Сохраните файл под именем Верстка сверните файл но не программу. В программе Corel Drw создайте еще один файл постройте на листе по 15 горизонтальных и вертикальных направляющих Horizontl nd Verticl Guidelines: Horizontl Горизонтальные от 70 до 140 мм с шагом в 5 мм; Verticl Вертикальные от 30 до 100 мм также с шагом в 5 мм. Откройте файл Верстка импортируйте в него сохраненный кроссворд придайте ему такие же размеры и положение как на ксерокопии.
50087. Определение показателя адиабаты при адиабатическом расширении газа 309.5 KB
  Плеханова технический университет Кафедра Общей и технической физики лаборатория виртуальных экспериментов Определение показателя адиабаты при адиабатическом расширении газа Методические указания к лабораторной работе № 8 для студентов всех специальностей САНКТПЕТЕРБУРГ 2010 УДК 531 534 075. Цель работы: изучить законы идеального газа и основные положения классической теории теплоёмкости; определить коэффициент Пуассона отношение теплоёмкости при постоянном давлении Ср к теплоемкости при постоянном объеме CV методом...
50089. ИЗУЧЕНИЕ ПРЕЛОМЛЕНИЯ СВЕТА ПРИЗМОЙ. ИЗУЧЕНИЕ ДИСПЕРСИИ СВЕТА 151 KB
  ИЗУЧЕНИЕ ПРЕЛОМЛЕНИЯ СВЕТА ПРИЗМОЙ Изучение дисперсии света. Абсолютным показателем преломления некоторого вещества в электромагнитной теории называется число показывающее во сколько раз скорость волны в вакууме больше скорости волны в веществе: n = c v. Абсолютный показатель преломления связан с диэлектрической и магнитной проницаемостями среды следующим образом: n =. Дисперсией электромагнитного излучения называют явление обусловленное зависимостью показателя преломления вещества от длины волны частоты n = fλ0 где λ0 длина...
50090. Интегральные устройства радиоэлектроники 15.38 MB
  Курсовое проектирование по дисциплине Интегральные устройства радиоэлектроники обобщает знания, полученные студентами в процессе изучения дисциплины, а также умения и навыки, приобретенные при прохождении практики на производстве, и ставит своей целью подготовить студентов к самостоятельному решению сложных проектно-конструкторских задач.
50091. Атом водорода, изучение его спектра 211.5 KB
  Совокупность электронов составляет электронную оболочку атома. Ядро в котором сосредоточена почти вся масса атома занимает ничтожно малую часть всего его объема. При этом размер самого атома который определяется размерами его электронной оболочки около 108 см.