Darwin Neuroevolution Framework
Classes | Typedefs | Functions | Variables
math Namespace Reference

Numerical types and helpers. More...

Classes

struct  HMatrix2d
 A 3x3 homogeneous transformation matrix. More...
 
struct  Intersection2d
 The intersection of two 2d segments. More...
 
class  Outline
 A spline aproximation. More...
 
struct  Vector2d
 A basic 2D vector. More...
 

Typedefs

using Scalar = double
 The scalar type used with general-purpose math utilities.
 
using Polygon = vector< Vector2d >
 A list of 2d points.
 

Functions

Intersection2d intersect (const Vector2d &a1, const Vector2d &a2, const Vector2d &b1, const Vector2d &b2)
 Calculate the intersection between 2 segments. More...
 
constexpr Scalar radiansToDegrees (Scalar radians)
 Radian to Degree conversion
 
constexpr Scalar degreesToRadians (Scalar degrees)
 Degree to Radian conversion
 

Variables

constexpr Scalar kInfinity = numeric_limits<Scalar>::infinity()
 Infinity
 
constexpr Scalar kEpsilon = numeric_limits<Scalar>::epsilon()
 Epsilon
 
constexpr Scalar kPi = 3.141592653589
 Pi
 

Detailed Description

Numerical types and helpers.

Function Documentation

◆ intersect()

Intersection2d math::intersect ( const Vector2d a1,
const Vector2d a2,
const Vector2d b1,
const Vector2d b2 
)

Calculate the intersection between 2 segments.

The first segment is A:[a1, a2] The second segment is B:[b1, b2]

If the segments are parallel, kInfinity is returned