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 | |
Добре й літом у лісочку На травичці в холодочку Відпочити погуляти Зілля квітів тут нарвати Дівчата прикрасимо нашу купальницю щоб була ще красивіша. Дівчата збирають квіти плетуть вінки прикрашають ними деревце купальницю і співають... | |||