Calculating angles between two points in 3D that is measured from positive x-direction
    7 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Laura
      
 el 3 de Mayo de 2016
  
    
    
    
    
    Comentada: Laura
      
 el 16 de Mayo de 2016
            
I have multiple points that I need to calculate the angle between two points that respects to x-direction as shown in the image. The angle is measured from positive x direction (counter clockwise).
For 2D case as shown in the image:
 % N is number of points
  for j=1:N-1
   for k=(j+1):N
   % difference distance in x-direction
   sepx=X(1,k)-X(1,j);
   sepy=Y(1,k)-Y(1,j);
   r = sqrt(sepx^2+sepy^2);
% use atan2d to return angle in degree between -180 to 180. 
% use mod to return angle in degree between 0-360
   theta=mod(atan2d(sepy,sepx),360);
end
end
For 3D case, I only changed this part
   sepx=X(1,k)-X(1,j);
   sepy=Y(1,k)-Y(1,j);
   sepz=Z(1,k)-Z(1,j);
   r = sqrt(sepx^2+sepy^2 +sepz^2);
   theta=mod(atan2d(sepy,sepx),360);
I am really bad at 3D in term of visualization to project thing. Is that correct to find angle of two points in 3D that is measured from positive x-direction (counter clockwise). The counter clockwise for an observer looking from above on the xy-plane. Please helps. Thanks.
6 comentarios
Respuesta aceptada
  Image Analyst
      
      
 el 4 de Mayo de 2016
        
      Editada: Image Analyst
      
      
 el 4 de Mayo de 2016
  
      I thought you had (x,y,z) coordinates for all three points? If not, do you have the points in spherical coordinates like radius theta, and phi? If you have x,y,z, just use x and y, ignoring z and then use the dot product or whatever the 2D angle formula is, like this: https://www.google.com/?gws_rd=ssl#q=angle+between+two+2d+vectors
Más respuestas (0)
Ver también
Categorías
				Más información sobre Surface and Mesh Plots en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


