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.

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

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


 

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

25356. Регуляция движения крови по сосудам 24.5 KB
  Нервы регулирующие тонус сосудов называются сосудодвигательным и состоят из двух частей сосудосуживающих и сосудорасширяющих Симпатические нервные волокна выходящие в составе передних корешков спинного мозга оказывают суживающее действие на сосуды кожи органов брюшной полости почек легких и мозговых оболочек но расширяют сосуды сердца. Сосудорасширяющие влияния оказываются парасимпатическими волокнами которые выходят из спинного мозга в составе задних корешков. Кроме того существуют высшие сосудодвигательные центры расположенные в...
25357. Лимфа и лимфообращение 43 KB
  В отличие от кровеносных сосудов которым происходит как приток крови к тканям тела так и ее отток от них сосуды служат лишь для оттока лимфы т. Состав и свойства лимфы Лимфа собираемая из лимфатических протоков во время или после приема нежирной пищи представляет собой бесцветную почти прозрачную жидкость отличающуюся от плазмы крови примерно вдвое большим содержанием белков. Реакция лимфы щелочная. Это обусловлено тем что лимфоциты образуются в лимфатических узлах и из них с током лимфы уносятся в кровь.
25358. ФИЗИОЛОГИЯ ВНЕШНЕГО ДЫХАНИЯ. ЛЕГОЧНЫЕ ОБЪЕМЫ. ЛЕГОЧНАЯ ВЕНТИЛЯЦИЯ 41.5 KB
  При вдохе объем легких увеличивается давление в них становится ниже атмосферного и воздух поступает в дыхательные пути. Во время выдоха объем грудной полости уменьшается воздух в легких сжимается давление в них становится выше атмосферного и воздух выходит наружу. Количество воздуха находящегося в легких после максимального вдоха составляет общую емкость легких величина которой у взрослого человека равна 46 л. В общей емкости легких принято выделять четыре составляющих ее компонента: дыхательный объем резервный объем вдоха и выдоха и...
25359. Особенности дыхания при мышечной работе 36.5 KB
  Увеличению транспорта кислорода при работе способствует также выбрасывание эритроцитов из кровяных депо и обеднение крови водой вследствие потения что ведет к некоторому сгущению крови и повышению концентрации гемоглобина а следовательно и к увеличению кислородной емкости крови. Из каждого литра крови протекающей по большому кругу клетки организма утилизируют в покое 60 80 мл кислорода а во время работы до 120 мл кислородная емкость 1 л крови равна около 200 мл 02. Повышенное поступление кислорода в ткани при мышечной работе...
25360. Значение пищеварения 33 KB
  Все функции органов пищеварения подчинены сложным нервным и гуморальным механизмам регуляции.Основы современной физиологии пищеварения разработаны преимущественно И. Павлова функции органов пищеварения находящихся в глубине тела и недоступных непосредственному наблюдению изучались в основном в острых опытах при которых производилось вскрытие живого животного и вследствие наносимой травмы нарушалось нормальное состояние организма.
25361. Пищеварение в полости рта 59.5 KB
  Расслабление кардиальной мускулатуры наблюдается также при резких сокращениях желудка брюшных мышц и диафрагмы во время рвоты. Здесь же происходят химические изменения некоторых питательных веществ под влиянием сока выделяемого железами желудка. Железы желудка расположены в слизистой оболочке его дна тела и привратника. В фундальной части желудка железы состоят главных добавочных и обкладочных клеток.
25362. ПИЩЕВАРЕНИЕ В ТОНКОМ КИШЕЧНИКЕ 32.5 KB
  Количество их огромно от 50 до 200 млн на 1 мм2 поверхности кишки что увеличивает внутреннюю поверхность тонкого кишечника в 300500 раз. Моторная деятельность тонкого кишечника обеспечивает перемешивание химуса с пищеварительными секретами и продвижение его по кишке благодаря сокращению круговой и продольной мускулатуры. При сокращении продольных волокон гладкой мускулатуры кишечника происходит укорочение участка кишки при расслаблении его удлинение. Такая периодичность обусловлена автоматией гладкой мускулатуры кишечника способностью...
25363. Пищеварение в толстых кишках 27 KB
  Железы толстого кишечника выделяют небольшое количество сока богатого слизью и бедного ферментами. Низкая ферментативная активность сока толстого кишечника обусловлена малым количеством непереваренных веществ в химусе поступающем из тонкого кишечника. Сокоотделение в этом отделе кишечника регулируется главным образом местными влияниями; механическое раздражение усиливает секрецию в 810 раз. Большую роль в жизнедеятельности организма и функций пищеварительного тракта играет микрофлора толстого кишечника где обитают миллиарды различных...
25364. Государственные гарантии социальной защиты населения в РФ 42 KB
  Государственные гарантии социальной защиты населения в РФ. В обществе рыночных отношений главную функцию социальной защиты берет на себя государство как главный субъект социальной политики и социальной работы. Основные социальные гарантии закреплены в Конституции РФ и находят свое подтверждение в социальной политике. 7 Основного закона РФ: В Российской Федерации охраняются труд и здоровье людей устанавливается гарантированный минимальный размер оплаты труда обеспечивается постоянная поддержка семьи материнства отцовства и детства инвалидов...