0

hello , I need to know how to get the direction from point A to point B

eg. point_direction(0 , 0 , 100,100); would equal 315
x1 y1 x2 y2

how do I compute this ?

Thanks !

4
Contributors
6
Replies
7
Views
6 Years
Discussion Span
Last Post by daviddoria
0

Are you looking for the bearing? You would need to use the inverse trig functions found in the <cmath> header then convert the answers from radians to degrees.

0

Are you looking for the bearing? You would need to use the inverse trig functions found in the <cmath> header then convert the answers from radians to degrees.

what would the code be to this ?

0
#include <cmath>
#include <iostream>

int main()
{
  double x1 = 0;
  double y1 = 0;
  double x2 = 100;
  double y2 = 100;
  
  std::cout << 180./3.14159 * atan((x2-x1)/(y2-y1)) << std::endl;
  
  return 0;
}

The answer is 45 not 315 going from (0,0), to (100,100), right?

Dave

Edited by WaltP: Fixed CODE tags -- careful, David. Remember PREVIEW...

0
#include <cmath>
#include <iostream>

int main()
{
  double x1 = 0;
  double y1 = 0;
  double x2 = 100;
  double y2 = 100;
  
  std::cout << 180./3.14159 * atan((x2-x1)/(y2-y1)) << std::endl;
  
  return 0;
}

The answer is 45 not 315 going from (0,0), to (100,100), right?

Dave

well in graphics everything starts at the top left hand side :icon_smile:

0

Ah, yes. In mathematics the standard is +x is 0 degrees and the angle increases counter-clockwise. You'll have to adjust accordingly.

Dave

This article has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.