Vector between vectors in intervals

2 Ansichten (letzte 30 Tage)
Arnd Meiser
Arnd Meiser am 3 Dez. 2019
Beantwortet: Jan am 4 Dez. 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

Akzeptierte Antwort

J Chen
J Chen am 3 Dez. 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 Kommentar
Arnd Meiser
Arnd Meiser am 4 Dez. 2019
That works perfectly, thank you very much!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Jan
Jan am 4 Dez. 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.

Kategorien

Mehr zu Operators and Elementary Operations 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