Azzera filtri
Azzera filtri

The angle and distance between the two vectors.

1 visualizzazione (ultimi 30 giorni)
In a two-dimensional vector space, assume that there is one vector u(a, b) and another unknown vector v(c, d). If I knew angle and distance between these two vectors, how can I calculate the unknown vector v? I means the elements of a vector v. If I can calculate, how should I apply in Matalb??
Thank you very much.
  2 Commenti
Honglei Chen
Honglei Chen il 13 Feb 2017
could you clarify how the distance is defined between two vectors?
YongHyun
YongHyun il 14 Feb 2017
Both vectors have origin (0,0) and the distance means the distance between the end points of the vector. Thanks.

Accedi per commentare.

Risposta accettata

Roger Stafford
Roger Stafford il 14 Feb 2017
You have a known vector u = [a,b] and an unknown vector v = [c,d]. The distance as you have defined it is a known
r = sqrt((c-a)^2+(d-b)^2)
and the angle in radians measured counterclockwise from u to v is a known A. You are to find v.
B = atan2(b,a);
C = cos(A+B);
S = sin(A+B);
t1 = a*C+b*S+sqrt(r^2-(a*S-b*C)^2);
t2 = a*C+b*S-sqrt(r^2-(a*S-b*C)^2);
c1 = t1*C;
d1 = t1*S;
c2 = t2*C;
d2 = t2*S;
v1 = [c1,d1];
v2 = [c2,d2];
As you can see, there will generally be two real solutions or none.
  2 Commenti
Jan
Jan il 14 Feb 2017
One solution is possible also.
Roger Stafford
Roger Stafford il 14 Feb 2017
Modificato: Roger Stafford il 14 Feb 2017
Yes, you're right Jan. If the line of the vector happens to be exactly tangent to the circle of radius r, there will be just one solution. That's why I qualified my statement with the word 'generally'.

Accedi per commentare.

Più risposte (1)

KSSV
KSSV il 14 Feb 2017

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by