2014-04-17 1 views
0

5 점 A, B, C, DE은 ℝ³로 표시됩니다. 행 D-EA, BC으로 정의 된 평면 사이의 각도는 어떻게 계산합니까?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

변수 이름은 공백을 포함 할 수 없습니다. 예를 들어'point 1'은'point1'로 명명되어야합니다. –

+2

이 문제의 수학을 이해합니까? 수학이 맞다면 실제로 그렇게 어렵지는 않습니다. 제 생각에 수학 문제가 잘못 됐습니다! – Thanushan

+1

제곱근 (square root)도 마찬가지입니다 - 먼저 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); 
관련 문제