直線A = line(xa,ya)

直線B = line(xb,yb)

如何求交點?

 

 

其實很簡單:矩陣解聯立方程組

 


 

function [x,y]=pll(x1,y1,x2,y2)
% http://weselyong.pixnet.net/blog/post/19203825

a1=y1(1)-y1(2);
b1=x1(2)-x1(1);
c1=y1(2)*x1(1)-y1(1)*x1(2);
a2=y2(1)-y2(2);
b2=x2(2)-x2(1);
c2=y2(2)*x2(1)-y2(1)*x2(2);
d=det([a1,b1;a2,b2]);
x=det([-c1 b1;-c2 b2])/d;
y=det([a1 -c1;a2,-c2])/d;

 


 

DEMO:

weselyong 發表在 痞客邦 PIXNET 留言(1) 人氣()


留言列表 (1)

發表留言
  • 小芳
  • 感覺有點長..
    我直覺是 用find 找出A=B位置,
  • 那樣未必能找到喔,如果像下面的範例,find就找不到了。

    weselyong 於 2011/03/24 10:31 回覆