- 2つの3次元ベクトルvec1, vec2から角度を算出
- 算出した角度の時系列データから、角速度、各加速度を算出
2つのベクトルがなす角度、角速度、角加速度を求めるための方法が分からないのですが、どういった計算方法があるでしょうか?
48 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
今、ダーツの動作解析を行おうとしており、肩と肘、手首、親指と4箇所にマーカをつけ、それぞれの単位ベクトルx,y,zを作成しました。そこで、肘関節の屈曲/伸展角度を求め、その後、角速度と角加速度を求めたいのですがよくわかりません。どなたかわかる方がいらっしゃいましたらお願いいたします。
0 commentaires
Réponses (1)
COVAO
le 21 Mar 2023
Modifié(e) : COVAO
le 21 Mar 2023
次のステップで算出できます。
下記は、計算例です
vec1 = [1 0 0;0 1 0;0 0 1];
vec2 = [0 1 0;0 0 1;1 0 0];
t = [0 1 2]';
angle = compute_angle(vec1, vec2)';
angle_velocity = compute_velocity(t, angle);
angle_acceleration = compute_velocity(t, angle_velocity);
angle,angle_velocity,angle_acceleration
function angle = compute_angle(vec1, vec2)
% Compute the angle between the two vectors
angle=[];
for(i=1:height(vec1))
angle = [angle; subspace(vec1(i,:)',vec2(i,:)')];
end
angle = angle'
end
function velocity_data = compute_velocity(t, x)
%compute velocity
delta_t = diff(t);
velocity = diff(x) ./ delta_t;
velocity_data = [0; velocity]; % Initial velocity = 0
end
2つのベクトルがなす角度については、下記の回答例に解説があります
0 commentaires
Voir également
Catégories
En savoir plus sur 極座標プロット dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!