Calculate 3D angles?

8 Ansichten (letzte 30 Tage)
mlsnyder08
mlsnyder08 am 30 Mär. 2017
Beantwortet: Ryan Plucinski am 14 Feb. 2019
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!

Antworten (2)

KSSV
KSSV am 30 Mär. 2017
  1 Kommentar
mlsnyder08
mlsnyder08 am 31 Mär. 2017
Thank you for the link. I saw that question before but wanted to know how to selectively choose certain rows and columns from my big matrix with which to populate the vector. At that point, I will be able to use the answer from the link you provided.

Melden Sie sich an, um zu kommentieren.


Ryan Plucinski
Ryan Plucinski am 14 Feb. 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);

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by