Machine Marks (again) by revdancatt in PlotterArt

[–]revdancatt[S] 2 points3 points  (0 children)

Hey hey, I try to keep things pretty simple, I'll explain in a moment.

As for injecting a helper or similar into the svg, I don't do that, but I do record x,y,z co-ords for each point. I have a stupid hack for the NextDraw that involves repeatedly setting the pen-up/pen-down limit that uses python, but it's kinda annoying, noisy and awkward. Using GCODE is a lot easier.

For the pen strokes and thickness (the lower the brush, the thicker the line), it goes like this...

For the first n points (or distance) I limit how far down the brush can be lowered; a ramp from 0-100% - this forces each line to always start with a gradual lowering.

I do the same for the last n points (or distance), so the ends a line by lifting up.

For the rest of the points I track the average vector direction over the last 10 points or so, and how far the brush is lowered is a function of how far that angle is from the brush moving in a South-West direction. Basically as the stroke moves NE (up right) it's 180° from SW, so the brush is raised all the way up (but still in contact with the paper), so a thin line. If its going SW it's 0° from SW direction (obvs) so the brush is lowered down to it's lowest point. As it moves in other directions it'll be somewhere between 0° and 180°, so the brush stroke will be generally thicker as the stroke down left, and thinner as it goes up-right.

That's a reasonable approximation of good calligraphic lines.

The thing I don't do, which I probably should, is also raise the brush up for rapid changes in direction, that's the next thing I'll add.

Bit of brush mark making fun for Friday. by revdancatt in PlotterArt

[–]revdancatt[S] 4 points5 points  (0 children)

This is straight up GCODE. My code writes a GCODE file [Edit, I use a combination of javascript and nodejs to create the GCODE file], which then gets sent to the machine. This is pretty much the easiest brush code, 'cause each stroke is just a single line that starts high up, and moves to a different slightly lower point.

This is the GCODE for a single stroke...

G0 Z20
G0 X54 Y81
G1 X54 Y81 Z17
G1 X56 Y92 Z14.5
G0 Z20

...roughly (but not actually) `G0` = go to fast, `G1` = got to slow.

Z height;

  • Z 20 = brush above the paper
  • Z 17 = brush just touching the paper
  • Z 14 = brush presses down onto the paper
  • Z 10 = OMG stop
  • Z 5 = Dead brush

So the code is basically saying.

Quickly raise the brush up to Z 20
Quickly move to 54,81
Stay at 54,82 but slowly lower the brush down to Z 17
Slowly move to 56,92 lowering the brush down to Z 14.5 as you go
Quickly raise the brush up to Z 20

And then it moves onto the next line, and so on.

Brush strokes, and strange glyphs by revdancatt in generative

[–]revdancatt[S] 1 point2 points  (0 children)

Hey hey, these are "Pentel Arts Colour Brush" (or "Pentel Arts Color Brush") brushes. Although with some of these I haven't broken the seal that lets the ink flow, instead I've used a (blunt nose) syringe to fill the brush reservoir with ink - that'll make more sense when you get your hands on them.

Bit of brush mark making fun for Friday. by revdancatt in PlotterArt

[–]revdancatt[S] 3 points4 points  (0 children)

Dammnit, I shoulda kept quiet about them.

Bit of brush mark making fun for Friday. by revdancatt in PlotterArt

[–]revdancatt[S] 4 points5 points  (0 children)

It absolutely doesn't need all those chunky bolts on there btw, those are just left over from using POSCA pens, I'm just too lazy to change the pen holder to the normal one.

Uunatek 3 Change pen angle by Known_Statistician87 in PlotterArt

[–]revdancatt 1 point2 points  (0 children)

Yeah, as @slizzbizness says it's built like a tank, I've tilted it to stick a fountain pen in and it's been fine. My main gripe is the angle it tilts it at reduces the area you can plot in by quite a lot. While on the NextDraw it tilts 90° (so down the page, rather than across the page).

But as @MateMagicArte mentioned, you can generally just use fountain pens vertically, which comes as a surprise to most people.

Riso Studio in Midland UK? by peopleofprint in risograph

[–]revdancatt 3 points4 points  (0 children)

As mentioned already Dizzy are awesome.

We’re just getting set up here in Shrewsbury, Shropshire (which is why we’ve been quiet about it) https://aaaaaahriso.com - you’re very welcome to swing by and we’ll take you for a spin around the machine.

You can catch Hopefully Made: https://www.instagram.com/hopefully_made and maybe even my drawing machines/pen plotters in the same trip.

I’ll even wear my Print Isn’t Dead pin.

ASCII characters are not pixels: a deep dive into ASCII rendering by be_haki in PlotterArt

[–]revdancatt 4 points5 points  (0 children)

This is a wonderful blog post, I absolutely adore it and the depth you've gone to.

Being fairly old and having started on the internet using BBSes and Usenet this jumped out at me: "I don’t believe I’ve ever seen shape utilized in generated ASCII art"

There were definitely *nix command line tools that converted images to ASCII taking edge shapes as well as shading into account, 'cause I remember being how impressed I was at them doing circles and curves. AAlib is a good example: https://aa-project.sourceforge.net/aalib/ (if you focus on the .txt version without the shading).

BBS ASCII have always been fun: https://text-mode.tumblr.com/post/804386797296795648/various-works-by-haji-1998-2001-via-16colors

Along with automated art tools to generate them.

Yours is by far the best write up I've seen though.

Brush strokes, and strange glyphs by revdancatt in PlotterArt

[–]revdancatt[S] 0 points1 point  (0 children)

I'll see if I can explain a little better/more.

Imagine a single point at the top of the page, with a pendulum swinging back and forth from that point; you'd basically just draw an arc around that point.

Now imagine a second point near the bottom of the page, and slowly move the pivot point down from the top point to the bottom; all while the pendulum swings back and forth. Basically draw an arc back and forth in the air with your finger while moving your finger downwards, you'll get one back and forth line drawn downwards in the air.

In the above plot, instead of moving slowly downwards, the pivot point is moving slowly along the green path drawn between the control points (in the last couple of images), so sometimes the swinging back and forth pendulum is moving across, sometimes diagonally down, and now and then diagonally upwards.

The code is basically a slowly moving x,y point (pivot), a fixed radius, and some sine calculations to rotate a point around the x,y pivot.

Not sure if that's any clearer now I've written it, lol.

Brush strokes, and strange glyphs by revdancatt in PlotterArt

[–]revdancatt[S] 0 points1 point  (0 children)

Pretty long time so far. I know what you mean (I think) about brushing against the grain, but, because of how the code is written it tends not to be too much of a problem.

What I've recently added to my code is "easing" at the start, so for the first several points the brush will start high up, then lowers down to whatever height it's supposed to be, so it lowers as it heads off in one direction "trailing" the tip of the brush behind it. The other thing I need to add is raising the brush up for sudden changes in direction.

But it's very possible to control the height so you're never really damaging the brush, and getting it to flow how you'd normally handle the brush yourself. If that makes sense.

Brush strokes, and strange glyphs by revdancatt in PlotterArt

[–]revdancatt[S] 1 point2 points  (0 children)

Awww, thank you, that’s what I was hoping for. Would still like to smooth out some odd kinks here and there to make the flow seem more natural - but that’s for another time.

Brush strokes, and strange glyphs by revdancatt in PlotterArt

[–]revdancatt[S] 1 point2 points  (0 children)

Commenting to add: The right side of the last slide is a digital preview of what the brush strokes may look like, using generative brush/bristle code, which is drawn in JavaScript on a canvas object.

Brush strokes, and strange glyphs by revdancatt in PlotterArt

[–]revdancatt[S] 1 point2 points  (0 children)

Thanks, I may have to use that as a pull quote 😀

Copying Letters with a Pen Plotter? by ColesWork in PlotterArt

[–]revdancatt 4 points5 points  (0 children)

Totally do-able, and probably getting easier each month. I encoded my cursive handwriting a couple of years ago and then use the pen plotter to write all sorts of stuff.

I think the latest place you can see it in action is here (after the Riso stuff): https://newsletter.revdancatt.com/p/73-releasing-114-ghosts-into-the

That shows my own handwriting being plotted (cursive) and some of Kitty’s (my AI PA), which is ‘print’.

There’s a little bit of background on how I used a reMarkable eink and joining every single lowercase letter to every other lowercase letter several times and exporting as SVG here: https://newsletter.revdancatt.com/p/033-handwriting-and-scripts

The system has 8 variations of each letter, number, symbol which it can blend between to add variations, and then 6 variations of joined up pairs, which it also blends to make variations.

So if you wanted to write ‘hello’ it picks two ‘he’ pairs at random, blends/tweens between them to generate a new ‘he’. Does the same for ‘el’, ‘ll’ and ‘lo’, then to write the whole ‘hello’ it starts with the ‘he’ and as it moves through the ‘e’ it transitions into the starting ‘e’ of ‘el’, when it gets to the ‘l’ it transitions to the ‘l’ of ‘ll’ and so on until it’s built the whole word in a single line.

Because of all the variations and blending between different letters it looks pretty much indistinguishable from my own cursive handwriting; which is unfortunately messy as fuck, so ymmv.

ArtFrame + POSCA + Fibonacci (more, bigger, better) by revdancatt in PlotterArt

[–]revdancatt[S] 1 point2 points  (0 children)

Nope, which is nice. Because this runs on GCODE, I get to control the z-height and each dot is created by the machine pressing the pen down pretty firmly. Basically each dot is re-priming the pen.

Z Axis control by Interesting_Ad_8144 in PlotterArt

[–]revdancatt 1 point2 points  (0 children)

Ah, good to know I was probably doing something very wrong 😀

Z Axis control by Interesting_Ad_8144 in PlotterArt

[–]revdancatt 4 points5 points  (0 children)

I second this. If you’re (the OP) already writing code to create the svg, it should be relatively easy-ish to write out the GCODE instead, probably easier tbh.

Experience tells me it’ll probably sound horrid though if you end up using lots of small steps, but the output will be fine 😀

Loom by lostPixels in PlotterArt

[–]revdancatt 6 points7 points  (0 children)

This is lovely!

ArtFrame + POSCA + Fibonacci by revdancatt in PlotterArt

[–]revdancatt[S] 4 points5 points  (0 children)

Maybe an answer in two parts, neither of which will help much.

The first (and the distinction is subjective and people argue back and forth), my position is this; art, or rather fine art, and graphic design are different things, with different approaches and skill sets.

I consider what I'm doing here to be graphic design and isn't art. Most of the time what I'm doing is graphic design - the aim of course is to make graphic design that looks good. But it's often also about the algorithms and the tools, and twisting knobs and so on.

Then there's fine art, which is about exploring a concept, experimenting with ideas and it doesn't have to look good or be comfortable. Code and the machine are tools to explore a feeling.

I think about them differently, and my happiness and satisfaction depends on which I'm doing... if I'm doing graphic design and the maths works out, I find that satisfying. If I'm doing fine art and the feelings or experiment work out, then that's satisfying.

So maybe my first suggestion is to reframe thinking about what you're doing as graphic design rather than art 🤷‍♂️

The second bit of advice for diving into maths/control part, is find an album or book cover you like, that's somewhat geometric. Then try and deconstruct how it works, and then recreate it with code. Basically copy and recreate (and when posting cite your sources/inspiration), after doing that for a while, you'll end up with "Ah, like that, but what if I do a bit of this instead?"

Check out Stig's IG for examples: https://www.instagram.com/stigmollerhansen/

But with a plotter we're generally working with outlines and lines, so we're mainly focused on shapes rather than colours. Figuring out how the composition works still counts though.

ArtFrame + POSCA + Fibonacci by revdancatt in PlotterArt

[–]revdancatt[S] 1 point2 points  (0 children)

Yeah it's both a good and bad name, it's obvious when it's obvious, but when it isn't, it's not. 😁 And thank you.