mstdn.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
A general-purpose Mastodon server with a 500 character limit. All languages are welcome.

Administered by:

Server stats:

13K
active users

#algorithmicart

5 posts5 participants0 posts today

#ReleaseMonday — New version (v0.27.0) of thi.ng/genart-api, a platform-independent extensible API for browser-based computational/algorithmic/generative art projects:

This version features an overhaul of the platform provided PRNG (pseudo-random number generator) handling and makes it easier to create multiple PRNGs for artworks which require/desire them...

Related section in the README:
github.com/thi-ng/genart-api/b

Also, just as a reminder, the project has:

- no external dependencies
- adapters for 3 art platforms (EditArt, fxhash, Layer)
- 6 example projects
- testing/dev sandbox with two parameter editors
- WebAssembly bindings & demo (currently for #Zig only)

Happy coding! :)

thi.ng/genart-apithi.ng/genart-api

Algorave w/ Renick Bell

AKK, Friday, June 6 at 08:00 PM GMT+2

You haven’t had enough computer music?

After the blasting night in C2 Ost, TOPLAP Karlsruhe invited Renick Bell as guest to bring another night of club-oriented computer music in AKK.

“Renick Bell is one of [the algorave] scene’s more flabbergasting producers,” writes Mixmag magazine. Resident Advisor calls him “Algorave kingpin” and writes that he “is one of the leading figures of the algorave movement, and watching him make his music is just as fun as dancing to it.” He is researching live coding, improvisation, and algorithmic composition using open source software. He is the author of Conductive, a library for live coding in the Haskell programming language.

Lineup:

Elmo

dkyuh

Andres Corsair

Michele Samarotto

surprise acts

cicada

On 2-3.6. he will host a workshop on composing and improving algorithms for youself and others, at the Institute for Music Informatics and Musicology, University of Music Karlsruhe. Registration unter imwi@hfm.eu

keep it boring :)

_\|/_

keepkarlsruheboring.org/event/

Replied in thread

@mdhughes This old little East German book from 1988 covers similar topics (and much more[1]) was one of the most life-changing books for me during my teenage years:

Computer und Kunst
archive.org/details/computerun

[1] Other Topics also included information/music theory, cognition, Markov chains, fractals, text analysis, poetry/music generation...

#RetroComputing #GenerativeArt #AlgorithmicArt # #Graphics #BASIC

Testing the Gosper curve in my variable iteration halftoning setup. So far I've only used the Hilbert curve this way, and things get a bit coarser with the Gosper, so it was harder to find images that make nice results. So here we are with the old Venus again.

The number of points multiplies by 4 for Hilbert and 7 for Gosper on each step, so the latter has to get by with fewer iterations for a sensible resolution. Here we have 6 iterations for 6 grey levels.

UPDATE OF THE UPDATE!

Folks! I have updated my modified #ThonnyIDE #portable for #Windows with #py5 pre-installed, updating py5 to v.0.10.6a, which uses jpype 1.5.2 and I think will solve the nasty non-ASCII path issues, yay!

Would someone on Windows like to help me test it?

github.com/villares/thonny-por

More about this Thonny + py5 thing here: abav.lugaralgum.com/como-insta

Contribute to villares/thonny-portable-with-py5 development by creating an account on GitHub.
GitHubReleases · villares/thonny-portable-with-py5Contribute to villares/thonny-portable-with-py5 development by creating an account on GitHub.

In the last post, Tis Veugen suggested dithering with the Gosper curve. At first I thought this doesn't make sense, since the curve lives on a hexagonal lattice, while dithering is generally done at the native pixel level, which means a square lattice. But as I thought about this further, it started to look like a fun challenge. Besides, the square grid hasn't always been the native way to organize pixels; for example, some old CRTs also used a hex lattice.

So I was really just making up excuses for the extra work. First I had to set up interpolated sampling, which would come for free in OpenGL, but now I was working on the CPU. The Gosper curve was also new to me, and I implemented it in my own way from first principles using IFS ideas, like I'd done earlier with the Peano curve.

For comparison, here's also a version with the boustrophedon curve on a hexagon, since I already had that curve function in my toolbox. Finally there's also the raw Gosper curve, though a smaller version to give a clearer idea.

The previous demo made me dig deeper into dithering algorithms. It's something I should have done years ago, as I've been using simple random dithering now and then, and I hadn't even thought of gamma correction. One algorithm in particular caught my eye: Riemersma dithering, which uses the Hilbert curve. Compared to the usual matrices for error diffusion, the curve approach seemed easier to implement in some ways, as it has fewer edge issues.

More interestingly, it struck a chord with my earlier experiments with space-filling curves in image processing. So it was a kind of familiar territory, but it also seemed esoteric enough that I could imagine making some new discoveries. For example, play with other plane-filling curves besides the Hilbert.

The first image uses the boustrophedon curve, which makes the vertical wave patterns I recall from a number of non-dithering demos. The second curve is what I call the diagstrophedon, a diagonal zig-zag starting from the top left corner, and I think its wavy artefacts make a nice match for Venus's hair.

Then in image 3 we have Hilbert, which doesn't seem to make any particular artefacts, and I guess that's a good thing for dithering. Finally 4 uses the Peano curve, which makes some fun wiggles in light areas.