Hacker News new | ask | show | jobs
by nubb 1231 days ago
i really want to learn to make these but the math always feels like a mountain of work to learn and i end up discouraged.

i find these works so interesting and mesmerizing. really jealous of the talented artists/programmers making these.

5 comments

Not being snarky.

Mountains of work is what learning looks like as an adult.

The bigger the mountains look, the more you will learn.

If you know Python, learning another library looks like a bump in the road because you already have an adult level of proficiency that was built over a lifetime.

Learning to dance ballet looks like an impassible wall to most adults, because we know that competent ballet dancing requires years of training. And forget about virtuosity.

Adults tend to limit their learning to "new Python libraries."

Because one thing is for sure, most of learning to dance ballet will involve sucking at dancing ballet. And probably all of it unless you are lucky.

---

But, for me, there's a difference between wishing I was better at things like mathematics and wanting proficiency in things like mathematics.

The difference comes from my actual interest in mathematics. My equilibrium state is quenched curiosity regarding mathematics. I learn about mathematics in proportion to my current curiosity.

If I wanted to get good at making loops with Processing, I would just start trying to make loops and letting myself be bad at it. I wouldn't study mathematics. I would play.

Unfortunately there's also bodies. I have proficiency in several martial arts, but I haven't really trained for over a decade. So I figured I'd go to a training. Now I'm able to hold myself together, it just takes a long time to recover.

2 weeks, to be precise, until my back stops hurting. My hand (yes I made a mistake) took over a year.

I'm biking now. No more falling. Thanks.

Go through this and you will learn all the math needed: https://natureofcode.com/
Don't start with the entire mountain, start with a tiny hill that produces (visual) results!
Start simple and just play around. Fractals and L-systems are really satisfying and very simple, well documented places to start (but they are capable of incredible complexity and beauty). Check out implementing something like the koch snowflake or dragon curve: https://fedimser.github.io/l-systems.html
the math and coding involved is not that difficult. there are no arcane concepts to master and the process is generally quite procedural (attempted pun): computer do this, do that, etc, typically in some loop that creates most of the magic feeling.

there is a level of abstraction that one needs to master: sets of variables, simple algebraic equations, functions etc. but climbing that mountain is harder that it needs be because in general education these core concepts are generally burried among many other (and less relevant for this type of task concepts).

ideally somebody would write a small textbook with the basic mathematical concepts involved in generative computer graphics. alternatively, work backwards from some examples. if you persist the path you need to travel, while longish, is doable.