Skip to main content

Posts

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();
}
Recent posts

2D transformation for Rotation in C programming (Computer Graphics).

Program:

#include <math.h>
#include<stdio.h>
#include <conio.h>
#include <graphics.h>
void main()
{
int gd=DETECT,gm,x1,x2,y1,y2,x4,y4;
float angle=0.0,ang;

initgraph(&gd,&gm,"C:\\turboc3\\BGI");
printf("Enter Co-ordinates:");
scanf("%d%d%d%d",&x1,&y1,&x2,&y2);
line(x1,y1,x2,y2);
printf("Enter the angle:");
scanf("%f",&ang);
angle=(ang*3.14)/180;
x4=x2-(((x2-x1)*cos(angle))-((y2-y1)*sin(angle)));
y4=y2-(((x2-x1)*sin(angle))+((y2-y1)*cos(angle)));
line(x2,y2,x4,y4);
getch();
closegraph();
}

2D transforamation for shear in x axis in C programming (Computer Graphics).

Program:

#include<stdio.h>
#include<conio.h>
#include<graphics.h>


void main()
{
int a=DETECT,b;
int x1=90,y1=90,x2=200,y2=200,tx=200;
initgraph(&a,&b,"c://turboc3//bgi");
line(x1,y1,x2,y1);
line(x1,y1,x1,y2);
line(x2,y1,x2,y2);
line(x1,y2,x2,y2);


getch();
clearviewport();
line(x1+tx,y1,x2+tx,y1); //top
line(x1+tx,y1,x1,y2);    //left
line(x2+tx,y1,x2,y2);
line(x1,y2,x2,y2);

getch();


}

Finding Shortest Path From Source to Destination using dijkstra algorithm usinc C program.

#include<stdio.h>
#include<conio.h>
#define IN 9999
#define MAX 10

void dj(int G[MAX][MAX],int n,int startnode,int dst);
void main()
{
int j,i,node,con[10][10],s,d;
clrscr();
printf("Enter No of Nodes::");
scanf("%d",&node);
for(i=0;i<node;i++)
{
for(j=0;j<node;j++)
{

printf("Node %d is conneted with node %d::",i,j);
a:
scanf("%d",&con[i][j]);
if(con[i][j]!=0 && con[i][j]!=1)
{
goto a;
}
}
}
printf("MATRIX:");
for(i=0;i<node;i++)
{
printf("\n");
for(j=0;j<node;j++)
{
printf("%d ",con[i][j]);
}
}

printf("\nENTER SOURCE & DESTINATION::");
scanf("%d%d",&s,&d);
dj(con,node,s,d);

}














void dj(int G[MAX][MAX],int n,int startnode,int dst)
{

    int cost[MAX][MAX],distance[MAX],pred[MAX];
    int visited[MAX],count,mindistance,nextnode,i,j;


    for(i=0;i<n;i++)
for(j=0;j<n;j++)
    if(G[i][j]==0)
cost[i][j]=IN;
    else
cost[i][j]=G[i][j];

    for(i=0;i<n;i++)
    {
distance[i]=cost[startnode][i…

Write a C program for binary search in sorted array.

Solution:
#include <stdio.h>

int main()
{
   int c, first, last, middle, n, search, array[100];

   printf("Enter number of elements\n");
   scanf("%d",&n);

   printf("Enter %d integers\n", n);

   for (c = 0; c < n; c++)
   {
      scanf("%d",&array[c]);
   }

   printf("Enter value to find\n");
   scanf("%d", &search);

   first = 0;
   last = n - 1;
   middle = (first+last)/2;

   while (first <= last)
   {
      if (array[middle] < search)
      {
first = middle + 1;
      }
      else if (array[middle] == search)
      {
printf("%d found at location %d.\n", search, middle);
break;
      }
      else
last = middle - 1;
//       printf("%d\n",middle);
      middle = (first + last)/2;
  //     printf("%d\n",middle);
   }
   if (first > last)
      printf("Not found! %d is not present in the list.\n", search);

   return 0;
}