今天编程遇到了在程序中求两直线交点的问题,我想这么简单的问题可以考虑用初中数学的方法解决,可是上网一查,全是代入消元法,机器可不会这样做。由于之前看过Multiple View Geometry in Computer Vision这本书,知道可以用齐次坐标的方法求,可具体怎么求就忘记了。查了查,问题解决。
具体方法是:设L1:Ax+By+C=0;L2:ax+by+c=0;它们的齐次坐标分别是(A,B,C),(a,b,c),把两向量叉乘就可以得到交点的齐次坐标(x,y,k),与之对应的欧式坐标就是(x/k,y/k),如果k是0的话意味着两直线平行。简单吧!某些用查找法求交点的人看到是不是要吐血了。