- 2つの3次元ベクトルvec1, vec2から角度を算出
- 算出した角度の時系列データから、角速度、各加速度を算出
2つのベクトルがなす角度、角速度、角加速度を求めるための方法が分からないのですが、どういった計算方法があるでしょうか?
34 views (last 30 days)
Show older comments
今、ダーツの動作解析を行おうとしており、肩と肘、手首、親指と4箇所にマーカをつけ、それぞれの単位ベクトルx,y,zを作成しました。そこで、肘関節の屈曲/伸展角度を求め、その後、角速度と角加速度を求めたいのですがよくわかりません。どなたかわかる方がいらっしゃいましたらお願いいたします。
0 Comments
Answers (1)
covao
on 21 Mar 2023
Edited: covao
on 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 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!