Skip to content

Generates a blocky fractal-like shape, like a tile-based randomized koch curve

License

Notifications You must be signed in to change notification settings

sbj42/block-fractal

Repository files navigation

BlockFractal

Dependencies Node.js CI License

Generates a blocky fractal-like shape, like a tile-based randomized koch curve

See the demo

Example Result

Installation

npm install block-fractal

Usage

Create a block fractal:

const BlockFractal = require('block-fractal');

const path = BlockFractal.makeBlockFractal({
    iterations: 7
});

Convert the path into a set of raster lines (makes cell tests faster):

const mask = path.rasterize();

Test if a tile is in the shape:

const inside = mask.get(x, y);

...

Details

BlockFractal starts with a "seed" shape, which by default is a 2x2 square:

Example 1

The shape is doubled, and then each edge is either left in place or moved to one side or the other:

Example 10

The result is a new, bigger shape, similar to the previous shape but with a more varied border:

Example 13

That process is then repeated as many times as requested.

For more information, see the Algorithm Overview

About

Generates a blocky fractal-like shape, like a tile-based randomized koch curve

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published