UNPKG

kld-affine

Version:

A collection of classes used in affine geometry

136 lines (109 loc) 2.15 kB
# kld-affine - [Installation](#installation) - [Importing](#importing) - [API](#api) --- A collection of classes used for affine geometry. This currently consists of the following classes: * Point2D * Vector2D * Matrix2D # Installation ``` npm install kld-affine ``` # Importing The following sections indicate how you can import the code for use in various environments. ## Node ```javascript import {Point2D, Vector2D, Matrix2D} = require("kld-affine"); ``` ## ESM in Modern Browsers ```javascript import {Point2D, Vector2D, Matrix2D} from './node_modules/kld-affine/dist/index-esm.js'; ``` ## Older Browsers ```html <script src="./node_modules/kld-affine/dist/index-umd.js"></script> <script> var Point2D = KldAffine.Point2D; var Vector2D = KldAffine.Vector2D; var Matrix2D = KldAffine.Matrix2D; </script> ``` ## Bundlers ```javascript import {Point2D, Vector2D, Matrix2D} from "kld-affine"; ``` # API ## Point2D A class used to represent two-dimensional points on a plane. This currently supports the following methods: * clone * add * subtract * multiply * divide * equals * precisionEquals * lerp * distanceFrom * min * max * transform * toString ## Vector2D A class used to represent a two-dimensional vector. This currently supports the following methods: * Vector2D.fromPoints * length * magnitude * dot * cross * determinant * unit * add * subtract * multiply * divide * angleBetween * perp * perpendicular * project * transform * equals * precisionEquals * toString ## Matrix2D A class used to represent affine transformations. This current supports the following methods: * Matrix2D.IDENTITY * Matrix2D.translation * Matrix2D.scaling * Matrix2D.scalingAt * Matrix2D.nonUniformScaling * Matrix2D.nonUniformScalingAt * Matrix2D.rotation * Matrix2D.rotationAt * Matrix2D.rotationFromVector * Matrix2D.xFlip * Matrix2D.yFlip * Matrix2D.xSkew * Matrix2D.ySkew * multiply * inverse * translate * scale * scaleAt * scaleNonUniform * scaleNonUniformAt * rotate * rotateAt * rotateFromVector * flipX * flipY * skewX * skewY * isIdentity * isInvertible * getScale * getDecomposition * equals * precisionEquals * toString