Skip to main content

2D transformation for reflection in C program (Computer Graphics).

Program:

#include<stdio.h>
#include<conio.h>
#include<graphics.h>
#include<stdlib.h>
void refx(int x1,int x2,int x3,int y1,int y2,int y3){
line(320,0,320,430);
line(0,240,640,240);
x1=(320-x1)+320;
x2=(320-x2)+320;
x3=(320-x3)+320;
line(x1,y1,x2,y2);
line(x2,y2,x3,y3);
line(x3,y3,x1,y1);

}

void refy(int x1,int x2,int x3,int y1,int y2,int y3){
line(320,0,320,430);
line(0,240,640,240);
y1=(240-y1)+240;
y2=(240-y2)+240;
y3=(240-y3)+240;
line(x1,y1,x2,y2);
line(x2,y2,x3,y3);
line(x3,y3,x1,y1);
}
void main()
{
int gd=DETECT,gm;
int x1,y1,x2,y2,x3,y3;
clrscr();
initgraph(&gd,&gm,"c://turboc3//bgi");
line(320,0,320,430);
line(0,240,640,240);
x1=150;y1=100;
x2=220;y2=220;
x3=220;y3=110;
line(x1,y1,x2,y2);
line(x2,y2,x3,y3);
line(x3,y3,x1,y1);
getch();
refx(x1,x2,x3,y1,y2,y3);
getch();
refy(x1,x2,x3,y1,y2,y3);
getch();
closegraph();
}

Comments

Popular posts from this blog

Entering elements into the stack from user and transfering into two stack with equal height.

Solution: #include<stdio.h> #include<conio.h> #define maxsize 50 struct stack {  int stk[maxsize];  int top; }; typedef struct stack STACK; STACK s1,s2; int i,n; int mid; void array(); void push1(); void push2(); void traverse1(); void traverse2(); void main() {  s1.top=-1;  s2.top=-1;  clrscr();      array();      push1();      push2();      traverse1();      traverse2(); } void array() { int arr[50];   printf("\n enter the no of array ele to be stored ::");   scanf("%d",&n);   mid=n/2;   printf("\n enter the array elements ::\n");  for(i=0;i<n;i++)  {     printf("\n enter arr[%d] ::\t",i);     scanf("%d",&arr[i]);  } } void push1() {    int arr[50];    if(s1.top== (maxsize-1))    {     printf("\n stack is full ");    }    else    {     for(i=0;i<mid;i++)    {        s1.top=s1.top+1;        s1.stk[s1.top]=arr[i];    }    } } void push2()