Calculate 3D angles?
Mostrar comentarios más antiguos
I have a 40x12 matrix in MatLab. The first three columns represent the (x,y,z) coordinates of the hip, columns 4-6 represent the (x,y,z) coordinates of the knee, and columns 7-9 represent the (x,y,z) coordinates of the ankle. I want to calculate the angle formed between the hip-knee and knee-angle segment.
I know that I can simply use Pythagorean theorem for x,y,z to get the lengths and then use acos to get the angle, but I'd like to do it in a more advanced way with vectors!!!
1) How can I turn certain rows and columns of data from my big matrix into a vector?
2) How can I use those vectors (hip-knee and knee-ankle) to calculate a 3D angle?
Thank you so much!
Respuestas (2)
KSSV
el 30 de Mzo. de 2017
0 votos
See this link on how to calculate a 3D angle:
1 comentario
mlsnyder08
el 31 de Mzo. de 2017
Ryan Plucinski
el 14 de Feb. de 2019
1). you can do this in numerous ways, depending on how you want you vector to be.
ex: this code takes the first 3 hip coordinates and seperates them to a different vector, HipX, HipY, and HipZ respectively
%data=excel file of 40x12
data=xlsread('excelfile.xls');
HipX=excelfile(:,1);
HipY=excelfile(:,2);
HipZ=excelfile(:,3);
Categorías
Más información sobre Creating and Concatenating Matrices en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!