Calculating angle of a rotation for a line


by nancy189
Tags: rotation
nancy189
nancy189 is offline
#1
Jul21-11, 12:22 PM
P: 8
Hi Guys,

I want to rotate a line so that it lies on the positive x direction. I can determine the equation of the line as y=m*x+c where m is the slope and c is the intercept. The angle of rotation, theta is known by tan inverse of m. Now theta can be either -theta or -(pi+theta) depending on the quadrant in which the line lies.

How can I know which of these thetas i should use directly by looking at the equation of the line. I need to rotate about 400 lines so manually looking at each line can be time intensive. I can use an if else loop in my code to do it automatically.

Thanks.
Nancy
Phys.Org News Partner Mathematics news on Phys.org
Researchers help Boston Marathon organizers plan for 2014 race
'Math detective' analyzes odds for suspicious lottery wins
Pseudo-mathematics and financial charlatanism
pmsrw3
pmsrw3 is offline
#2
Jul21-11, 12:34 PM
P: 455
Do you mean a line, or a ray? If you're dealing with a line, then rotating by -theta-pi produces exactly the same result as rotating by -theta. It's only if you're dealing with a ray (or, say, rotating a line segment about one end) that the ambiguity you mention becomes significant.

Every floating point library I know of has a two-argument form of the arc tangent function, arctan(x,y) or ArcTan(x,y) or atan2(x,y), that finds the angle whose tangent is y/x. This two-argument form returns the theta that is right for the quadrant of (x,y), and also deals correctly with the x=0 case (although I gather that's not a problem for you).

You can also do the rotation directly, without ever explicitly calculating the angle. This is the most efficient way.
nancy189
nancy189 is offline
#3
Jul21-11, 12:40 PM
P: 8
Hi pmsrw3,

Yes I am rotating a line about one point. I translate all the line segments that I am studying to the origin. I want to rotate all the lines so that they fall on the positive X axis. I am using MATLAB. So I need to determine the correct angle for rotation, if not I get segments on the positive and negative axis.

pmsrw3
pmsrw3 is offline
#4
Jul21-11, 12:51 PM
P: 455

Calculating angle of a rotation for a line


If I understand you right, this is much simpler than you think. If you have a line segment from (0,0) to (x,y) and you rotate it about the (0,0) end so that it's horizontal, you will always end up with (l,0) as the new distal endpoint, where [itex]l=\sqrt{x^2+y^2}[/itex] is the length of the line segment. There's no need to compute the angle of rotation at all.


Register to reply

Related Discussions
Angle of Twist and Rotation Engineering, Comp Sci, & Technology Homework 1
Change in angle due to rotation Differential Geometry 0
Angle rotation about 2 axes Differential Geometry 1
Rotation in R2, around a line? Calculus & Beyond Homework 0
rotation angle Calculus & Beyond Homework 3