Blender is an amazing piece of software.
A few years ago I asked myself "Why spend hundreds of hours sucking at video games when I could spend the same time sucking at Blender?"
Since then I have spent many an enjoyable evening making terrible 3d models, some of which actually made it into a game. Apart from my lack of skill, there is no reason why somebody like me can't do world-class renders in a piece of software they downloaded for free. It isn't even that hard to use any more.
I just recently had this revelation! I a full time software dev who has dabbled in game dev for years, but i’ve always given up on ideas because i can’t make “good” art/assets. just a couple of months ago it dawned on me that i love inept/amateurish/DIY/outsider art in most other mediums (except writing maybe) and decided to just put time into to awkward crappy looking models. and i love them! now i’m just trying to create a distinctive shambolic aesthetic for my tiny games. it’s so freeing.
I agree - one of those bits of software you can't believe is free. I've also done some pretty terrible modelling, even my doughnuts suck.
Those are the best kind!
Maybe also check out this free Blender geometry nodes differential grown add-on from the brilliant Alex Martinelli…
https://www.blendernation.com/2023/07/25/differential-growth...
I think a cool addition would be to add a light source, and inhibit growth when a vertex doesn't receives light.
Maybe also to inhibit growth when exposed to a saline environment?
If this were recreated in Blender’s geo nodes these functions would be relatively easy to add using the raycast node.
This is really cool, I'd echo other comments here that ask for a math explainer - I'd love to understand exactly what's going on under the hood.
Differential meshes they show there remind me of holomorphic functions like [1] - is there a connection between such generative processes and minimal surface / curvature?
Houdini is a fast-moving target, but it seems like both blender and unreal engine— even in core features, not just in plugins— are gaining on it. For my particular use case, Blender is the least useful of the three (unless I need to do sculpting and don’t have access to a zbrush license), but it’s looking better and better.
It really is beautifully amazing how one cell can keep dividing and even the blood vessels end up roughly the same in everyone.
It is awe-inspiring. However, from another angle you could say “It really is beautifully amazing how the same source code compiles roughly the same on everyone’s computer”.
But is this l-system or otherwise based? Why neither the page nor GitHub tells nothing about the math behind the beauty?
no l-systems are grammar based rewriting systems. Have a look at my simple 2d generator there https://m__nick.gitlab.io/l-systems/#Fractal
Jason Webbs blog post (which is linked in the github ReadMe) explains the math really well.
Kagi search has this to say about the difference between differential growth and L-systems (plot spoiler: l-systems are maths-based and address mostly branching phenomena, differential growth is derived from the fact that within a single organism growth rate is uneven):
https://kagi.com/search?q=differential+Growth+vs+L+system%3F...
One of the things that attracted me to 3D was Maya’s magnificent paint effects system, which is lsystem-based. This was begging to be spun off as a separate product.
Someone without an active Kagi account won’t be seeing the LLM’s quick answer, FYI.
My bad. I did not know that. Won’t make that mistake again. Pasting below the key info.
Differential Growth and L-systems are both concepts used in modeling biological growth, particularly in plants, but they approach the subject from different angles.
Differential Growth
Definition: Differential growth refers to the varying rates of growth in different parts of an organism, leading to shape formation and structural changes. This concept is crucial in understanding how plants adapt their forms in response to environmental stimuli (like light and gravity) and internal signals (like hormones).
Mechanism: It involves the controlled distribution of growth factors and varying growth rates among different tissues. For example, in plants, differential growth can lead to bending or twisting of stems and leaves, as seen in the formation of the apical hook during germination12.
Applications: This concept is used in various fields, including biology, architecture, and design, to create models that simulate how structures grow and change over time3.
L-systems (Lindenmayer Systems)
Definition: L-systems are a mathematical formalism introduced by Aristid Lindenmayer in 1968 for modeling the growth processes of plants. They use a set of rules (productions) to rewrite strings of symbols, which can represent different parts of a plant.
Mechanism: An L-system starts with an initial string (axiom) and applies production rules to generate new strings iteratively. These strings can be interpreted graphically to create complex plant structures. L-systems can be context-free or context-sensitive, allowing for a wide variety of growth patterns45.
Applications: L-systems are widely used in computer graphics for simulating plant growth, generating fractals, and even in architectural design6.
Differential L-systems
Integration: Recent developments have combined differential growth principles with L-systems, known as differential L-systems. This approach allows for more realistic simulations of plant growth by incorporating the effects of differential growth rates into the L-system framework78.
Functionality: In differential L-systems, the growth rules can depend on local conditions, such as the density of neighboring structures or external environmental factors, enhancing the realism of the generated models46.
Summary
Differential Growth focuses on how different parts of an organism grow at different rates due to various factors, leading to complex shapes.
L-systems provide a rule-based framework for simulating plant growth through string rewriting.
The combination of both concepts in differential L-systems allows for advanced modeling that captures both the structural complexity and the dynamic nature of biological growth.
References
[1] Differential growth and shape formation in plant organs www.ncbi.nlm.nih.gov
[2] A Model of Differential Growth-Guided Apical Hook Formation in Plants www.ncbi.nlm.nih.gov
[3] Interactive differential growth simulation for design - GitHub Pages em-yu.github.io
[4] (PDF) Modeling Growth with L-Systems & Mathematica www.researchgate.net
[5] Modeling plant development with L-systems - Algorithmic Botany algorithmicbotany.org
[6] [PDF] L-systems and partial differential equations∗ - Algorithmic Botany algorithmicbotany.org
[7] Differential L-Systems Part 1 | Houdini 20 - YouTube www.youtube.com
[8] Differential L-Systems Part 2 | Houdini 20 - YouTube www.youtube.com
Please don't litter HN with LLM generated slop, there's more than enough of it out there as is. The value of HN is the human discussion. I'm sure each and every one of us is capable of writing a question in an input if they please. Some sides of the internet are already dead, with LLMs chatting with other bots, let's not make HN that place.
Wow, this is an incredibly detailed and fascinating exploration of differential growth in Blender! I appreciate how you've broken down the process and provided such clear examples. It's inspiring to see how mathematical concepts can be translated into such beautiful visual art. Thanks for sharing your insights and techniques—this is a great resource for anyone interested in generative design!