home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Datafile PD-CD 3
/
PDCD_3.iso
/
utilities
/
utilsm
/
mkdrawf
/
Goodies
/
c
/
intersect
< prev
Wrap
Text File
|
1994-12-14
|
658b
|
26 lines
/* compute intersection of two lines */
#include <stdio.h>
int main(int argc, char *argv[]) {
double x00,y00,x01,y01,x10,y10,x11,y11;
double d,e,dd,ee,t;
if (argc!=9) {
fprintf(stderr,"Usage: %s x00 y00 x01 y01 x10 y10 x11 y11\n",argv[0]);
return 0;
}
sscanf(argv[1],"%lf",&x00);
sscanf(argv[2],"%lf",&y00);
sscanf(argv[3],"%lf",&x01);
sscanf(argv[4],"%lf",&y01);
sscanf(argv[5],"%lf",&x10);
sscanf(argv[6],"%lf",&y10);
sscanf(argv[7],"%lf",&x11);
sscanf(argv[8],"%lf",&y11);
d=x01-x00; e=y01-y00;
dd=x11-x10; ee=y11-y10;
t=(dd*(y00-y10)-ee*(x00-x10))/(ee*d-dd*e);
printf("%lg %lg\n",x00+t*d,y00+t*e);
return 0;
}