[HN Gopher] Differential Growth Addon for Blender
___________________________________________________________________
Differential Growth Addon for Blender
Author : kelseyfrog
Score : 231 points
Date : 2024-12-26 04:41 UTC (18 hours ago)
(HTM) web link (boris.okunskiy.name)
(TXT) w3m dump (boris.okunskiy.name)
| tommiegannert wrote:
| It really is beautifully amazing how one cell can keep dividing
| and even the blood vessels end up roughly the same in everyone.
| TheJoeMan wrote:
| 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".
| larodi wrote:
| But is this l-system or otherwise based? Why neither the page nor
| GitHub tells nothing about the math behind the beauty?
| Daub wrote:
| 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.
| Diti wrote:
| Someone without an active Kagi account won't be seeing the
| LLM's quick answer, FYI.
| Daub wrote:
| 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
| Etheryte wrote:
| 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.
| progfix wrote:
| Jason Webbs blog post (which is linked in the github ReadMe)
| explains the math really well.
| makizar wrote:
| https://medium.com/@jason.webb/2d-differential-growth-in-
| js-...
| nick__m wrote:
| 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
| larodi wrote:
| Thank you I know what l systems are. A Semi-Thue grammar
| which is not really a Chomsky grammar - the way the
| production rules are applied differs. They are after the name
| of famous biologist called Lindenmayer, thus the name. I've
| been teaching these.
|
| Now my question was - is this an L-system or another one. Not
| what are L-systems which are. As far as I get from your
| reply, the plug-in does not facilitate. Thanks.
| swiftcoder wrote:
| 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.
| joshu wrote:
| https://inconvergent.net/generative/differential-line/
| bbminner wrote:
| Differential meshes they show there remind me of holomorphic
| functions like [1] - is there a connection between such
| generative processes and minimal surface / curvature?
|
| https://www.pngwing.com/en/free-png-bvwbg
| pbronez wrote:
| Great set of animated blog posts
| Daub wrote:
| 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...
| vhcr wrote:
| I think a cool addition would be to add a light source, and
| inhibit growth when a vertex doesn't receives light.
| Daub wrote:
| 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.
| JimmyWilliams1 wrote:
| 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!
| chefandy wrote:
| 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.
| safeimp wrote:
| I'm curious, what are your use cases where Blender isn't yet a
| strong enough fit?
| AndrewStephens wrote:
| 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.
| philjackson wrote:
| 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.
| actionfromafar wrote:
| Those are the best kind!
| infinitebit wrote:
| 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.
| AndrewStephens wrote:
| "distinctive shambolic aesthetic", what a great phrase. I use
| the friend of every hack fraud - "extreme stylization" to
| cover a multitude of sins.
|
| Somebody actually nominated my interactive fiction game for a
| best graphics ribbon, which amused me no end.
|
| I have often thought that we spend too much time studying and
| trying to emulate the great artists, musicians, and writers.
| It is more productive to see what the mediocre talents are
| doing, how their works succeed, and try to copy their
| techniques. Even if you fail you will find your own voice and
| produce something distinctive.
___________________________________________________________________
(page generated 2024-12-26 23:00 UTC)