Name |
Description |
|
constructor(x: number = 0, y: number = 0): Vector2d |
|
|
angleTo(vectorB: Readonly<WritableXAndY>): Angle |
return the (strongly typed) signed angle from this to vectorB. |
|
clone(result?: Vector2d): Vector2d |
Return a new Vector2d with the same x,y |
|
crossProduct(vectorB: Readonly<WritableXAndY>): number |
vector cross product {this CROSS vectorB} |
|
dotProduct(vectorB: Readonly<WritableXAndY>): number |
return the dot product of this with vectorB |
|
dotProductStartEnd(pointA: Readonly<WritableXAndY>, pointB: Readonly<WritableXAndY>): number |
dot product with vector from pointA to pointB |
|
fractionOfProjectionToVector(target: Vector2d, defaultFraction?: number): number |
Return fractional projection of target vector onto this |
|
interpolate(fraction: number, vectorB: Vector2d, result?: Vector2d): Vector2d |
Return a vector computed at fractional position between this vector and vectorB |
|
isParallelTo(other: Vector2d, oppositeIsParallel: boolean = false, returnValueIfAnInputIsZeroLength: boolean = false, options?: PerpParallelOptions): boolean |
Test if this vector is parallel to other. |
|
isPerpendicularTo(other: Vector2d, returnValueIfAnInputIsZeroLength: boolean = false, options?: PerpParallelOptions): boolean |
Test if this vector is perpendicular to other. |
|
minus(vector: Readonly<WritableXAndY>, result?: Vector2d): Vector2d |
return {this - vector}. |
|
negate(result?: Vector2d): Vector2d |
Return a new vector with components negated from this instance. |
|
normalize(result?: Vector2d): undefined | Vector2d |
Return a unit vector in direction of this instance (undefined if this instance has near zero length) |
|
plus(vector: Readonly<WritableXAndY>, result?: Vector2d): Vector2d |
return {this + vector}. |
|
plus2Scaled(vectorA: Readonly<WritableXAndY>, scalarA: number, vectorB: Readonly<WritableXAndY>, scalarB: number, result?: Vector2d): Vector2d |
Return {point + vectorA * scalarA + vectorB * scalarB} |
|
plus3Scaled(vectorA: Readonly<WritableXAndY>, scalarA: number, vectorB: Readonly<WritableXAndY>, scalarB: number, vectorC: Readonly<WritableXAndY>, scalarC: number, result?: Vector2d): Vector2d |
Return {this + vectorA * scalarA + vectorB * scalarB + vectorC * scalarC} |
|
plusScaled(vector: Readonly<WritableXAndY>, scaleFactor: number, result?: Vector2d): Vector2d |
Return {point + vector * scalar} |
|
radiansTo(vectorB: Readonly<WritableXAndY>): number |
return the radians (as a simple number, not strongly typed Angle) signed angle from this to vectorB. |
|
rotate90CCWXY(result?: Vector2d): Vector2d |
Return a vector same length as this but rotated 90 degrees counter clockwise |
|
rotate90CWXY(result?: Vector2d): Vector2d |
Return a vector same length as this but rotated 90 degrees clockwise |
|
rotateXY(angle: Angle, result?: Vector2d): Vector2d |
return a new Vector2d rotated CCW by given angle |
|
safeDivideOrNull(denominator: number, result?: Vector2d): undefined | Vector2d |
Return a (new or optionally reused) vector which is this divided by denominator |
|
scale(scale: number, result?: Vector2d): Vector2d |
Return {this * scale} |
|
scaleToLength(length: number, result?: Vector2d): undefined | Vector2d |
return a vector parallel to this but with specified length |
|
unitPerpendicularXY(result?: Vector2d): Vector2d |
Return a unit vector perpendicular to this instance. |
|
create(x: number = 0, y: number = 0, result?: Vector2d): Vector2d Static |
Return a new Vector2d with given x and y |
|
createFrom(data: Float64Array | Readonly<WritableXAndY>, result?: Vector2d): Vector2d Static |
copy contents from another Point3d, Point2d, Vector2d, or Vector3d, or leading entries of Float64Array |
|
createOffsetBisector(unitPerpA: Vector2d, unitPerpB: Vector2d, offset: number): undefined | Vector2d Static |
Return a vector that bisects the angle between two normals and extends to the intersection of two offset lines |
|
createPolar(r: number, theta: Angle): Vector2d Static |
Return a new Vector2d from polar coordinates for radius and Angle from x axis |
|
createStartEnd(point0: Readonly<WritableXAndY>, point1: Readonly<WritableXAndY>, result?: Vector2d): Vector2d Static |
Return a new Vector2d extending from point0 to point1 |
|
createZero(result?: Vector2d): Vector2d Static |
Return a Vector2d with components 0,0 |
|
fromJSON(json?: XYProps): Vector2d Static |
Set x and y from a JSON input such as [1,2] or {x:1, y:2} |
|
unitX(scale: number = 1): Vector2d Static |
Return a (new) Vector2d with components scale,0 |
|
unitY(scale: number = 1): Vector2d Static |
Return a (new) Vector2d with components 0,scale |
|