Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/amandaghassaei/vector-math
A minimal vector math library to handle 2D/3D translations and rotations.
https://github.com/amandaghassaei/vector-math
Last synced: 13 days ago
JSON representation
A minimal vector math library to handle 2D/3D translations and rotations.
- Host: GitHub
- URL: https://github.com/amandaghassaei/vector-math
- Owner: amandaghassaei
- License: mit
- Created: 2023-04-13T20:22:01.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-08-28T03:39:34.000Z (3 months ago)
- Last Synced: 2024-09-28T06:17:57.739Z (about 1 month ago)
- Language: TypeScript
- Homepage:
- Size: 1.54 MB
- Stars: 11
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# @amandaghassaei/vector-math
[![NPM Package](https://img.shields.io/npm/v/@amandaghassaei/vector-math)](https://www.npmjs.com/package/@amandaghassaei/vector-math)
[![Build Size](https://img.shields.io/bundlephobia/min/@amandaghassaei/vector-math)](https://bundlephobia.com/result?p=@amandaghassaei/vector-math)
[![NPM Downloads](https://img.shields.io/npm/dw/@amandaghassaei/vector-math)](https://www.npmtrends.com/@amandaghassaei/vector-math)
[![License](https://img.shields.io/npm/l/@amandaghassaei/vector-math)](https://github.com/amandaghassaei/vector-math/blob/main/LICENSE)
![](https://img.shields.io/badge/Coverage-100%25-83A603.svg?prefix=$coverage$)A minimal vector math library to handle 2D/3D translations and rotations.
- Written in Typescript with exported type declarations.
- Supports [Three.js's](https://github.com/mrdoob/three.js) Vector2, Vector3, and Quaternion types as inputs.
- Includes readonly class types.
- Includes unit tests with 100% coverage.Table of Contents:
- [Installation](#installation)
- [Use](#use)
- [License](#license)
- [Acknowledgments](#acknowledgments)
- [Development](#development)## Installation
### Install via NPM
```sh
npm install @amandaghassaei/vector-math
```
Then import via:
```js
import { Vector2 } from '@amandaghassaei/vector-math';
```### Install as JS
*OR* in the browser you can add [bundle/vector-math.js](https://github.com/amandaghassaei/vector-math/blob/main/bundle/vector-math.js) or [bundle/vector-math.min.js](https://github.com/amandaghassaei/vector-math/blob/main/bundle/vector-math.min.js) to your html:
```html
....
```
Then in your js files, you can access the global variable `VECTOR_MATH`:```js
const { Vector2 } = VECTOR_MATH;
```## Use
See full API documentation in [docs/](https://github.com/amandaghassaei/vector-math/tree/main/docs).
## License
This work is distributed under an [MIT license](https://github.com/amandaghassaei/vector-math/blob/main/LICENSE). It has no dependencies.
## Acknowledgments
Most of this library has been ported from [Three.js's source code](https://github.com/mrdoob/three.js).
## Development
Feel free to submit pull requests pertaining to bugs or type issues, but I probably won't want to expand the functionality of this library much beyond where it is currently. There are other libraries out there that cover a wider range of linear algebra functions and types, this library is meant to be small and bounded in its scope.
Install dev-dependencies:
```sh
npm install
```Build from `src` to `dist` and compile docs:
```sh
npm run build
```Test with code coverage:
```sh
npm run test-with-coverage
```