2014-04-17 197 views
0

五點A,B,C,DE以「3」給出。如何計算線D-E與由ABC定義的平面之間的夾角?如何在MATLAB中計算直線和平面之間的角度?

我明白這個問題,但我不知道如何在MATLAB中進行編程。我是MATLAB新手,所以詳細的信息會非常有幫助。這是我已經試過了,但它給我的錯誤輸出:

point1 = cross(B-A, C-A); 
point2 = cross(D, E); 
point3 = cross(point1, point2); 
point4 = sqrt(A.*A + B.*B + C.*C); 
point5 = sqrt(D.*D + E.*E) 

point6 = point4*point5; 
final = point3/point6 
+0

變量名不能包含空格。例如,「點1」應該被命名爲「點1」。 –

+2

你明白這個問題的數學嗎?如果你得到了正確的數學,其實並不難。我想,你算錯了! – Thanushan

+1

「平方根」也是如此 - 首先一些matlab教程怎麼樣? – Schorsch

回答

0

這裏亞去:

%// normal vector to plane ABC 
N = cross(B-A, C-A); 

%// angle between plane and line, equals pi/2 - angle between D-E and N 
alpha = abs(pi/2 - acos(dot(E-D, N)/norm(N)/norm(E-D))); 

%// you probably want it in degrees: 
alpha = rad2deg(alpha); 
相關問題