Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
Solved

Angle of 2 points according to right

Posted on 2003-11-02
3
328 Views
Last Modified: 2013-12-26
Hi, I need a function(VB) or a formula for calculating the angle of 2 points according to right, in 2d. I have a standing position(X, Y) and I have a looking position(X, Y) and I want to get the angle from right to the looking position.

Thanks in advance.

 - Julian
0
Comment
Question by:JulianS
  • 2
3 Comments
 

Accepted Solution

by:
JulianS earned 0 total points
ID: 9693761
I found the solution myself. The solution is to make a triangle with a side on 90*, then you use one of these 2 formulas(Depending on the triangle):

***
Angle = ArcTan(DifferenceX / DifferenceY)

Or

Angle = ArcTan(DifferenceY / DifferenceX)
***

and then you just add: 0, 90, 180 or 270 to the results(also depending on the triangle position)

Here is the VB function of the algorithm:

***

Function GetAngleFromPosition(StandingPositionX As Double, StandingPositionY As Double, LookingPositionX As Double, LookingPositionY As Double) As Double
 If StandingPositionX < LookingPositionX Then
  If StandingPositionY < LookingPositionY Then
   GetAngleFromPosition = (ArcTan(((StandingPositionY - LookingPositionY) / (StandingPositionX - LookingPositionX))))
  Else
   GetAngleFromPosition = (ArcTan(((StandingPositionX - LookingPositionX) / (StandingPositionY - LookingPositionY)))) + 90
  End If
 Else
  If StandingPositionY < LookingPositionY Then
   GetAngleFromPosition = (ArcTan(((StandingPositionY - LookingPositionY) / (StandingPositionX - LookingPositionX)))) + 270
  Else
   GetAngleFromPosition = (ArcTan(((StandingPositionX - LookingPositionX) / (StandingPositionY - LookingPositionY)))) + 180
  End If
 End If
End Function

'You need this function to convert radians from Atn to Degrees
Function ArcTan(x As Double) As Double
ArcTan = Atn(x) * (180 / 3.14159265358979)
End Function
***

If you are searching for more formulas like this one go to my web at:

http://www.hostinganime.com/3ddev/
 
- Julian
0
 

Author Comment

by:JulianS
ID: 9779681
Thanks

- Julian
0

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

What is RenderMan: RenderMan is a not any particular piece of software. RenderMan is an industry standard, defining set of rules that any rendering software should use, to be RenderMan-compliant. Pixar's RenderMan is a flagship implementation of …
Artificial Intelligence comes in many forms, and for game developers, Path-Finding is an important ability for making an NPC (Non-Playable Character) maneuver through terrain.  A* is a particularly easy way to approach it.  I’ll start with the algor…
Nobody understands Phishing better than an anti-spam company. That’s why we are providing Phishing Awareness Training to our customers. According to a report by Verizon, only 3% of targeted users report malicious emails to management. With compan…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

856 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question