4 ms·
Differential Growth Addon for Blender
- tommiegannert 2y agoIt really is beautifully amazing how one cell can keep dividing and even the blood vessels end up roughly the same in everyone.
- TheJoeMan 2y agoIt 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”.
- imoverclocked 2y agoKinda. There is far more going on in biology than in our computer systems though. Code compiling is generally done without much of the world changing concurrently around it. Also, with repeatable compilation you can get exactly the same output every time. Change the output just a little and potentially the whole thing fails. Meanwhile, in biology, people/creatures are born with quite different attributes and can still thrive. The success of a species often relies on the fact that there is mutation over time. Even just the insane interconnectedness within single biological organisms dwarves the complexity of any computer system on earth.
- DonHopkins 2y agoAlan Turing was fascinated with morphogenesis, and wrote an article by the title "The Chemical Basis of Morphogenesis". He modeled cell growth as a reaction-diffusion systems, now known as Turing Patterns. And he was firmly against and intended to defeat the religious claptrap pseudoscience we now call "Intelligent Design". https://en.wikipedia.org/wiki/Morphogenesis https://en.wikipedia.org/wiki/Morphogenesis https://en.wikipedia.org/wiki/The_Chemical_Basis_of_Morphogenesis https://en.wikipedia.org/wiki/The_Chemical_Basis_of_Morphoge... https://en.wikipedia.org/wiki/Reaction%E2%80%93diffusion_system https://en.wikipedia.org/wiki/Reaction%E2%80%93diffusion_sys... https://en.wikipedia.org/wiki/Turing_pattern https://en.wikipedia.org/wiki/Turing_pattern https://en.wikipedia.org/wiki/Intelligent_design https://en.wikipedia.org/wiki/Intelligent_design https://www.dna.caltech.edu/courses/cs191/paperscs191/turing.pdf https://www.dna.caltech.edu/courses/cs191/paperscs191/turing... https://www.goodreads.com/book/show/1701864.Morphogenesis https://www.goodreads.com/book/show/1701864.Morphogenesis I typed in the preface to "Morphogenesis: Collected Works of A.M. Turing", and scanned the drawing inside the front cover by Alan Turing's mother of her son watching the daisies grow: https://imgur.com/AX6Bg9q https://imgur.com/AX6Bg9q http://donhopkins.com/home/archive/Turing/Morphogenesis.txt http://donhopkins.com/home/archive/Turing/Morphogenesis.txt If for some irrational reason you choose to believe in the pseudoscience of Intelligent Design, then you might not like to hear what Turing thought about that, which P. T. Saunders mentions in the foreword to Turing's collected works, citing what Hodges wrote about and quoted Robin Gandy saying in his "excellent biography": For Turing, however, the fundamental problem of biology had always been to account for pattern and form, and the dramatic progress that was being made at that time in genetics did not alter his view. And because he believed that the solution was to be found in physics and chemistry it was to these subjects and the sort of mathematics that could be applied to them that he turned. In my view, he was right, but even someone who disagrees must be impressed by the way in which he went directly to what he saw as the most important problem and set out to attack it with the tools that he judged appropriate to the task, rather than those which were easiest to hand or which others were already using. What is more, he understood the full significance of the problem in a way that many biologists did not and still do not. We can see this in the joint manuscript with Wardlaw which is included in this volume, but it is clear just from the comment he made to Robin Gandy (Hodges 1983, p. 431) that his new ideas were "intended to defeat the argument from design". This single remark sums up one of the most crucial issues in contemporary biology. The argument from design was originally put forward as a scientific proof of the existence of God. The best known statement of it is William Paley's (1802) famous metaphor of a watchmaker. If we see a stone on some waste ground we do not wonder about it. If, on the other hand, we were to find a watch, with all its many parts combining so beautifully to achieve its purpose of keeping accurate time, we would be bound to infer that it had been designed and constructed by an intelligent being. Similarly, so the argument runs, when we look at an organism, and above all at a human being, how can we not believe that there must be an intelligent Creator? Turing was not, of course, trying to refute Paley; that has been done almost a century earlier by Charles Darwin. But the argument from design had survived, and was, and indeed remains, still a potent force in biology. For the essence of Darwin's theory is that organisms are created by natural selection out of random variations. Almost any small variation can occur; whether it persists and so features in evolution depends on whether it is selected. Consequently we explain how a certain feature has evolved by saying what advantage it gives to the organism, i.e. what purpose it serves, just as if we were explaining why the Creator has designed the organism in that way. Natural selection thus takes over the role of the Creator, and becomes "The Blind Watchmaker" (Dawkins 1986).
- srean 2y agoIf you would permit me changing/hijacking topics temporarily, please do consider compiling all your comments like these (including history and anecdotes on all things Postscript), spread over different forums, hackernews through usenet. I think I will not be far off, speaking for the community, that many would love to own a copy. If that costs and an arm and a leg, so be it. Another sidenote, any chance of seeing the usenet archives back ? Was very happy when Google purchased it. Thought we would get a better UI, better indexed presentation ... then it disappeared
- nyankosensei 2y agoYou can still access Usenet posts: https://www.big-8.org/wiki/Web-to-news_gateways https://www.big-8.org/wiki/Web-to-news_gateways
- srean 2y agoThanks.
- larodi 2y agoBut is this l-system or otherwise based? Why neither the page nor GitHub tells nothing about the math behind the beauty?
- progfix 2y agoJason Webbs blog post (which is linked in the github ReadMe) explains the math really well.
- makizar 2y agohttps://medium.com/@jason.webb/2d-differential-growth-in-js-1843fd51b0ce https://medium.com/@jason.webb/2d-differential-growth-in-js-...
- Daub 2y agoKagi 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&r=us&sh=9IAH93x9iKS8cVRwQ6BXuQ 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 2y agoSomeone without an active Kagi account won’t be seeing the LLM’s quick answer, FYI.
- Daub 2y agoMy 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
- swiftcoder 2y agoThis 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 2y agohttps://inconvergent.net/generative/differential-line/ https://inconvergent.net/generative/differential-line/
- bbminner 2y agoDifferential 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 https://www.pngwing.com/en/free-png-bvwbg
- akomtu 2y agoHolomorphic functions are solutions of the u_xx+u_yy=0 diff equation. Differential meshes seem to be made by a similar equation.
- pbronez 2y agoGreat set of animated blog posts
- Daub 2y agoMaybe 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-in-geometry-nodes/ https://www.blendernation.com/2023/07/25/differential-growth...
- vhcr 2y agoI think a cool addition would be to add a light source, and inhibit growth when a vertex doesn't receives light.
- Daub 2y agoMaybe 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.
- tga_d 2y agoWhile a plant growing in shade might grow slower than a plant growing in sunlight, a part of a plant growing in shade will grow faster than the parts growing in sunlight (mechanically, this is done using auxin plant hormones[0]). This is how a plant is able to "chase" sunlight. Picture a flower growing vertically with one half shaded, the other half sunned. If the sunny side grew faster, it would become longer than the shady side, causing it to curve into the shade, potentially killing the plant. Instead, the shady side "pushes" the plant into the sun. [0] https://en.wikipedia.org/wiki/Auxin https://en.wikipedia.org/wiki/Auxin
- JimmyWilliams1 2y agoWow, 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 2y agoHoudini 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 2y agoI’m curious, what are your use cases where Blender isn’t yet a strong enough fit?
- chefandy 2y agoI’m setting aside UE because Blender isn’t and was never trying to be a game engine. When it comes to high-end physics sims of any kind— particles, pyro, rbd, liquid, cloth, hair, etc– blender isn’t close to Houdini. The blender toolkit will get ‘something’, but the Houdini toolkit will get you ‘anything.’ More broadly, it’s so easy (well, “easy” like you don’t have to modify the program source. This stuff is going to be complex and fussy no matter what) to infinitely control absolutely anything using everything from node-based no-code stuff (VOPs)that compiles down to performant machine code, to their built-in c-like for performant calculations in complex networks (vex), to popping in nodes where you can write your own openCL if you really wanted to, all animatable using anything from key frames to their built-in non-time-bound math system (CHOPs… I know… the names…) originally built to process wave-level audio. If you’re clever enough, you can even use all of that to drive your geometry, audio and shaders to some extent simultaneously, without (textual) code. The geometry nodes in blender are cool, and they seem to be developing them the right way – ensuring quality rather than racing for feature parity with bifrost or Houdini or wherever — but last I checked you couldn’t even animate their parameters. Huge progress, a great tool, and many people’s preferred tool for modeling. Frankly you wouldn’t catch me dead sculpting in Houdini, and Houdini has a way to go before their compositor is on par with Blender’s, even if the procedural bent makes it more useful for some unusual use cases now. But for the really deep procedural stuff and simulations, anything involving volumes, and also fitting into complex pipelines, we’re talking etch-a-sketch vs oil paints. Imagine if blender started as a purely procedural tool and only focused on that use case? The differences would go so much deeper than the feature list would let on. I think the differences are a lot less significant with other modeling-focused DCCs like Maya, Max, and C4D. All great programs in their own right. Maya really is an incredible tool for character animation, C4D is so killer for motion graphics type stuff… but they’re all much closer to blender for their intended use cases.
- seahor 2y ago[dead]
- AndrewStephens 2y agoBlender 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 2y agoI 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 2y agoThose are the best kind!
- infinitebit 2y agoI 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 2y ago"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.
- Uehreka 2y agoIt’s… beautiful. This is one of those moments where I can feel my capabilities grow in real time. Thank you for making this, and thank you for making this open source.
- pyinstallwoes 2y agoAnyone know if it’s possible to do what touchdesigner does with point grids but in blender or any other open source way? I really want to create those point cloud 3d audio reactive experiences but I’m struggling to gain traction.