JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 2
  • Score
    100M100P100Q18276F
  • License ISC

Jaggy-math is a work in progress library to support the development of jaggies.io, a pixel art paint and 3d rendering tool.

Package Exports

  • jaggy-math

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (jaggy-math) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Jaggy-math is a work in progress library to support the development of jaggies.io, a pixel art paint and 3d rendering tool. Shout out to eadsjr who helped refine the code.

Installation

$ npm install jaggy-math

Points

Many of the functions simply streamline the manipulation of points. Any object with x, y, and z properties can be provided as parameters. For example, you would normaly use:

var newPoint = {
    x: Math.round(point.x),
    y: Math.round(point.y),
    z: Math.round(point.z),
};

But instead you could simplify it to one line with:

var newPoint = JaggyMath.round(point);

Colors

The library can also convert between rgba color objects and hex color strings.

console.log(JaggyMath.rgbaToHex({ r:186, g:202, b:254, a:255 }));

Outputs #BACAFE

Pixel Primatives

So far the library has functions for rendering stroked lines, circles, and elipses. More primatives to come!

ctx.fillStyle = JaggyMath.rgbaToHex({ r: 255, g: 0, b:0 , a:255 });
JaggyMath.drawLine(ctx, {x: 10, y:8}, {x: 32, y:8});
JaggyMath.drawLine(ctx, {x: 8, y:12}, {x: 29, y:17});
JaggyMath.drawLine(ctx, {x: 6, y:16}, {x: 20, y:24});

ctx.fillStyle = JaggyMath.rgbaToHex({ r: 0, g: 255, b: 0 , a:255 });
JaggyMath.strokeEllipse(ctx, 24, 12, {x: 60, y:16});

ctx.fillStyle = JaggyMath.rgbaToHex({ r: 0, g: 0, b:255 , a:255 });
JaggyMath.strokeCircle(ctx, 24, {x: 104, y:16});

Outputs:

Other Fun Stuff

Use Pythagorean Theorem a lot? Try:

 JaggyMath.pythag(a, b)

Need to find the sum of a series of consecutive intergers? Try:

JaggyMath.summate(n, n1)

Where n is the last interger. n1 is the starting interger and defautlts to 1.

More to come...

Keep in mind that this is a work in progress. Don't expect it to be super stable and fleshed out until version 1.0.0. Some of the stuff I have planned are matrix and vector transformations as well as image manipulation functions.