home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 3 / PDCD_3.iso / utilities / utilsm / mkdrawf / Goodies / c / intersect < prev   
Text File  |  1994-12-14  |  658b  |  26 lines

  1. /* compute intersection of two lines */
  2.  
  3. #include <stdio.h>
  4.  
  5. int main(int argc, char *argv[]) {
  6.   double x00,y00,x01,y01,x10,y10,x11,y11;
  7.   double d,e,dd,ee,t;
  8.   if (argc!=9) {
  9.     fprintf(stderr,"Usage: %s x00 y00 x01 y01 x10 y10 x11 y11\n",argv[0]);
  10.     return 0;
  11.   }
  12.   sscanf(argv[1],"%lf",&x00);
  13.   sscanf(argv[2],"%lf",&y00);
  14.   sscanf(argv[3],"%lf",&x01);
  15.   sscanf(argv[4],"%lf",&y01);
  16.   sscanf(argv[5],"%lf",&x10);
  17.   sscanf(argv[6],"%lf",&y10);
  18.   sscanf(argv[7],"%lf",&x11);
  19.   sscanf(argv[8],"%lf",&y11);
  20.   d=x01-x00; e=y01-y00;
  21.   dd=x11-x10; ee=y11-y10;
  22.   t=(dd*(y00-y10)-ee*(x00-x10))/(ee*d-dd*e);
  23.   printf("%lg %lg\n",x00+t*d,y00+t*e);
  24.   return 0;
  25. }
  26.