level 5
直线求交(参数方程):#include
#include
#include
void startgraph(){int dr=DETECT,gmode;registerbgidriver(EGAVGA_driver);initgraph(&dr,&gmode,"");}void linecross(){double a0=100.0,a1=100.0,b0=400.0,b1=200.0,c0=300.0,c1=100.0,d0=200.0,d1=300.0;double crossx1,crossy1,crossx2,crossy2;double d,t1,t2;d=a0*(d1-c1)+b0*(c1-d1)+d0*(b1-a1)+c0*(a1-b1);t1=(a0*(d1-c1)+c0*(a1-d1)+d0*(c1-a1))/d;t2=-(a0*(c1-b1)+b0*(a1-c1)+c0*(b1-a1))/d;printf("%f\n%f\n",t1,t2);crossx1=a0+t1*(b0-a0);crossy1=a1+t1*(b1-a1);crossx2=c0+t2*(d0-c0);crossy2=c1+t2*(d1-c1);setcolor(BLUE);line(a0,a1,b0,b1);line(c0,c1,d0,d1);getch(); setcolor(WHITE);circle(crossx1,crossy1,2);getch();setcolor(GREEN);circle(crossx2,crossy2,2);}int main(){startgraph();linecross();getch();closegraph();return 0;}
2006年11月22日 07点11分