jaggy-math
v0.6.7
Published
Jaggy-math is a work in progress library to support the development of jaggies.io, a pixel art paint and 3d rendering tool.
Downloads
3
Maintainers
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.