- 2つの3次元ベクトルvec1, vec2から角度を算出
- 算出した角度の時系列データから、角速度、各加速度を算出
2つのベクトルがなす角度、角速度、角加速度を求めるための方法が分からないのですが、どういった計算方法があるでしょうか?
36 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
Categories
Find more on 極座標プロット in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!