hilbert-curve-cli
Version:
Print the Hilbert Curve to the console!
145 lines (120 loc) • 6.54 kB
Markdown
# hilbert-curve-cli
Print the [Hilbert Curve](https://en.wikipedia.org/wiki/Hilbert_curve) to the console!

[](https://www.npmjs.com/package/hilbert-curve-cli)
[](https://bundlephobia.com/package/hilbert-curve-cli)
[](https://www.npmjs.com/package/hilbert-curve-cli)
[](https://github.com/spirometaxas/hilbert-curve-cli/blob/main/LICENSE)
Why the console? Because it's the *cool* way.
[See All Fractals](https://spirometaxas.com/projects/fractals-cli) in the [fractals-cli](https://www.npmjs.com/package/fractals-cli) project.
## Usage
### Via `npx`:
```
$ npx hilbert-curve-cli <n>
$ npx hilbert-curve-cli <n> [options]
```
where `n >= 1`.
### Via Global Install
```
$ npm install --global hilbert-curve-cli
$ hilbert-curve-cli <n>
$ hilbert-curve-cli <n> [options]
```
where `n >= 1`.
### Via Import
```
$ npm install hilbert-curve-cli
```
then:
```
const hilbert_curve = require('hilbert-curve-cli');
console.log(hilbert_curve.create(<n>);
console.log(hilbert_curve.create(<n>, {
rotation: <left|right|flip|standard>,
line: <bold|double|standard>
});
```
The config params are optional.
## Options
### Recursive Step
```
$ hilbert-curve-cli <n>
```
The first param `<n>` is the recursive step. `<n>` should be an integer greater than or equal to 1.
#### Examples:
```
$ hilbert-curve-cli 4
```

```
$ hilbert-curve-cli 5
```

### Rotation
```
$ hilbert-curve-cli <n> --rotate=<left|right|flip|standard>
```
The optional `--rotate` param rotates the Hilbert Curve. Supported values:
- `left`: Rotate left 90 degrees
- `right`: Rotate right 90 degrees
- `flip`: Rotate 180 degrees
- `standard`: No rotation (default)
#### Example:
```
$ hilbert-curve-cli 5 --rotate=right
```

```
$ hilbert-curve-cli 5 --rotate=flip
```

```
$ hilbert-curve-cli 5 --rotate=left
```

### Line Type
```
$ hilbert-curve-cli <n> --line=<bold|double|standard>
```
The optional `--line` param draws the Hilbert Curve using different line types. Supported values:
- `bold`: Draw using bold lines
- `double`: Draw using double lines
- `standard`: Draw using standard lines (default)
#### Examples:
```
$ hilbert-curve-cli 5 --line=bold
```

```
$ hilbert-curve-cli 5 --line=double
```

## Related
#### Main Project
- [fractals-cli](https://www.npmjs.com/package/fractals-cli) - Print 22 Fractals to the console
#### Fractal Shapes
- [sierpinski-triangle-cli](https://www.npmjs.com/package/sierpinski-triangle-cli) - Print the Sierpinski Triangle to the console
- [sierpinski-carpet-cli](https://www.npmjs.com/package/sierpinski-carpet-cli) - Print the Sierpinski Carpet to the console
- [sierpinski-hexagon-cli](https://www.npmjs.com/package/sierpinski-hexagon-cli) - Print the Sierpinski Hexagon to the console
- [hexaflake-cli](https://www.npmjs.com/package/hexaflake-cli) - Print the Hexaflake Fractal to the console
- [koch-snowflake-cli](https://www.npmjs.com/package/koch-snowflake-cli) - Print the Koch Snowflake to the console
- [koch-antisnowflake-cli](https://www.npmjs.com/package/koch-antisnowflake-cli) - Print the Koch Anti-Snowflake to the console
- [triflake-cli](https://www.npmjs.com/package/triflake-cli) - Print the Triflake Fractal to the console
#### Fractal Patterns
- [cantor-set-cli](https://www.npmjs.com/package/cantor-set-cli) - Print the Cantor Set to the console
- [cantor-dust-cli](https://www.npmjs.com/package/cantor-dust-cli) - Print the Cantor Dust Fractal to the console
- [h-tree-cli](https://www.npmjs.com/package/h-tree-cli) - Print the H-Tree Fractal to the console
- [minkowski-sausage-cli](https://www.npmjs.com/package/minkowski-sausage-cli) - Print the Minkowski Sausage to the console
- [t-square-cli](https://www.npmjs.com/package/t-square-cli) - Print the T-Square Fractal to the console
- [vicsek-fractal-cli](https://www.npmjs.com/package/vicsek-fractal-cli) - Print the Vicsek Fractal to the console
- [v-tree-cli](https://www.npmjs.com/package/v-tree-cli) - Print the V-Tree Fractal to the console
#### Space Filling Curves
- [dragon-curve-cli](https://www.npmjs.com/package/dragon-curve-cli) - Print the Dragon Curve to the console
- [moore-curve-cli](https://www.npmjs.com/package/moore-curve-cli) - Print the Moore Curve to the console
- [peano-curve-cli](https://www.npmjs.com/package/peano-curve-cli) - Print the Peano Curve to the console
- [greek-cross-cli](https://www.npmjs.com/package/greek-cross-cli) - Print the Greek Cross Fractal to the console
- [gosper-curve-cli](https://www.npmjs.com/package/gosper-curve-cli) - Print the Gosper Curve to the console
- [sierpinski-arrowhead-cli](https://www.npmjs.com/package/sierpinski-arrowhead-cli) - Print the Sierpinski Arrowhead Curve to the console
- [sierpinski-curve-cli](https://www.npmjs.com/package/sierpinski-curve-cli) - Print the Sierpinski "Square" Curve to the console
## License
- [MIT](https://github.com/spirometaxas/hilbert-curve-cli/blob/main/LICENSE) © [Spiro Metaxas](https://spirometaxas.com)