[英]How to compute angle between a line and a plane in MATLAB?
在ℝ³中給出了五個點A
, B
, C
, D
和E
如何計算線DE
與A
, B
和C
定義的平面之間的角度?
我理解這個問題,但不知道如何在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
你去:
%// 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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.