计算机图形学图形变换代码,计算机图形学--二维变换--实验代码.doc

#include "stdio.h"

#include "conio.h"

#include"graphics.h"

#include "math.h"

struct point

{

int x;

int y;

}triangle[3];

void ini()

{ triangle[0].x = 20;

triangle[0].y = 70;

triangle[1].x = 20;

triangle[1].y = 100;

triangle[2].x = 120;

triangle[2].y = 70;

setcolor(WHITE);

line(triangle[0].x,triangle[0].y,triangle[1].x,triangle[1].y);

line(triangle[0].x,triangle[0].y,triangle[2].x,triangle[2].y);

line(triangle[1].x,triangle[1].y,triangle[2].x,triangle[2].y);

}

void move(int dx, int dy)

{

int i;

for(i = 0; i < 3; i++)

{

line((triangle[i].x+dx),(triangle[i].y+dy),(triangle[(i+1)%3].x+dx),(triangle[(i+1)%3].y+dy));

}

getch();

setcolor(0);

for(i = 0; i < 3; i++)

{

line((triangle[i].x+dx),(triangle[i].y+dy),(triangle[(i+1)%3].x+dx),(triangle[(i+1)%3].y+dy));

}

}

void zoom(int sx,int sy)

{

int xx[3];

int yy[3];

int i;

for(i = 0; i < 3; i++)

{

xx[i]=(triangle[i].x-triangle[0].x)*sx+triangle[0].x;

yy[i]=(triangle[i].y-triangle[0].y)*sy+triangle[0].y;

}

for(i = 0; i < 3; i++)

{

line(xx[i]+120,yy[i],xx[(i+1)%3]+120,yy[(i+1)%3]);

}

getch();

setcolor(0);

for(i = 0; i < 3; i++)

{

line(xx[i]+120,yy[i],xx[(i+1)%3]+120,yy[(i+1)%3]);

}

}

void turn(int x, int y, int a)

{

int i;

int xx[3];

int yy[3];

for(i = 0; i < 3; i++){

xx[i]=(triangle[i].x-x)*cos(a)-(triangle[i].y-y)*sin(a)+x;

yy[i]=(triangle[i].x-x)*sin(a)+(triangle[i].y-y)*cos(a)+y;

}

for(i = 0; i < 3; i++)

{

line(xx[i],yy[i],xx[(i+1)%3],yy[(i+1)%3]);

}

getch();

setcolor(0);

for(i = 0; i < 3; i++)

{

line(xx[i],yy[i],xx[(i+1)%3],yy[(i+1)%3]);

}

}

void symmetrical(int a, int b, int d, int e)

{

int i;

int xx[3];

int yy[3];

for(i = 0; i < 3; i++){

xx[i]=(a*triangle[i].x)+(b*triangle[i].y);

yy[i]=(d*triangle[i].x)+(e*triangle[i].y);

}

for(i = 0; i

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值