including "A programming language for ancient Chinese, and procedurally generated Chinese landscape paintings"
I want to see a gallery show in Beijing.... This guy's work is so fucking good. It's really cool how he puts all the code on GitHub too. Fuck yeah! :P ;) xx
Yeah, it just can not be understated what an absolute gem that man is. I almost wish he'd post more often, but I'd always take quality over quantity, and he delivers.
Agreed his work is excellent. I particularly like that he brings different aesthetics to generative art. Traditional Chinese brushstrokes, these 19th century European themed fish drawings.. It's nice to see something calm and classical.
:) Thanks. Cool story. Just perusing your other posts and saw your son wanted to learn linux? Not sure how advanced he is or his inclination but could you go with the OS course from MIT? There's a good PDF book that covers the basics of a linux-style OS to give a good overview. I crammed on it for a system internals interview with FAANG. It was fun! :)
The parallel and distrubuted operating systems group
operating systems engineering course
model operating xv6
https://pdos.csail.mit.edu/6.828/2018/xv6.html
Yes, Lingdong Huang is awesome! I have that exact one running on a framed eInk display on my wall. I had to make some minor modifications to make it run in NodeJS instead of in a browser, and then generate a raster image to send to the eInk display, but it wasn't hard.
I got permission from the author to post my work to Hackaday (with credit to him) which I'll do at some point. I'm actually working on a 3-panel "wide" version of it that I want to get done first.
Love the generated art projects. I just want an art ‘frame’ (display with small computer) that generates new art every so often. Put together a few of the various art ML projects into one product for this.
I'm working on a 3-panel version of it since I want a "wider" view of this scrolling landscape, and single e-Ink displays that big aren't cheap but 3 of these smaller displays are still within my budget.
Have you seen the Samsung "The Frame" range? They really look like a painting, they have art you can display, and I'd guess you could add others to it.
Looks like the right hardware. I wonder if it’s easy enough to change the software though. I don’t want existing art, I want generated art, new for me :)
Also, used Boox tablets of previous models. You can get ones upto 13 inches, which Kindle doesn't have. They run Android, so you can just write a standard Android app and run it, no hacking needed.
Kindles are too small and have no color. I want a large colorful framed picture. E-ink would be awesome but that’s not cheap for color displays and def not for large ones.
It's more art than code, maybe start drawing a city skyline.
Have different basic types of roof (triangle, trapezoid, none), windows (round, square, subdivided) and a variable number of flours. Play around with it in html canvas.
In terms of the drawing aspects, working on SVG or raw canvas drawing each have some drawbacks. If you don't need to output vector files, I recommend PixiJS, which gives you a stage-based display chain on top of WebGL where you can mix free-form line drawing with pre-made sprites. I used to write a ton of procedural graphics with Actionscript, and this has been my clearest path to continue on those projects. Some AS3 drawing code is almost directly portable.
I love the simple style, this is great. I’ve been toying with procedurually generated drawings in Racket and find it mesmerising to observe how much conplexity can be generated from the permutations of a few rules. There’s still a lot of fish to catch in generative art
Why does this use let and var together? Was I (not a modern js expert) wrong to think var is considered obsolete? Is it because OP wanted to use var's scoping rules?
It's almost certainly from copy-pasted code from other sources. The Perlin Noise section at the top is not original code at least - though I can't find an original source.
if(checkForSomething()) {
let foo = 2;
} else {
let foo = 3;
}
console.log(foo); // won't work
But:
if(checkForSomething()) {
var foo = 2;
} else {
var foo = 3;
}
console.log(foo); // will work
That said, I religiously avoid "var" and just declare the variable beforehand with "let" because there are too many other gotchas with var. Less debugging headaches. And use "const" religiously as well, like C++ people do.
It's not really any different if you keep in mind that foo is a reference here, and so that's what const applies to. The equivalent in C++ would be a const pointer to a non-const object.
This is wonderful. There's just something evocative about fish--with their flat side portrait look, and wide open eyes that make them a perpetually interesting subject for art.
I did this procedurally generated "groovy" fishes side project just a few weeks ago (it was a one day project). Not comparable to the work in this link obviously, but the coincidence made me smile.
I took a look. I can't really understand it (unless I spend the whole next week on it... which I will probably do). Could someone with more expertise in the topic explain me how it is done (high level overview)?
What coolspot says below. I want to have a look and maybe create my own version, I love generative art. My "best" (the one that made me happiest) creation followed the same approach. It's an iris [0] , and the process of drawing tries to mimic how you'd draw it… and I just broke the implementation in the pieces needed for it:
- Create background gradient
- Create muscular coloured stripes
- Add a bit of noise to the stripes
- Gradient for the pupil
- Reflection in iris and reflection in pupil (the last one is "fake")
I think GP is asking that every time you refresh the fish, it uses a different seed and it publishes it, perhaps via a share link. Otherwise, to find a fish you want you'll have to manipulate the url multiple times.
But I thought I recognized his name and workstyle before. This guy is literally a genius. Some other works I've seen before:
https://github.com/LingDong-/rrpl - a "radical" new way to describe Chinese characters as a composition of parts
http://nonflowers.lingdong.works/ - procedurally generated flowers in style of classic Chinese watercolor paintings
https://lingdong.works/
And don't forget more classics on his GitHub profile:
https://github.com/LingDong-
including "A programming language for ancient Chinese, and procedurally generated Chinese landscape paintings"
I want to see a gallery show in Beijing.... This guy's work is so fucking good. It's really cool how he puts all the code on GitHub too. Fuck yeah! :P ;) xx