У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент



Лабораторна робота - : Моделювання 2D- композиції
4
Міністерство освіти і науки України

Лабораторна робота №

з дисципліни

“Комп’ютерна графіка”

Тема роботи: Моделювання 2D- композиції

#include <iostream.h>

#include <stdlib.h>

#include <conio.h>

#include <graphics.h>

#include <dos.h>

#include <math.h>

void main()

{

int gdriver=DETECT,gmode,errorcode;

initgraph(&gdriver,&gmode,"C:\\TC3.0\\BGI");

errorcode=graphresult();

if(errorcode!=grOk)

{

cout<<"POmulka "<<grapherrormsg(errorcode);

getch();

exit(1);

}

float x=150,y=200,R=50,alfa=M_PI/6,h=200,m=50;//,

float lx1,ly1,lx2,ly2,lx3,ly3,lx4,ly4,dx=1.5,dy=1.5,xn,yn;

lx1=x-50;

ly1=y;

lx2=x;

ly2=y-50;

lx3=x+50;

ly3=y;

lx4=x;

ly4=y+50;

setcolor(15);

circle(x,y,R);

line(lx1,ly1,lx2,ly2);

line(lx2,ly2,lx3,ly3);

line(lx3,ly3,lx4,ly4);

line(lx1,ly1,lx4,ly4);

getch();

setcolor(BLACK);

circle(x,y,R);

line(lx1,ly1,lx2,ly2);

line(lx2,ly2,lx3,ly3);

line(lx3,ly3,lx4,ly4);

line(lx1,ly1,lx4,ly4);

//obertanja

setcolor(15);

lx1-=x;

ly1-=y;

xn=(lx1*cos(alfa))-(ly1*sin(alfa));

yn=(lx1*sin(alfa))+(ly1*cos(alfa));

xn+=x;

yn+=y;

lx1=xn;

ly1=yn;

lx2-=x;

ly2-=y;

xn=(lx2*cos(alfa))-(ly2*sin(alfa));

yn=(lx2*sin(alfa))+(ly2*cos(alfa));

xn+=x;

yn+=y;

lx2=xn;

ly2=yn;

lx3-=x;

ly3-=y;

xn=(lx3*cos(alfa))-(ly3*sin(alfa));

yn=(lx3*sin(alfa))+(ly3*cos(alfa));

xn+=x;

yn+=y;

lx3=xn;

ly3=yn;

lx4-=x;

ly4-=y;

xn=(lx4*cos(alfa))-(ly4*sin(alfa));

yn=(lx4*sin(alfa))+(ly4*cos(alfa));

xn+=x;

yn+=y;

lx4=xn;

ly4=yn;

circle(x,y,R);

line(lx1,ly1,lx2,ly2);

line(lx2,ly2,lx3,ly3);

line(lx3,ly3,lx4,ly4);

line(lx1,ly1,lx4,ly4);

getch();

setcolor(BLACK);

circle(x,y,R);

line(lx1,ly1,lx2,ly2);

line(lx2,ly2,lx3,ly3);

line(lx3,ly3,lx4,ly4);

line(lx1,ly1,lx4,ly4);

setcolor(15);

//vektor

x+=h;

y+=m;

lx1+=h;ly1+=m;

lx2+=h;ly2+=m;

lx3+=h;ly3+=m;

lx4+=h;ly4+=m;

circle(x,y,R);

line(lx1,ly1,lx2,ly2);

line(lx2,ly2,lx3,ly3);

line(lx3,ly3,lx4,ly4);

line(lx1,ly1,lx4,ly4);

getch();

//mashtabyvanja

setcolor(BLACK);

circle(x,y,R);

line(lx1,ly1,lx2,ly2);

line(lx2,ly2,lx3,ly3);

line(lx3,ly3,lx4,ly4);

line(lx1,ly1,lx4,ly4);

setcolor(15);

R*=dx;

x*=dx;

y*=dx;

lx1*=dx;ly1*=dy;

lx2*=dx;ly2*=dy;

lx3*=dx;ly3*=dy;

lx4*=dx;ly4*=dy;

setcolor(15);

circle(x,y,R);

line(lx1,ly1,lx2,ly2);

line(lx2,ly2,lx3,ly3);

line(lx3,ly3,lx4,ly4);

line(lx1,ly1,lx4,ly4);

getch();

closegraph();

}