2d Composite Transformation Program In Computer Graphics Using C
Problem Definition: Write a program to implement 2-D Transformations viz., (a) Translation (b) Rotation (c) Scaling for an Object. #include #include #include #include void main(){ int x1=200,y1=200,x2=250,y2=250,x3=180,y3=270,option; int gdriver = DETECT,gmode; initgraph(&gdriver,&gmode,”C: TC BGI”); do{ cleardevice(); gotoxy(1,1); line(x1,y1,x2,y2); line(x2,y2,x3,y3); line(x3,y3,x1,y1); cout>option; switch(option){ case 1: float tx,ty; cout>tx>>ty; x1+=tx;x2+=tx;x3+=tx; y1+=ty;y2+=ty;y3+=ty; break; case 2: float sx,sy.
C Program for 2D transformations such as translation, scaling, and rotation on 2D object. Mohanraj 6 comments. To perform 2D transformations such as translation, scaling, and rotation on 2D object. ALGORITHM: 1. Free blogging websites. Initialize the graphics mode.
A scaling transformation alters size of an object. In the scaling process, we either compress or expand the dimension of the object. Scaling operation can be achieved by multiplying each vertex coordinate (x, y) of the polygon by scaling factor s x and s y to produce the transformed coordinates as (x’, y’).
So, x’ = x * s x and y’ = y * s y. The scaling factor s x, s y scales the object in X and Y direction respectively. So, the above equation can be represented in matrix form: Or P’ = S. P Scaling process: Note: If the scaling factor S is less than 1, then we reduce the size of the object. If the scaling factor S is greater than 1, then we increase size of the object. Algorithm: 1.
Make a 2x2 scaling matrix S as: S x 0 0 S y 2. For each point of the polygon. (i) Make a 2x1 matrix P, where P[0][0] equals to x coordinate of the point and P[1][0] equals to y coordinate of the point.
(ii) Multiply scaling matrix S with point matrix P to get the new coordinate. Draw the polygon using new coordinates. Below is C implementation.