In this article, we’ll be implementing a program for shearing transformation on a rectangle with output. In in computer graphics, shearing can be defined as process of changing shape of an object along x axis and y axis.
Program for shearing a rectangle along the x-axis in C with output
program:
#include<stdio.h> #include<graphics.h> #include<conio.h> void main() { int gd=DETECT,gm; int x,y,x1,y1,x2,y2,x3,y3,shear_f; initgraph(&gd,&gm,"C:\\TURBOC3\\BGI"); printf("\n please enter first coordinate = "); scanf("%d %d",&x,&y); printf("\n please enter second coordinate = "); scanf("%d %d",&x1,&y1); printf("\n please enter third coordinate = "); scanf("%d %d",&x2,&y2); printf("\n please enter last coordinate = "); scanf("%d %d",&x3,&y3); printf("\n please enter shearing factor x = "); scanf("%d",&shear_f); cleardevice(); line(x,y,x1,y1); line(x1,y1,x2,y2); line(x2,y2,x3,y3); line(x3,y3,x,y); setcolor(RED); x=x+ y*shear_f; x1=x1+ y1*shear_f; x2=x2+ y2*shear_f; x3=x3+ y3*shear_f; line(x,y,x1,y1); line(x1,y1,x2,y2); line(x2,y2,x3,y3); line(x3,y3,x,y); getch(); closegraph(); }
Output:
Program for shearing a rectangle along the y axis in C with output
Program:
#include<stdio.h> #include<graphics.h> #include<conio.h> void main() { int gd=DETECT,gm; int x,y,x1,y1,x2,y2,x3,y3,shear_f; initgraph(&gd,&gm,"C:\\TURBOC3\\BGI"); printf("\n please enter first coordinate = "); scanf("%d %d",&x,&y); printf("\n please enter second coordinate = "); scanf("%d %d",&x1,&y1); printf("\n please enter third coordinate = "); scanf("%d %d",&x2,&y2); printf("\n please enter last coordinate = "); scanf("%d %d",&x3,&y3); printf("\n please enter shearing factor y = "); scanf("%d",&shear_f); cleardevice(); line(x,y,x1,y1); line(x1,y1,x2,y2); line(x2,y2,x3,y3); line(x3,y3,x,y); setcolor(RED); y=y+ x*shear_f; y1=y1+ x1*shear_f; y2=y2+ x2*shear_f; y3=y3+ x3*shear_f; line(x,y,x1,y1); line(x1,y1,x2,y2); line(x2,y2,x3,y3); line(x3,y3,x,y); getch(); closegraph(); }
Output: