new CoordUtils()
Utility methods about coordinates (2D or 3D).
- Source:
Methods
-
(static) absValue(coord) → {Hash}
-
Returns the absolute value of each coord axises.
Parameters:
Name Type Description coord
Hash - Source:
Returns:
- Type
- Hash
-
(static) add(coord1, coord2) → {Hash}
-
Add value of two coordinates.
Parameters:
Name Type Description coord1
Hash coord2
Hash - Source:
Returns:
- Type
- Hash
-
(static) calcCoordGroup2DTransformParams(targetCoord1, targetCoord2, destCoord1, destCoord2) → {Hash}
-
Returns suitable 2D transform params that can transform a line between targetCoord1/targetCoord2 to destCoord1, destCoord2.
Parameters:
Name Type Description targetCoord1
Hash targetCoord2
Hash destCoord1
Hash destCoord2
Hash - Source:
Returns:
- Type
- Hash
-
(static) calcInverseTransform2DMatrix(options) → {Array}
-
Calculate inversed transform matrix of options.
Parameters:
Name Type Description options
Hash - Source:
Returns:
- Type
- Array
-
(static) calcInverseTransform3DMatrix(options) → {Array}
-
Calculate inversed transform matrix of options.
Parameters:
Name Type Description options
Hash - Source:
Returns:
- Type
- Array
-
(static) calcRotate3DMatrix(options) → {Array}
-
Calculate 3D rotation matrix from options.
Parameters:
Name Type Description options
Object Rotation options, can has the following fields: rotateX, rotateY, rotateZ, // if Y is set, Z will be ignored; if X is set, Y/Z will be ignored rotateAngle, rotateAxisVector // rotate around a vector start from center or zero point, if this value is set, rotateX-Z will be ignored rotateMatrix // use matrix to rotate directly center: {x, y, z} (center of rotate). - Source:
Returns:
A 4X4 matrix.- Type
- Array
-
(static) calcTransform2DMatrix(options) → {Array}
-
Calculate the 2D transfrom matrix. The tranform will be performed in the following order: rotate, scale, translate.
Parameters:
Name Type Description options
Hash Transform options, can has the following fields: scale, scaleX, scaleY translateX, translateY, rotateAngle, center: {x, y} (center of rotate and scale). - Source:
Returns:
A 4X4 matrix.- Type
- Array
-
(static) calcTransform3DMatrix(options) → {Array}
-
Calculate the 3D transfrom matrix. The tranform will be performed in the following order: rotate, scale, translate.
Parameters:
Name Type Description options
Object Transform options, can has the following fields: scale, scaleX, scaleY, scaleZ, // all scale from center or zero point translateX, translateY, translateZ, rotateX, rotateY, rotateZ, // if Y is set, Z will be ignored; if X is set, Y/Z will be ignored rotateAngle, rotateAxisVector // rotate around a vector start from center or zero point, if this value is set, rotateX-Z will be ignored rotateMatrix // use matrix to rotate directly center: {x, y, z} (center of rotate and scale). - Source:
Returns:
A 4X4 matrix.- Type
- Array
-
(static) clone(coord) → {Hash}
-
Clone a coord.
Parameters:
Name Type Description coord
Hash - Source:
Returns:
- Type
- Hash
-
(static) create() → {Hash}
-
Create a coordinate object by params. If two params provided, a 2D (x/y) coordinate will be created, else 3D (x/y/z) one will be created.
- Source:
Returns:
- Type
- Hash
-
(static) divide(coord, value) → {Hash}
-
Coord / value.
Parameters:
Name Type Description coord
Hash value
Num - Source:
Returns:
- Type
- Hash
-
(static) getCenter(coords) → {Hash}
-
Calculate center coord of a set of coords.
Parameters:
Name Type Description coords
Array - Source:
Returns:
- Type
- Hash
-
(static) getContainerBox(coords) → {Hash}
-
Returns a minial box that contains all coords.
Parameters:
Name Type Description coords
Array Array of coords. - Source:
Returns:
- Type
- Hash
-
(static) getDistance(coord1, coord2) → {Float}
-
Get distance between two coords. If coord2 is not set, this function will calc distance between coord1 and zero point.
Parameters:
Name Type Description coord1
Hash coord2
Hash - Source:
Returns:
- Type
- Float
-
(static) insideRect(coord, rectCoord1, rectCoord2) → {Bool}
-
Check if coord inside 2D rect.
Parameters:
Name Type Description coord
Object rectCoord1
Object rectCoord2
Object - Deprecated:
- Yes
- Source:
Returns:
- Type
- Bool
-
(static) inverseTransform2D(coord, options) → {Hash}
-
Do a reversed 2d transform to a coord.
Parameters:
Name Type Description coord
Hash 2D coordinate. options
Hash Transform options, can has the following fields: scale, scaleX, scaleY translateX, translateY, rotateAngle, center: {x, y} (center of rotate and scale). - Source:
Returns:
2D coord after reversed transform.- Type
- Hash
-
(static) is3D(coord) → {Bool}
-
Check if the coord is a 3D one (has z value)
Parameters:
Name Type Description coord
Object - Source:
Returns:
- Type
- Bool
-
(static) isEqual(coord1, coord2) → {Bool}
-
Check if two coords are same.
Parameters:
Name Type Description coord1
Hash coord2
Hash - Source:
Returns:
- Type
- Bool
-
(static) isInsideBox(coord, box) → {Bool}
-
Check if coord is inside a box.
Parameters:
Name Type Description coord
Hash box
Hash - Source:
Returns:
- Type
- Bool
-
(static) isZero(coord, allowedError) → {Bool}
-
Check if a coord is a zero one (x/y/z all equals to 0).
Parameters:
Name Type Description coord
Hash allowedError
Float - Source:
Returns:
- Type
- Bool
-
(static) multiply(coord, value) → {Hash}
-
Coord * value.
Parameters:
Name Type Description coord
Hash value
Num - Source:
Returns:
- Type
- Hash
-
(static) standardize(coord) → {Hash}
-
Standardize coord to a length 1 vector.
Parameters:
Name Type Description coord
Hash - Source:
Returns:
- Type
- Hash
-
(static) substract(coord1, coord2) → {Hash}
-
Substract values of two coordinates, coord1 - coord2.
Parameters:
Name Type Description coord1
Hash coord2
Hash - Source:
Returns:
- Type
- Hash
-
(static) toArray(coord) → {Array}
-
Convert coord to a 2D or 3D array of values
Parameters:
Name Type Description coord
Hash - Source:
Returns:
- Type
- Array
-
(static) transform2D(coord, options) → {Hash}
-
Do a 2d transform to a coord. The tranform will be performed in the following order: rotate, scale, translate.
Parameters:
Name Type Description coord
Hash 2D coordinate. options
Hash Transform options, can has the following fields: scale, scaleX, scaleY translateX, translateY, rotateAngle, center: {x, y} (center of rotate and scale). - Source:
Returns:
2D coord after transform.- Type
- Hash
-
(static) transform2DByMatrix(coord, transformMatrix)
-
Do a 2D transform to a coord by a transformer matrix.
Parameters:
Name Type Description coord
Hash transformMatrix
Array A 3X3 matrix. - Source:
-
(static) transform3D(coord, options) → {Hash}
-
Do a 3d transform to a coord. The tranform will be performed in the following order: rotate, scale, translate.
Parameters:
Name Type Description coord
Hash 3D coordinate. options
Hash Transform options, can has the following fields: scale, scaleX, scaleY, scaleZ, // all scale from center or zero point translateX, translateY, translateZ, rotateX, rotateY, rotateZ, rotateAngle, rotateAxisVector // rotate around a vector start from center or zero point rotateMatrix // use matrix to rotate directly center: {x, y, z} (center of rotate and scale). - Source:
Returns:
3D coord after transform.- Type
- Hash
-
(static) transform3DByMatrix(coord, transformMatrix)
-
Do a 3d transform to a coord by a transformer matrix.
Parameters:
Name Type Description coord
Hash transformMatrix
Array A 4X4 matrix. - Source: