orca-robotics


INTRODUCTION
Overview
Download and Install
Documentation

REPOSITORY
Interfaces
Drivers
Libraries
Utilities
Software Map

DEVELOPER
Dashboard

PEOPLE
Contributors
Users

SourceForge.net Logo
Project
Download
Mailing lists

 

         

geom2d Namespace Reference

Simple 2D geometry. More...


Classes

class  Point
class  PolarPoint
class  Line

Functions

bool circleCircleIntersection (double a1, double b1, double r1, double a2, double b2, double r2, double &px, double &py, double &qx, double &qy)
double dist (const Line &l, const Point &p)
 perpendicular distance from a point to an (infinite) line
Point closestPointOnLine (const Line &line, const Point &point)
 Returns the closest point to 'point' that lies on 'line'.
bool lineLineIntersection (const Line &l1, const Line &l2, Point &p)
void convertToRhoAlpha (const Line &line, double &rho, double &alpha)
double rho (const Line &line)
double alpha (const Line &line)
double dist (const Point &p1, const Point &p2)
 Distance between points.
double dist (const PolarPoint &p1, const PolarPoint &p2)
 Distance between points.
double distSq (const Point &p1, const Point &p2)
 Squared distance between points.
double distSq (const PolarPoint &p1, const PolarPoint &p2)
 Squared distance between points.
bool operator== (const Point &p1, const Point &p2)
 equality
bool operator!= (const Point &p1, const Point &p2)
 equality
void rotate (Point &p, double theta)
 Rotate points about the origin.
void rotate (const Point &p, double theta, Point &q)
 Rotate points about the origin.
void addTransform (Point &p, double x, double y, double theta)
void addTransform (const Point &p, double x, double y, double theta, Point &tp)
void subtractTransform (Point &p, double x, double y, double theta)
void subtractTransform (const Point &p, double x, double y, double theta, Point &tp)
bool circleCircleIntersection (const Point &c1, double r1, const Point &c2, double r2, Point &p, Point &q)
 Convenience function. Circle centres are c1 and c2.
double dotProduct (double v1[2], double v2[2])
 Dot-product of two 2D vectors.
Point closestPointToOrigin (const Line &l)
 Returns the point on the line that's closest to the origin.


Detailed Description

Simple 2D geometry.

This is a small library for simple 2D geometry.

See also:
libHydroGeom2d


Function Documentation

void geom2d::addTransform const Point &  p,
double  x,
double  y,
double  theta,
Point &  tp
[inline]
 

add a transformation (x,y,theta) to a point (rotate then translate)

void geom2d::addTransform Point &  p,
double  x,
double  y,
double  theta
[inline]
 

add a transformation (x,y,theta) to a point (rotate then translate)

SOEXPORT double geom2d::alpha const Line &  line  ) 
 

Polar coords: (rho,alpha) is the length and angle of a perpendicular bisector from the origin.

SOEXPORT bool geom2d::circleCircleIntersection double  a1,
double  b1,
double  r1,
double  a2,
double  b2,
double  r2,
double &  px,
double &  py,
double &  qx,
double &  qy
 

Find the intersection points of two circles. Returns false if they don't meet. Returns true if they do (and possibly a repeated intersection point if they meet at one point).

Circle equation for centre=(a,b), radius=r is: (x-a)^2 + (y-b)^2 = r^2

Throws exceptions (std::string) for problems such as negative radius or co-incident circles.

SOEXPORT void geom2d::convertToRhoAlpha const Line &  line,
double &  rho,
double &  alpha
 

Polar coords: (rho,alpha) is the length and angle of a perpendicular bisector from the origin.

SOEXPORT bool geom2d::lineLineIntersection const Line &  l1,
const Line &  l2,
Point &  p
 

Intersection between two lines. Returns false if the lines don't intersect.

SOEXPORT double geom2d::rho const Line &  line  ) 
 

Polar coords: (rho,alpha) is the length and angle of a perpendicular bisector from the origin.

void geom2d::subtractTransform const Point &  p,
double  x,
double  y,
double  theta,
Point &  tp
[inline]
 

subtract a transformation (x,y,theta) from a point (translate then rotate)

void geom2d::subtractTransform Point &  p,
double  x,
double  y,
double  theta
[inline]
 

subtract a transformation (x,y,theta) from a point (translate then rotate)

 

Webmaster: Tobias Kaupp (tobasco at users.sourceforge.net)


Generated for Orca Robotics by  doxygen 1.4.5