Skip to content

Commit

Permalink
Merge pull request #222 from BrightTheBackpack/main
Browse files Browse the repository at this point in the history
Update the guides to use 'Blot' instead of 'Haxidraw'
  • Loading branch information
leomcelroy authored Dec 21, 2023
2 parents e07ac56 + 64a49cd commit 8d98b5d
Show file tree
Hide file tree
Showing 9 changed files with 16 additions and 16 deletions.
6 changes: 3 additions & 3 deletions guides/10PRINT.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,15 @@ From just that one line, the following intricate pattern is created:

<img alt="10print" src="https://cloud-ajv6et0c3-hack-club-bot.vercel.app/0the_ppg256_article_image.webp" width="512"/>

There's even a book named after this program: [10print.org](https://10print.org/)! For this guide, let's try to replicate this artwork for **_Haxidraw_**. (This tutorial works fine if you don't have one!)
There's even a book named after this program: [10print.org](https://10print.org/)! For this guide, let's try to replicate this artwork for **_Blot_**. (This tutorial works fine if you don't have one!)

A Haxidraw is a small drawing robot that can be programed from a browser. You send it instructions through code, and it follows those instructions to create a drawing. By the end of this guide, you will have created some art that can be drawn by the machine!
A Blot is a small drawing robot that can be programed from a browser. You send it instructions through code, and it follows those instructions to create a drawing. By the end of this guide, you will have created some art that can be drawn by the machine!

<img src="https://haxidraw.hackclub.com/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fdrawing-machine.726ff526.png&w=3840&q=75" width="512"/>

<img src="https://cloud-gal4nsl32-hack-club-bot.vercel.app/0image.png" width="512"/>

Here are some examples of art people have made with Haxidraw:
Here are some examples of art people have made with Blot:

<img src="https://github.com/hackclub/haxidraw/blob/main/art/landscape-henry/snapshots/landscape.png?raw=true" width="512"/>

Expand Down
6 changes: 3 additions & 3 deletions guides/10PRINT2.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@ From just that one line, the following intricate pattern is be created:
width="512px"
/>

There's even a book named after this program: [10print.org](https://10print.org/)! For this guide, let's try to replicate this artwork for **_Haxidraw_**. (This tutorial works fine if you don't have one!)
There's even a book named after this program: [10print.org](https://10print.org/)! For this guide, let's try to replicate this artwork for **_Blot_**. (This tutorial works fine if you don't have one!)

A Haxidraw is a small drawing robot that can be programed from a browser. You send it instructions through code, and it follows those instructions to create a drawing. By the end of this guide, you will have created some art that can be drawn by the machine!
A Blot is a small drawing robot that can be programed from a browser. You send it instructions through code, and it follows those instructions to create a drawing. By the end of this guide, you will have created some art that can be drawn by the machine!

<img
src="https://cloud-imp7l9zfa-hack-club-bot.vercel.app/0232548454-cfc5bbb6-f242-43a8-bbec-d573518cc505.jpg"
Expand All @@ -34,7 +34,7 @@ A Haxidraw is a small drawing robot that can be programed from a browser. You se
width="512px"
/>

Here are some examples of art people have made with Haxidraw:
Here are some examples of art people have made with Blot:

<img
src="https://github.com/hackclub/haxidraw/blob/main/art/landscape-henry/snapshots/landscape.png?raw=true"
Expand Down
2 changes: 1 addition & 1 deletion guides/cubic_disarray.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ contributors: henrybass

<img alt="cubic disarray" src="https://cloud-r9jbhouts-hack-club-bot.vercel.app/0im.webp" width="512"/>

Let's try to recreate this in the Haxidraw editor. A good first step to reverse engineering any artwork is to break it down into the obvious components. There's a grid of squares, and the squares closer to the bottom seem to be rotated more and more.
Let's try to recreate this in the Blot editor. A good first step to reverse engineering any artwork is to break it down into the obvious components. There's a grid of squares, and the squares closer to the bottom seem to be rotated more and more.

We can get started by setting up a turtle, and define some constants:

Expand Down
2 changes: 1 addition & 1 deletion guides/eca.md
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ We then check if the state matches, and if it does, follow the rule defined:
```

Now, how should we draw this?
Since the Haxidraw can't directly render pixels, we'll have to be a _bit_ more creative with how we do this.
Since the Blot can't directly render pixels, we'll have to be a _bit_ more creative with how we do this.

By using the following rendering method, we can some visually interesting results:

Expand Down
2 changes: 1 addition & 1 deletion guides/joydivision.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ let height = Math.random();

You'll quickly notice that this doesn't look too good - the offset is _too_ random. A good compromise is smooth noise. This kind of noise is random on large scales, but smooth when looked at close up. It's good for natural-looking curves, and matches the randomness seen on the Joy Division album cover.

We can call this in the Haxidraw editor with `noise([x, y], {octaves:n, falloff:k})`. The octaves dictate how intricate this noise is, and the falloff dictates how much the small scale detail should affect the final value.
We can call this in the Blot editor with `noise([x, y], {octaves:n, falloff:k})`. The octaves dictate how intricate this noise is, and the falloff dictates how much the small scale detail should affect the final value.

We don't want pure smooth noise, and we'll instead want to modify how we sample it a bit. Set `height` equal to `line + sampleNoise(x, line)`, and define that function:

Expand Down
6 changes: 3 additions & 3 deletions guides/landscape.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ contributors: henrybass

<img alt="landscape" src="https://cloud-bxuqstv0l-hack-club-bot.vercel.app/00image-2.webp" width="512"/>

This is an explainer on how to create art like the image above in the [Haxidraw editor](https://haxidraw.hackclub.dev/). It assumes some knowledge of programming in JavaScript and how Haxidraw works, but nothing beyond that.
This is an explainer on how to create art like the image above in the [Blot editor](https://blot.hackclub.dev/). It assumes some knowledge of programming in JavaScript and how Blot works, but nothing beyond that.

#### Steps:

Expand Down Expand Up @@ -40,7 +40,7 @@ This is much closer, but it's missing an essential aspect: Detail. Hills on a la

That looks a lot closer! As a note, the amount we change the frequency, amplitude, and blur with respect to each octave is arbitrary, and tweaking those functions can lead to interesting variations of our noise. The name of this technique is: _Fractal Noise_.

In fact, the Haxidraw editor actually has a function for fractal noise built in!
In fact, the Blot editor actually has a function for fractal noise built in!

```js
// y and z are optional
Expand Down Expand Up @@ -85,7 +85,7 @@ for (let y = 0; y < 15; y += dy) {
}
```

Using the `t.goTo([x, y])` function in Haxidraw, we can create straight lines. If we want to replicate a smooth curve, we have to use many `goTo` commands with very small changes in the x and y.
Using the `t.goTo([x, y])` function in Blot, we can create straight lines. If we want to replicate a smooth curve, we have to use many `goTo` commands with very small changes in the x and y.

If we just call `t.goTo([x, y])` at every x and y in our loop, we'll get straight lines. Instead, let's add the noise height to this, with `t.goTo([x, y + height])`.

Expand Down
2 changes: 1 addition & 1 deletion guides/mesh.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ for(var y = gap / 2; y <= size; y+= gap) {
dot = {x: x + (odd ? gap/2 : 0), y: y};
```
Then, use the built-in haxidraw noise function to offset the points again, this time randomly. Also, add an offset on the x axis if we're drawing an odd-numbered line.
Then, use the built-in blot noise function to offset the points again, this time randomly. Also, add an offset on the x axis if we're drawing an odd-numbered line.
```js
let n = noise([x * 0.1, y * 0.1])
Expand Down
2 changes: 1 addition & 1 deletion guides/roots.md
Original file line number Diff line number Diff line change
Expand Up @@ -333,5 +333,5 @@ That's it! But you can still add a lot of features from here, if you're up to it
- For instance, one thing to add would be occlusion, so each branch can be assigned a z-index and cover other ones, so many more branches can be rendered without being too busy
- Or, you could make the texturing more interesting by varying `ringSeed` for different branches or different regions
- You could render multiple initial branches/roots at the start, and generate random parameters for each one in an interesting pattern
- Add some logic so the branches stay within the Haxidraw bed/document always, and curl away from the edges if they get too close
- Add some logic so the branches stay within the blot bed/document always, and curl away from the edges if they get too close
- Generate a texture for the background
4 changes: 2 additions & 2 deletions hardware/mechanical/drawing-thing-v3/README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Haxidraw
# Blot

<img width="500" alt="drawing machine with a turtle illustration" src="https://cloud-g6sk6by5j-hack-club-bot.vercel.app/0screenshot_2023-04-06_at_1.50.17_pm.png" align="right" />

The Haxidraw is a "you ship, we ship" project, similar to [Sprig](https://sprig.hackclub.com). This time if you make some digital art we'll send you the parts to build a robot which can make that art real.
Blot is a "you ship, we ship" project, similar to [Sprig](https://sprig.hackclub.com). This time if you make some digital art we'll send you the parts to build a robot which can make that art real.

We're also working with some researchers at MIT to make digital fabrication machines like this much more open and hackable. We're doing this by taking functionality which would ordinarily be inaccessible in the firmware and lifting it up to the user in a programmable browser editor. We call it [Modular Things](https://github.com/modular-things/modular-things).

Expand Down

1 comment on commit 8d98b5d

@vercel
Copy link

@vercel vercel bot commented on 8d98b5d Dec 21, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Successfully deployed to the following URLs:

blot – ./astro

blot-git-main.hackclub.dev
blot.hackclub.dev

Please sign in to comment.