2.1.1 • Published 5 years ago

kld-affine v2.1.1

Weekly downloads
28,048
License
BSD-3-Clause
Repository
github
Last release
5 years ago

kld-affine


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

import {Point2D, Vector2D, Matrix2D} = require("kld-affine");

ESM in Modern Browsers

import {Point2D, Vector2D, Matrix2D} from './node_modules/kld-affine/dist/index-esm.js';

Older Browsers

<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

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