Saturday, February 16, 2013

To Check Whether the Given Point P is inside a Triangle or Not.

   #include<stdio.h>  
   #include<ctype.h>  
   #include<conio.h>  
   #include<math.h>  
   int main()  
   {  
   int x[]={0,0,0,0};  
   int y[]={0,0,0,0};  
   int i=0;  
   int VarX=0, VarY=0;  
   int Size=sizeof(x)/sizeof(int);  
   clrscr();  
   printf("Size of x: %d\n",Size);  
   for (i=0;i<3;i++)  
   {  
   printf("Enter X[%d]:",i);  
   scanf("%d",&x[i]);  
   printf("Enter Y[%d]:",i);  
   scanf("%d",&y[i]);  
   }  
   printf(" \n Enetr the Co-ordinates of the Fourth Point \n");  
   printf("\n Enter X[3] : ");  
   scanf("%d" , &x[3]);  
   printf(" \n Enter Y[3] : " );  
   scanf("%d", &y[3]);  
   for (i=0;i<4;i++)  
   {  
   printf("X[%d] Y[%d] = [%d] [%d] \n",i,i,x[i],y[i]);  
   }  
   i=0;  
   if ( ( (x[i]<=x[3] ) && ( x[i+1]>=x[3])) || ( (x[i+1]<=x[3]) && (x[i]>=x[3])) )  
   {  
   VarX=1;}  
   else if( ( (x[i+1]<=x[3]) && (x[i+2]>=x[3])) || ((x[i+2]<=x[3]) && (x[i+1]>=x[3])) )  
   { VarX=1; }  
   else if ( ((x[i+2]<=x[3] && x[0]>=x[3])) || ((x[0]<=x[3] && x[i+2]>=x[3])))  
   { VarX=1; }  
   printf(" \n The Value of VarX is :%d ",VarX);  
   i=0;  
   if ( ((y[i]<=y[3]) && (y[i+1]>=y[3])) || ((y[i+1]<=y[3]) && (y[i]>=y[3])) )  
   { VarY=1;}  
   else if( ((y[i+1]<=y[3]) && (y[i+2]>=y[3])) || ((y[i+2]<=y[3]) && (y[i+1]>=y[3])) )  
   { VarY=1; }  
   else if ( ((y[i+2]<=y[3]) && (y[0]>=y[3])) || ((y[0]<=y[3]) && (y[i+2]>=y[3])) )  
   {  
   VarY=1;  
   }  
   printf("\n The Value of VarY is %d " , VarY);  
   if (VarX && VarY )  
   { printf(" The Point X[4] Y[4] is in side the Triangle .....\n");}  
   else { printf( "\n The Point is not Inside Triangle ....\n");}  
   getch();  
   return(0);  
   }  

No comments:

Post a Comment