Skip to main content

Math

Functions related to mathematics and algebra operations.

normalizeRect()

Returns an equivalent rectangle with angle in the range [-45, 45] degrees.

function normalizeRect(rect: Rect2d): Rect2d;

normalizeEllipse()

Returns an equivalent ellipse with angle in the range [-45, 45] degrees.

function normalizeEllipse(ellipse: Ellipse2d): Ellipse2d;

normalizeVector()

Returns a new vector with norm equal to 1, with the same direction as the input vector.

function normalizeVector(vector: Vector2d): Vector2d;

addVectors()

Returns the sum of two vectors as a new vector.

function addVectors(vector1: Vector2d, vector2: Vector2d): Vector2d;

addPoints()

Returns the sum of two points as a new point.

function addPoints(point1: Point2d, point2: Point2d): Point2d;

subVectors()

Returns the subtraction of two vectors as a new vector.

function subVectors(vector1: Vector2d, vector2: Vector2d): Vector2d;

subPoints()

Returns the subtraction of two points as a new point.

function subPoints(point1: Point2d, point2: Point2d): Point2d;

dotProduct()

Returns the dot product of two vectors.

function dotProduct(vector1: Vector2d, vector2: Vector2d): number;

crossProduct()

Returns the norm of the cross product of two vectors. The norm is positive if the cross product is in the direction of the z-axis, negative if it is in the opposite direction, and zero if the vectors are parallel or anti-parallel

function crossProduct(vector1: Vector2d, vector2: Vector2d): number;

roundDecimal()

Rounds a floating point number to a given number of decimal places

function roundDecimal(value: number, decimalPlaces: number): number;

roundDecimalPath()

Rounds the coordinates of the every point in the path

function roundDecimalPath(path: Path2d, decimalPlaces: number): void;