<p>These rely on a transformation from global coordinates to path local coordinates, where the local axes are along and out (or more often u and v). In essence this all works on a principle similar to how offset works.</p>

<p><a href="https://i.sstatic.net/GRsF9.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/GRsF9.png" alt="enter image description here"></a></p>

<p><strong>Image 1</strong>: Depiction of local axes.</p>

<p>Now the first one ($A$) is a sweep of an oval. Which is technically the most challenging of the four. In essence You offset edges directionally and cap them with a fixed directional oval. Although this has all kinds of interesting edge cases. A lot of mathematical lore is known about sweeping shapes as this is somewhat hard to do in 3D and doing so with an arbitrary shape is useful for the cad crowd. At it simplest its just sampling many times, which allows for change in shape along line, but quite sophisticated approaches are available.</p>

<p><a href="https://i.sstatic.net/rGI67.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/rGI67.png" alt="enter image description here"></a></p>

<p><strong>Image 2</strong>: Oval sweep.</p>

<p>The second is simply (bombing) a shape in random places in the new coordinate system. Mathematically this is pretty simple. Generate a number in along direction then find that point. Then generate a second number and multiply that by the normal direction vector of your path then add this to the point.</p>

<p>The third and fourth just do this for a lot of points read in form a Cartesian template object. Again you should familiarize yourself with how offset and graduated offset is done. You can find a lot of references but one of my favorite online resource for Béziers is in the <a href="https://pomax.github.io/bezierinfo/#graduatedoffset" rel="nofollow noreferrer">Pomax Bézier primer</a>. Its just lot of small offset lines to transform from. </p>

CC BY-SA 3.0
2017-07-03T07:54:01.700Z
2017-07-03T08:00:02.250Z
2017-07-03T08:00:02.250Z
joojaa
<p>I want to find out how the art brush in adobe illustrator works.  </p>

<p>It looks like it's taking some vector art and applying it to a smooth line. </p>

<p><a href="https://i.sstatic.net/rN7IF.jpg" rel="nofollow noreferrer"><img src="https://i.sstatic.net/rN7IF.jpg" alt="enter image description here"></a></p>

<p>How can I go about implementing this?</p>

<vector-graphics>
adobe illustrator art brush, how does it work?
Mark Markrowave Charlton
# adobe illustrator art brush, how does it work?

(Asked by: username_0 on 2017-06-30)

I want to find out how the art brush in adobe illustrator works.

It looks like it's taking some vector art and applying it to a smooth line.

[![enter image description here](https://i.sstatic.net/rN7IF.jpg)](https://i.sstatic.net/rN7IF.jpg)

How can I go about implementing this?

**Tags:** vector-graphics


---

## 1 answers

### Answer by username_1 on 2017-07-03. Score: 3 | Accepted answer

These rely on a transformation from global coordinates to path local coordinates, where the local axes are along and out (or more often u and v). In essence this all works on a principle similar to how offset works.

[![enter image description here](https://i.sstatic.net/GRsF9.png)](https://i.sstatic.net/GRsF9.png)

**Image 1**: Depiction of local axes.

Now the first one ($A$) is a sweep of an oval. Which is technically the most challenging of the four. In essence You offset edges directionally and cap them with a fixed directional oval. Although this has all kinds of interesting edge cases. A lot of mathematical lore is known about sweeping shapes as this is somewhat hard to do in 3D and doing so with an arbitrary shape is useful for the cad crowd. At it simplest its just sampling many times, which allows for change in shape along line, but quite sophisticated approaches are available.

[![enter image description here](https://i.sstatic.net/rGI67.png)](https://i.sstatic.net/rGI67.png)

**Image 2**: Oval sweep.

The second is simply (bombing) a shape in random places in the new coordinate system. Mathematically this is pretty simple. Generate a number in along direction then find that point. Then generate a second number and multiply that by the normal direction vector of your path then add this to the point.

The third and fourth just do this for a lot of points read in form a Cartesian template object. Again you should familiarize yourself with how offset and graduated offset is done. You can find a lot of references but one of my favorite online resource for Béziers is in the [Pomax Bézier primer](https://pomax.github.io/bezierinfo/#graduatedoffset). Its just lot of small offset lines to transform from.


---

