各位大虾们,帮小弟看看这个怎么回事
我是想求出两条直线(取的直线相交)的交点,但是得不到想要的结果,这个自己真不知道怎么办了,特向各位大虾求助,谢谢各位!代码如下:
程序代码:
#include <iostream> #include <cmath> using namespace std; class point{ public: point(int xx,int yy) { x=xx;y=yy; } point(){}; ~point(){} point(point &p) { x=p.x;y=p.y; } int getx(){return x;} int gety(){return y;} private: int x,y; }; class line{ public: line(point pt1,point pt2):p1(pt1),p2(pt2) { double k=(p2.gety()-p1.gety())/(p2.getx()-p1.getx()); //求出斜率K double b=(p1.gety()-k*p1.getx()); //求出b } line(){} line(line &l):p1(l.p1),p2(l.p2) { k=l.k;b=l.b; } friend point jd(line &l1,line &l2) { point p((l1.b-l2.b)/(l2.k-l1.k),l1.k*(l1.b-l2.b)/(l2.k-l1.k)); return p; } private: point p1,p2; double k,b; }; void main() { point p1(0,0),p2(2,2),p3(0,2),p4(2,0); //初始化4点 line l1(p1,p2),l2(p3,p4); //两条不相交的直线 point px(jd(l1,l2)); cout<<px.getx()<<"\t"<<px.gety()<<endl; }
[ 本帖最后由 cnsongzi 于 2011-5-20 20:36 编辑 ]