Name |
Description |
|
constructor(x: number = 0, y: number = 0): Vector2d |
|
|
angleTo(vectorB: XAndY): Angle |
return the (signed) angle from this to vectorB. |
|
clone(): Vector2d |
Return a new Vector2d with the same x,y |
|
crossProduct(vectorB: XAndY): number |
vector cross product {this CROSS vectorB} |
|
dotProduct(vectorB: XAndY): number |
return the dot product of this with vectorB |
|
dotProductStartEnd(pointA: XAndY, pointB: XAndY): number |
dot product with vector from pointA to pointB |
|
fractionOfProjectionToVector(target: Vector2d, defaultFraction?: number): number |
return the fractional projection of spaceVector onto this |
|
interpolate(fraction: number, right: Vector2d, result?: Vector2d): Vector2d |
return the interpolation {this + fraction * (right - this)} |
|
isParallelTo(other: Vector2d, oppositeIsParallel: boolean = false): boolean |
Test if this and other area parallel, with angle tolerance Geometry.smallAngleRadiansSquared . |
|
isPerpendicularTo(other: Vector2d): boolean |
Returns true if this vector is perpendicular to other . |
|
minus(vector: XAndY, result?: Vector2d): Vector2d |
return {this - vector}. |
|
negate(result?: Vector2d): Vector2d |
Return a new vector with components negated from this instance. |
|
normalize(result?: Vector2d): Vector2d | undefined |
Return a unit vector in direction of this instance (undefined if this instance has near zero length) |
|
plus(vector: XAndY, result?: Vector2d): Vector2d |
return {this + vector}. |
|
plus2Scaled(vectorA: XAndY, scalarA: number, vectorB: XAndY, scalarB: number, result?: Vector2d): Vector2d |
Return {point + vectorA * scalarA + vectorB * scalarB} |
|
plus3Scaled(vectorA: XAndY, scalarA: number, vectorB: XAndY, scalarB: number, vectorC: XAndY, scalarC: number, result?: Vector2d): Vector2d |
Return {this + vectorA * scalarA + vectorB * scalarB + vectorC * scalarC} |
|
plusScaled(vector: XAndY, scaleFactor: number, result?: Vector2d): Vector2d |
Return {point + vector * scalar} |
|
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): Vector2d | undefined |
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): Vector2d | undefined |
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: XAndY | Float64Array, 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): Vector2d | undefined 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: XAndY, point1: XAndY, 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 |
Return a new Vector2d from json structured as [1,2] or {x:1,y:2} |
|
unitX(scale: number = 1): Vector2d Static |
Return a (new) Vector2d with components 1,0 |
|
unitY(scale: number = 1): Vector2d Static |
Return a (new) Vector2d with components 0,1 |
|