Math

Math functions

Distance

function Distance(const X1, Y1, X2, Y2: Double): Double;

Distance

function Distance(const P1, P2: TPoint): Double;

LogN

function LogN(base, x: Double): Double;

Sar

function Sar(x: Integer; Shift: Byte): Integer;

Ror

function Ror(x: UInt32; Shift: Byte): UInt32;

Rol

function Rol(x: UInt32; Shift: Byte): UInt32;

DegToRad

function DegToRad(Deg: Double): Double;

RadToDeg

function RadToDeg(Rad: Double): Double;

RadNormalize

function RadNormalize(Rad: Double): Double;

DegNormalize

function DegNormalize(Deg: Double): Double;

Log2

function Log2(x: Double): Double;

Log10

function Log10(x: Double): Double;

NextPower2

function NextPower2(const n: Integer): Integer;

Modulo

function Modulo(const X, Y: Integer): Integer;

Modulo

function Modulo(const X, Y: Double): Double;

DeltaAngle

function DeltaAngle(const DegreesA, DegreesB: Double; R: Double = 360): Double;

ExpandPolygon

function ExpandPolygon(const Polygon: TPointArray; Amount: Integer): TPointArray;

PolygonArea

function PolygonArea(const Polygon: TPointArray): Double;

CrossProduct

function CrossProduct(const r, p, q: TPoint): Int64;

CrossProduct

function CrossProduct(const rx,ry, px,py, qx,qy: Double): Double;

LinesIntersect

function LinesIntersect(const P1, P2, Q1, Q2: TPoint): Boolean;

LinesIntersect

function LinesIntersect(const P1, P2, Q1, Q2: TPoint; out Where: TPoint): Boolean;

DistToLine

function DistToLine(const P, P1, P2: TPoint; out Nearest: TPoint): Double;

DistToLine

function DistToLine(const P, P1, P2: TPoint): Double;

PointInTriangle

function PointInTriangle(const P, P1, P2, P3: TPoint): Boolean;

PointInBox

function PointInBox(const P: TPoint; const Box: TBox): Boolean;

PointInQuad

function PointInQuad(const P: TPoint; const A,B,C,D: TPoint): Boolean;

PointInPolygon

function PointInPolygon(const P: TPoint; const Polygon: TPointArray): Boolean;

PointInCircle

function PointInCircle(const P, Center: TPoint; Radius: Double): Boolean; static;

PointInEllipse

function PointInEllipse(const P, Center: TPoint; const YRadius, XRadius: Double): Boolean;

IsNumber

function IsNumber(const Value: Single): Boolean;

IsNumber

function IsNumber(const Value: Double): Boolean;