# Rotate Spherical Coordinates to find new Vector Magnitude

12 views (last 30 days)
Commented: Chad on 29 Sep 2020
Dear Forum,
I am given a , , . Does Matlab have a function to convert and find the from a new ?

James Tursa on 28 Sep 2020
Spherical coordinates typically are restricted to have r >= 0. What application do you have where you think you need to allow negative r values?
If I am given a vector in either x,y,z or what is the vector magnitude with a known . It can be negative.
Ameer Hamza on 29 Sep 2020
In case when r1=100, theta1=0, and phi1=0, and if by the negative value of r, you mean reversing the position vector, then in that case, you can say that r1=-100, theta1=180, and phi1=0 is equivalent to the first vector. But for any other value of theta and phi, you cannot get the same vector.

Sindar on 29 Sep 2020
It sounds like the goal is to find the projection of the vector along the direction defined by theta=100, phi=150. If this is the case, one way is:
[x2,y2,z2] = sph2cart(150*pi/180,100*pi/180,1);
[x1,y1,z1] = sph2cart(phi1*pi/180,theta1*pi/180,r1);
v12_proj = x1.*x2 + y1.*y2 + z1.*z2;

#### 1 Comment

Yes. This is what I was after. Thank you!