Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
21
Добавлен:
02.05.2014
Размер:
38.91 Кб
Скачать

Цель работы:

1. Освоение и изучение функций для вращения, перемещения и масштабирования вTurbo C.

Задание:

Написать программу для вращения, масштабирования и перемещения треугольника, который имеет цвет А и квадрата, который имеет цвет В. Поворот на 100, коэффициент увеличения 2,2, Перемещение 30,40.

Теоритическое описание:

Для того чтобы использовать графический режим к исходному файлу необходимо подключить библиотеку <graphics.h> с помощью оператора #include

Графический режим устанавливается с помощью функции initgraph(), текущий графический режим закрывается с помощью функции closegraph() которая не имеет параметров и ничего не возвращает.

Цвет для рисования устанавливается функцией sercolor(цвет).

Листинг программы

#include<conio.h>

#include<dos.h>

#include<stdio.h>

#include<graphics.h>

#include<math.h>

int razmer;

int kvadrat(int ugol,int j,int k)

{int ini1=j+sin(3.1415*(j)/180),ini2=k+cos(3.1415*(k)/180);

line(ini1+razmer*cos(3.1415*ugol/180),ini2+razmer*sin(3.1415*ugol/180),ini1+razmer*cos(3.1415*(ugol+90)/180),ini2+razmer*sin(3.1415*(ugol+90)/180));

line(ini1+razmer*cos(3.1415*(ugol+90)/180),ini2+razmer*sin(3.1415*(ugol+90)/180),ini1+razmer*cos(3.1415*(ugol+180)/180),ini2+razmer*sin(3.1415*(ugol+180)/180));

line(ini1+razmer*cos(3.1415*(ugol+180)/180),ini2+razmer*sin(3.1415*(ugol+180)/180),ini1+razmer*cos(3.1415*(ugol+270)/180),ini2+razmer*sin(3.1415*(ugol+270)/180));

line(ini1+razmer*cos(3.1415*ugol/180),ini2+razmer*sin(3.1415*ugol/180),ini1+razmer*cos(3.1415*(ugol-90)/180),ini2+razmer*sin(3.1415*(ugol-90)/180));

return 0;

}

int treugolnik(int ugol,int j,int k)

{int ini1=j+sin(3.1415*(j)/180),ini2=k+cos(3.1415*(k)/180);

line(ini1+razmer*cos(3.1415*ugol/180),ini2+razmer*sin(3.1415*ugol/180),ini1+razmer*cos(3.1415*(ugol+90)/180),ini2+razmer*sin(3.1415*(ugol+90)/180));

line(ini1+razmer*cos(3.1415*(ugol+90)/180),ini2+razmer*sin(3.1415*(ugol+90)/180),ini1+razmer*cos(3.1415*(ugol+180)/180),ini2+razmer*sin(3.1415*(ugol+180)/180));

line(ini1+razmer*cos(3.1415*ugol/180),ini2+razmer*sin(3.1415*ugol/180),ini1+razmer*cos(3.1415*(ugol+180)/180),ini2+razmer*sin(3.1415*(ugol+180)/180));

return 0;

}

int main()

{

char c;

int gd=DETECT,gm,i;

initgraph(&gd,&gm,"");

setcolor(15);

razmer=50;

kvadrat(45,100,100);

setcolor (10);

treugolnik(45,200,200);

settextstyle(2,0,5);

outtextxy(50,380,"Press any key to change");

getche();

cleardevice();

razmer=razmer*2.2;

setcolor(15);

kvadrat(145,100+30,100+40);

setcolor (10);

treugolnik(145,200+30,200+40);

settextstyle(2,0,5);

outtextxy(50,380,"Press any key exit");

getche();

closegraph();

return 0;

}

Листинг полученных результатов

Вывод: В данной лабораторной работе я ознакомился со способами перемещения и масштабирования в Turbo C.

2

Соседние файлы в папке Лабораторные работы1