フィルターのクリア

Angle between 2 lines

2 ビュー (過去 30 日間)
Elie
Elie 2014 年 2 月 19 日
コメント済み: Jos (10584) 2014 年 2 月 24 日
How can i calculate the angle between such two lines.is the dotvector method useful in such case?
line([50 50],[1 10000],'Color','G');
line([newBoxPolygon(1, 1) newBoxPolygon(4, 1)],[newBoxPolygon(1, 2) newBoxPolygon(4, 2)],'Color','G');
i tried this method
u=[newBoxPolygon(1, 1) newBoxPolygon(4, 1),newBoxPolygon(1, 2) newBoxPolygon(4, 2)]
v=[[50 50],[1 10000]]
CosTheta = dot(u,v)/(norm(u)*norm(v));
ThetaInDegrees = acos(CosTheta)*180/pi
but i'm getting an error can you please help
  2 件のコメント
Jos (10584)
Jos (10584) 2014 年 2 月 19 日
What is the exact error you're getting?
Elie
Elie 2014 年 2 月 19 日
There is no logical or compiler error , the error is in the angel it self, because the angle between the 2 lines is less than that splitted by the function above

サインインしてコメントする。

回答 (1 件)

Jos (10584)
Jos (10584) 2014 年 2 月 19 日
編集済み: Jos (10584) 2014 年 2 月 19 日
You want to enter the direction vectors U and V into the formula
dU = [diffUx diffUy]
dV = [diffVx diffVy]
cosTheta = dot(dU,dV) ./ (norm(dU) * norm(dV))
  4 件のコメント
Elie
Elie 2014 年 2 月 21 日
Hey i tried your advice but im getting the following error "A and B must be same size" This is my code . what is the error
%Line1
x1=(newBoxPolygon(1, 1));y1=(newBoxPolygon(1, 2));
x2=[newBoxPolygon(1, 1) newBoxPolygon(4, 1)];y2=[newBoxPolygon(1, 2) newBoxPolygon(4, 2)];
%The theoritcal line
x1_1=1; x1_2=1000;
y1_1=900; y1_2=900;
dU = [(x2-x1) (y2-y1)];
dV = [(x1_2-x1_1) (y1_2-y1_1)];
cosTheta = dot(dU,dV) ./ (norm(dU) * norm(dV));
disp(cosTheta);
Jos (10584)
Jos (10584) 2014 年 2 月 24 日
You are setting up the vectors the wrong way: the direction vectors dU and dV should be 2 element arrays. dU is, but dV is not.
If you remove the semi-colons you see what I mean.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeAssembly についてさらに検索

タグ

タグが未入力です。

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by