jaggy-math

0.6.7 • Public • Published

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.

Package Sidebar

Install

npm i jaggy-math

Weekly Downloads

1

Version

0.6.7

License

ISC

Unpacked Size

13.2 kB

Total Files

4

Last publish

Collaborators

  • madmonkey