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.

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

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


 

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

66209. ВИХОВАННЯ І ШКОЛА В ЕПОХУ СЕРЕДНЬОВІЧЧЯ 64.5 KB
  Навчання починали з механічного заучування на латині молитов і 150 псалмів а потім вивчали латинську азбуку читання і письмо. Виникла така форма навчання як учнівство. Найкращим методом навчання вважався пошук найкоротшого шляху досягнення знань.
66210. Технология найма и отбора персонала 79.5 KB
  Цель набора персонала состоит в создании резерва кандидатов на все рабочие места с учетом в том числе и будущих организационных и кадровых изменений увольнений перемещений уходов на пенсию окончаний сроков контрактов изменений направлений...
66211. Модель проектной группы MSF для небольших команд 66 KB
  Задачи ролевых групп Группа Управление программой : управляет процессом разработки с целью получения готового продукта в отведенные сроки; регулирует взаимоотношения и коммуникацию внутри проектной группы; следит за временным графиком проекта и готовит отчетность о его состоянии...
66212. СТАНОВЛЕННЯ І РОЗВИТОК ЗАРУБІЖНОЇ ПЕДАГОГІЧНОЇ НАУКИ І ПРАКТИКИ У 17 – 19 СТОЛІТТЯХ 71 KB
  Вона була незалежна від церкви і держави існувала на пожертвування і високу плату за навчання. Єдиних навчальних планів не було кожна школа складала програму навчання на власний розсуд. Уряди численних німецьких держав ставились вимоги до організації початкових шкіл у містах і селах навчання хлопчиків...
66213. Сущность и основные формы адаптации персонала 54.5 KB
  Организация процесса адаптации Понятие цели и основные направления адаптации После заключения трудового контракта человек приступает к выполнению трудовых обязанностей. При этом человек проходит через период адаптации.
66215. РЕФОРМАТОРСЬКА ПЕДАГОГІКА ЗАРУБІЖНИХ КРАЇН НАПРИКІНЦІ 19 – НА ПОЧАТКУ 20 СТОЛІТТЯ 86.5 KB
  Перед масовою народною школою постало завдання розробити нові форми навчання і виховання з метою підняття рівня освіти. При Феррі 1832-1893 було запроваджено автономію університетів розроблено нові навчальні плани середньої школи в яких більше уваги приділялось вивченню природничих наук...
66216. Деловая оценка персонала в организации 60.5 KB
  Структура процесса требования к проведению аттестации Понятие виды функции оценки персонала Деловая оценка процесс определения эффективности деятельности сотрудников в ходе реализации задач организации. Объектом аттестации может быть отдельный сотрудник рабочее место соответствие его требованиям...