MATLAB Answers

how can i calculate the angle between a vector and the x axes?

194 views (last 30 days)
Maayan
Maayan on 1 Oct 2013
Commented: Maayan on 1 Oct 2013
Hi, How can i calculate the angle between a vector and the x axes of my figure? I have been trying to find a function but with no success. I have a 1x2 vector and i would like to know what is the angle between it and the x axes.

  0 Comments

Sign in to comment.

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 1 Oct 2013
v=[2 3]
angle1=angle(v(1)+j*v(2))

  3 Comments

Azzi Abdelmalek
Azzi Abdelmalek on 1 Oct 2013
the vector v is represented by two coordinates v(1) and v(2), or by the complex number v(1)+j*v(2)
Jan
Jan on 1 Oct 2013
@Azzi: Better use 1i for the imaginary unit for clarity.

Sign in to comment.

More Answers (1)

Jan
Jan on 1 Oct 2013
This is the included angle in the range [0, pi]:
v = [rand, rand];
angle = atan2(abs(v(2)), v1)
Perhaps you want an oriented angle from [0, 2*pi] or [-pi, pi]?

  1 Comment

Maayan
Maayan on 1 Oct 2013
I will explain you what i'm trying to do and then maybe my problem will be clearer. I have an intensity image where i marked with the impoly function a region of interest. I have a code that gives me back the vertices of the smallest rectangle still containing my polygon. The rectangle is MOST of the times not aligned with the axes. I would like to receive the data inside the rectangle into a matrix form.I have been trying to find out the angle between the largest side of the rectangle and the x axis and then to rotate the image so the rectangle will be aligned with the axes but with no success. I'm using the imrotate function but the rotation isn't happening how i expected.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!