MATLABの画像処理、2本の直線のそれぞれの垂線
私がやろうとしていることは、MATLABの画像処理で、2本の直線のそれぞれの垂線の交点の座標を求めることです。
具体的には、三つの点P1,P2,P3について、P1P2間に直線を引き、その中点から垂線をおろします。P2P3間でも同様の処理をし、
その垂線同士の座標を求めたいです。
現在途中までプログラムを作ったのですが、直線の法線方向の単位ベクトルと中点を求め、そこから垂線を引く。から先ががどうしても分かりません。
どなたか具体的な方法を教えてください。
また、法線方向の単位ベクトルと中点から垂線を引くことができなければ、違う解決策を教えて頂きたいです。
以下が作成途中のプログラムです。
% 読み込む画像ネーム
name='Picture 74';
pt=10; %データポイント
% イメージ作成
image = imread(strcat(name,'.jpg'));
a1=270;
b1=166;
a2=97;
b2=260;
a3=140;
b3=421;
%手動で座標を読み取り、Mファイルを作成
save(strcat(name,'.mat'),'a1','b1','a2','b2','a3','b3')
↓
%画像の3点の座標読み込み
load('Picture 74.mat');
p1=[a1,b1];
p2=[a2,b2];
p3=[a3,b3];
%中点を求める(n1,m1) (n2,m2)
n1 = (a1 + a2)/2;
m1 = (b1 + b2)/2;
n2 = (a2 + a3)/2;
m2 = (b2 + b3)/2;
%垂線を求める
%s1*x+t1*y+u1=0;
%直線の方程式より、係数 s1,t1,u1 以下のようになる、
s1=b2-b1;
t1=a2-a1;
u1=-(s1*a2+t1*b2);
%P1P2間の距離
L1=sqrt((a1-a2)^2+(b1-b2)^2);
%直線の単位ベクトル(ex,ey)を求める
ex=(a2-a1)/L1;
ey=(b2-b1)/L1;
%直線の法線ベクトル(vx,vy)を求める
vx=ey;
vy=-ex;
質問に答えてくださる方、どうかよろしくお願い致します。