123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- #include "utils.h"
-
- LFRPoint::LFRPoint(/* args */) : x(0.0), y(0.0)
- {
- }
-
- LFRPoint::LFRPoint(double x, double y): x(x), y(y)
- {
- }
-
- LFRPoint::~LFRPoint()
- {
- }
-
- LFRVector::LFRVector(/* args */) : LFRPoint()
- {
- }
-
- LFRVector::LFRVector(double x, double y) : LFRPoint(x, y)
- {
- }
-
- LFRVector::LFRVector(const LFRPoint& pt) : LFRPoint(pt)
- {
-
- }
-
- LFRVector::~LFRVector()
- {
- }
-
- double LFRVector::angle(const LFRVector& other) const
- {
- return acos(dot(other)/(this->norm()*other.norm())) * (180.0/M_PI);
- }
-
- double LFRVector::dot(const LFRVector& other) const
- {
- return x*other.x + y*other.y;
- }
-
- double LFRVector::norm() const
- {
- return sqrt(x*x+y*y);
- }
-
-
- LFRLine::LFRLine(/* args */) : start(), dir()
- {
- }
-
- LFRLine::LFRLine(LFRPoint start, LFRVector dir) : start(start), dir(dir)
- {
- }
-
- LFRLine::LFRLine(LFRPoint start, LFRPoint end) : start(start)
- {
- dir = end - start;
- }
-
- LFRLine::~LFRLine()
- {
- }
-
-
-
- int Calcs::calcAngle(int deltaX, int deltaY){
-
- int refAngle = 0;
-
- if(deltaX > 10E-12){
- refAngle = (int)((atan(deltaY/deltaX) * 180.0/M_PI) + 0.5 - (refAngle<0)); //Here 0.5 (or -0.5) is added to round a float number to int right
-
- // convert from img coordinates to regbot coordinates
- refAngle = -(refAngle);
-
- if (refAngle > 90)
- refAngle = refAngle - 180;
- }else{
- refAngle = -90;
- }
- return refAngle;
-
- }
|