Vector between vectors in intervals

1 vue (au cours des 30 derniers jours)
Arnd Meiser
Arnd Meiser le 3 Déc 2019
Réponse apportée : Jan le 4 Déc 2019
Hello!
I have two orthogonal vectors in a 3d system: [-0.0345;0.9984;-0.0447] and [0.9838;0.0370;0.0431]. I know that by adding the two I can obtain the middle vector, so the one with 45° to both other vectors. What I want is all the other possible angles in intervals, like from the first vector to the second in steps of 5° (5° to the first, 85° to the second etc.). Any ideas?
Thanks in advance

Réponse acceptée

J Chen
J Chen le 3 Déc 2019
vec1 = [-0.0345;0.9984;-0.0447];
angle = 5*pi/180; % angle of rotation in rad
v = vec1 + tan(angle)*vec2; % length of vec1 is 1
v = v/norm(v); % v is an unit vector 5 degrees from vec1
  1 commentaire
Arnd Meiser
Arnd Meiser le 4 Déc 2019
That works perfectly, thank you very much!

Connectez-vous pour commenter.

Plus de réponses (1)

Jan
Jan le 4 Déc 2019
Remark: The inputs vectors are not normalized and only almost orthogonal:
format long g
v1 = [-0.0345; 0.9984; -0.0447]
v2 = [0.9838; 0.0370; 0.0431]
norm(v1) % 0.9999954499896486 almost
norm(v2) % 0.9854385064528379
dot(v1, v2) % 0.001073129999999994 almost
I assume, you've posted the values with a limited number of digits. Use format long g to display more digits.

Catégories

En savoir plus sur Logical 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!

Translated by