#### Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

# signed angle between vectors

Member Posts: 6
whenever i want to find the angle between two vectors, i use the dot product method to find it and it gives me the smaller of the two possible angles. how am i to get the other?

• Member Posts: 675
: whenever i want to find the angle between two vectors, i use the dot product method to find it and it gives me the smaller of the two possible angles. how am i to get the other?
:

cos (x) = cos(-x)

To get the other angle, you can just change the sign of the first angle or subtract it from 2*pi radiens (360 degrees).
• Member Posts: 6
hi josh,
thanks all the same. but my query was how am i to find the oriented angle in one direction from, say the negative X-axis. the angle that i get is always the smaller of the two angles and how am i to get the other? this other may not always be the one i want. am i clear? :P
: : whenever i want to find the angle between two vectors, i use the dot product method to find it and it gives me the smaller of the two possible angles. how am i to get the other?
: :
:
: cos (x) = cos(-x)
:
: To get the other angle, you can just change the sign of the first angle or subtract it from 2*pi radiens (360 degrees).
:

• Member Posts: 6
hi josh,
thanks all the same. but my query was how am i to find the oriented angle in one direction from, say the negative X-axis. the angle that i get is always the smaller of the two angles and how am i to get the other? this other may not always be the one i want. am i clear? :P
: : whenever i want to find the angle between two vectors, i use the dot product method to find it and it gives me the smaller of the two possible angles. how am i to get the other?
: :
:
: cos (x) = cos(-x)
:
: To get the other angle, you can just change the sign of the first angle or subtract it from 2*pi radiens (360 degrees).
:

• Member Posts: 675
: hi josh,
: thanks all the same. but my query was how am i to find the [b]oriented angle[/b] in one direction from, say the negative X-axis. the angle that i get is always the smaller of the two angles and how am i to get the other? this other may not always be the one i want. am i clear? :P
: : : whenever i want to find the angle between two vectors, i use the dot product method to find it and it gives me the smaller of the two possible angles. how am i to get the other?
: : :
: :
: : cos (x) = cos(-x)
: :
: : To get the other angle, you can just change the sign of the first angle or subtract it from 2*pi radiens (360 degrees).
: :
:

What do you mean by "oriented angle"?

v1 v2 = |v1||v2| cos theta

where theta is the angle separating the 2 vectors

Ignoring the sign of the cos ratio, there would be 4 possible angles in a full cycle. 1 for each quadrant.

theta, 180 degrees - theta, 180 degrees+theta, 360 degrees - theta

• Fayetteville, NC, USAMember Posts: 1,035
I am currently teaching myself this same stuff, and I found a SWEET tutorial on it. The link is below and I hope it helps you. It has my monsters properly rotating, although my collision-detection system is still non-existant! Guess I need to get a bit more knowledge.

http://www.gamedev.net/reference/articles/article1832.asp

-[italic][b][red]S[/red][purple]e[/purple][blue]p[/blue][green]h[/green][red]i[/red][purple]r[/purple][blue]o[/blue][green]t[/green][red]h[/red][/b][/italic]

• Member Posts: 6
hi josh,
what i want is this:
i have a tangent to a curve and want to find the angle that the tangent makes with the x-axis as the curve progresses. now this angle has to be the signed angle. how am i to obtain the 'signed angle' as the tangent makes different angles at different instances? hence, the problem is not for one parrticular dot product obtained angle. am i clear now? thanks a heap forsparing some time to help me out. thanks for the link to the site u quoted sephiroth!
have a great time!
amit
: : hi josh,
: : thanks all the same. but my query was how am i to find the [b]oriented angle[/b] in one direction from, say the negative X-axis. the angle that i get is always the smaller of the two angles and how am i to get the other? this other may not always be the one i want. am i clear? :P
: : : : whenever i want to find the angle between two vectors, i use the dot product method to find it and it gives me the smaller of the two possible angles. how am i to get the other?
: : : :
: : :
: : : cos (x) = cos(-x)
: : :
: : : To get the other angle, you can just change the sign of the first angle or subtract it from 2*pi radiens (360 degrees).
: : :
: :
:
: What do you mean by "oriented angle"?
:
:
: v1 v2 = |v1||v2| cos theta
:
: where theta is the angle separating the 2 vectors
:
: Ignoring the sign of the cos ratio, there would be 4 possible angles in a full cycle. 1 for each quadrant.
:
: theta, 180 degrees - theta, 180 degrees+theta, 360 degrees - theta
:
:
:

• Member Posts: 6
hi josh,
what i want is this:
i have a tangent to a curve and want to find the angle that the tangent makes with the x-axis as the curve progresses. now this angle has to be the signed angle. how am i to obtain the 'signed angle' as the tangent makes different angles at different instances? hence, the problem is not for one parrticular dot product obtained angle. am i clear now? thanks a heap forsparing some time to help me out. thanks for the link to the site u quoted sephiroth!
have a great time!
amit
: : hi josh,
: : thanks all the same. but my query was how am i to find the [b]oriented angle[/b] in one direction from, say the negative X-axis. the angle that i get is always the smaller of the two angles and how am i to get the other? this other may not always be the one i want. am i clear? :P
: : : : whenever i want to find the angle between two vectors, i use the dot product method to find it and it gives me the smaller of the two possible angles. how am i to get the other?
: : : :
: : :
: : : cos (x) = cos(-x)
: : :
: : : To get the other angle, you can just change the sign of the first angle or subtract it from 2*pi radiens (360 degrees).
: : :
: :
:
: What do you mean by "oriented angle"?
:
:
: v1 v2 = |v1||v2| cos theta
:
: where theta is the angle separating the 2 vectors
:
: Ignoring the sign of the cos ratio, there would be 4 possible angles in a full cycle. 1 for each quadrant.
:
: theta, 180 degrees - theta, 180 degrees+theta, 360 degrees - theta
:
:
:

• Member Posts: 22
[b][red]This message was edited by Zaffire at 2002-10-21 18:58:47[/red][/b][hr]
: hi josh,
: what i want is this:
: i have a tangent to a curve and want to find the angle that the tangent makes with the x-axis as the curve progresses. now this angle has to be the signed angle. how am i to obtain the 'signed angle' as the tangent makes different angles at different instances? hence, the problem is not for one parrticular dot product obtained angle. am i clear now? thanks a heap forsparing some time to help me out. thanks for the link to the site u quoted sephiroth!
: have a great time!
: amit
: : : hi josh,
: : : thanks all the same. but my query was how am i to find the [b]oriented angle[/b] in one direction from, say the negative X-axis. the angle that i get is always the smaller of the two angles and how am i to get the other? this other may not always be the one i want. am i clear? :P
: : : : : whenever i want to find the angle between two vectors, i use the dot product method to find it and it gives me the smaller of the two possible angles. how am i to get the other?
: : : : :
: : : :
: : : : cos (x) = cos(-x)
: : : :
: : : : To get the other angle, you can just change the sign of the first angle or subtract it from 2*pi radiens (360 degrees).
: : : :
: : :
: :
: : What do you mean by "oriented angle"?
: :
: :
: : v1 v2 = |v1||v2| cos theta
: :
: : where theta is the angle separating the 2 vectors
: :
: : Ignoring the sign of the cos ratio, there would be 4 possible angles in a full cycle. 1 for each quadrant.
: :
: : theta, 180 degrees - theta, 180 degrees+theta, 360 degrees - theta
: :
: :
: :
:
:
if you want to find the angle between a vector and the x-axis, you could always just use a unit vector in the direction of the x-axis,
i.e. theta = acos[(a b) / (|a||v|)] where a is your vector and b = <1, 0, 0>. that gives you the smaller angle. to get the larger one, just subtract theta from 2 * pi or 360 degrees.

hope that helps!
• Member Posts: 66
: whenever i want to find the angle between two vectors, i use the dot product method to find it and it gives me the smaller of the two possible angles. how am i to get the other?
:

Hi Amit.
Not sure exactly what you mean, as there can only be one angle between two vectors. But I think I know what you mean. you could try negating one of the vectors and doing the dot product again. This will give you a 'big angle ' I hope its the one you want
• USAMember Posts: 4,624 ✭✭

_ [ http://forcoder.org ] free ebooks and video tutorials about || Ruby PL/SQL PHP C++ C JavaScript Visual Basic .NET MATLAB Go Assembly Swift Delphi R Java C# Python Visual Basic Perl Scratch Objective-C Logo Transact-SQL Erlang Prolog COBOL Hack F# Clojure ML Scala Fortran SAS VBScript Ada Lisp Lua Julia LabVIEW Crystal Apex Dart ABAP FoxPro D Bash Alice Awk Rust Kotlin Scheme || ____