ts-vector2d
v1.0.1
Published
A comprehensive TypeScript library for 2D vector operations, including addition, subtraction, multiplication, division, normalization, and more. Ideal for game development, physics simulations, and graphical applications.
Downloads
7
Readme
Vector2D Library for TypeScript
A comprehensive TypeScript library for 2D vector operations, including addition, subtraction, multiplication, division, normalization, and more. Ideal for game development, physics simulations, and graphical applications.
Features
- Create and manipulate 2D vectors
- Perform vector arithmetic (addition, subtraction, multiplication, division)
- Calculate dot and cross products
- Normalize vectors
- Calculate magnitude and distance between vectors
- Rotate vectors
- Linear interpolation between vectors
Installation
You can install the library using npm:
npm install ts-vector2d
Usage
Here's a quick example of how to use the Vector2D
class:
import { Vector2D } from 'vector2d';
const vector1 = new Vector2D(3, 4);
const vector2 = new Vector2D(1, 2);
// Vector addition
const result = vector1.add(vector2);
console.log(`Result of addition: (${result.getX()}, ${result.getY()})`);
// Vector normalization
const normalized = vector1.normalize();
console.log(`Normalized vector: (${normalized.getX()}, ${normalized.getY()})`);
API Reference
Vector2D
Constructor
constructor(x: number, y: number)
x - The x-coordinate.
y - The y-coordinate.
Methods
getX(): number
- Gets the x-coordinate.getY(): number
- Gets the y-coordinate.setX(x: number): void
- Sets the x-coordinate.setY(y: number): void
- Sets the y-coordinate.set(x: number, y: number): void
- Sets both the x and y coordinates.add(vector: Vector2D): Vector2D
- Adds another vector to this vector.subtract(vector: Vector2D): Vector2D
- Subtracts another vector from this vector.multiply(scalar: number): Vector2D
- Multiplies this vector by a scalar.divide(scalar: number): Vector2D
- Divides this vector by a scalar.dot(vector: Vector2D): number
- Calculates the dot product of this vector and another vector.cross(vector: Vector2D): number
- Calculates the cross product of this vector and another vector.magnitude(): number
- Calculates the magnitude (length) of this vector.normalize(): Vector2D
- Normalizes this vector (makes it have a magnitude of 1).clone(): Vector2D
- Creates a copy of this vector.equals(vector: Vector2D): boolean
- Checks if this vector is equal to another vector.toString(): string
- Returns a string representation of this vector.distance(vector: Vector2D): number
- Calculates the distance to another vector.angle(): number
- Calculates the angle of this vector relative to the positive X-axis.rotate(angle: number): Vector2D
- Rotates this vector by a given angle.lerp(vector: Vector2D, t: number): Vector2D
- Performs linear interpolation between this vector and another vector.