943,694 Members | Top Members by Rank

Ad:
Aug 3rd, 2009
0

Whats wrong with my forumla? (Trig)

Expand Post »
Say I have a point A at (1,3) and a point B at (2,1) and point B has an angle of 45 degrees. I need a formula that will tell me which direction (right or left) B should turn so it points at A the fastest.

--(my attempt)--
I originally pretended that B was the center of a circle and A was on the ring of the circle. I then found the area of the sector and stored my results in SECTOR_AREA.

Next, I took the full area of the circle and divided it by 2 and called it HALF_AREA.

If SECTOR_AREA > HALF_AREA then TURN RIGHT
If SECTOR_AREA < HALF_AREA then TURN LEFT

The problem is I'm getting strange results with this ^^^ formula ^^^ and it's not working. I'm not sure why? Should it work? Might I have entered the wrong formula? What would be a good alternative to this?
Similar Threads
Reputation Points: 10
Solved Threads: 0
Newbie Poster
scarypajamas is offline Offline
14 posts
since Jul 2008
Aug 4th, 2009
0

Re: Whats wrong with my forumla? (Trig)

Read up on arctan. It might give you a few ideas...
Reputation Points: 395
Solved Threads: 192
Veteran Poster
darkagn is offline Offline
1,136 posts
since Aug 2007
Aug 4th, 2009
0

Re: Whats wrong with my forumla? (Trig)

There are several algorithms. Here are a couple...

N degree angle passing though point B is a line from + infinity to - infinity. Which side of the line is point A?

Inverse Tan y/x gives you the angle. of B-A
Reputation Points: 546
Solved Threads: 99
Practically a Posting Shark
wildgoose is offline Offline
891 posts
since Jun 2009
Aug 4th, 2009
0

Re: Whats wrong with my forumla? (Trig)

I am too tired right now to try that formula out. But you could consider:
if(A.angle < 180)
if(B.angle > A.angle && B.angle < A.angle + 180)
//turn counter-clockwise
else
//turn clockwise
else
if(B.angle < A.angle && B.angle < A.angle - 180)
//turn clockwise
else
//turn counter-clockwise
Again, really tired so those might be backwards. Hope this helps.
Reputation Points: 69
Solved Threads: 48
Posting Whiz in Training
nmaillet is offline Offline
203 posts
since Aug 2008
Aug 4th, 2009
0

Re: Whats wrong with my forumla? (Trig)

Use fmod to handle angles set > < 360 degrees.

If you decide to use trig functions don't forget to convert degrees to radians.

PI is 180 degrees.
+/- PI.
Reputation Points: 546
Solved Threads: 99
Practically a Posting Shark
wildgoose is offline Offline
891 posts
since Jun 2009
Aug 4th, 2009
0

Re: Whats wrong with my forumla? (Trig)

Thanks for all your help guys, I was able to figure it out now
Reputation Points: 10
Solved Threads: 0
Newbie Poster
scarypajamas is offline Offline
14 posts
since Jul 2008

This thread is more than three months old

No one has posted to this discussion for at least three months. Please let old threads die and do not reply to them unless you feel you have something new and valuable to contribute that absolutely must be added to make the discussion complete. Otherwise, please start a new thread in this forum instead.
Message:
Previous Thread in Computer Science Forum Timeline: Program language for Health related software
Next Thread in Computer Science Forum Timeline: Please help me design a operating system





About Us | Contact Us | Advertise | Acceptable Use Policy
Forum Index | Build Custom RSS Feed


Follow us on Twitter


© 2011 DaniWeb® LLC