Macha Posted August 7, 2009 Share Posted August 7, 2009 Here's a tricky recursive problem. I have particle points scattered on a box. I then copystamp other boxes onto those particles, and they grow with time. Now, I want other boxes to grow on the structure I just created by the previous copystamped process. And so on and so on. Is it possible to do? Also, I don't want the boxes to grow linearly. I thought an arctan function would do nicely but there is no such expression? File attached. copystampgrowth.hipnc Quote Link to comment Share on other sites More sharing options...
loopyllama Posted August 7, 2009 Share Posted August 7, 2009 (edited) arctan is available through the expression function atan() you could do something with the sopsolver but honestly, even if you had 20 boxes per box the generations would get out of control quickly: 1 - 20 - 400 - 800 - 160,000 - 3,200,000 (all summed up, then multiple times 12 triangles per box--that comes out to over 40 million triangles of geometry after 5 generations...I hope you brought enough pizza for everyone) If that is your style (maybe you zoom into the boxes and delete older or non-visible boxes to control polycounts) then here are some solutions: you could make a subnet--it would scatter points on incoming geo and create growing boxes. Inside this subnet, group newboxes from baseboxes and exclude baseboxes for scattering (the first box would be a newbox). Once you have this subnet you could chain them up, one for each generation, and add a single box to the very top of the chain, adding it to a newbox group. The first box in the newbox group would go into the 1st subnet, have points scattered on it, boxes copied to it, add itself to the basebox group, all other boxes would be in the newbox group, then leave the subnet. Then each subsequent subnet would add the next generation, only to newboxes, and so on. Or the sopsolver way---I think this would work---is to have this subnet in a sopsolver wired to a switch in the second input. Put an empty null in the first input of the switch. In the switch put something like $F%10. I can't think of why something like this *wouldn't* work but you'd have to give it a shot and see. Edited August 7, 2009 by loopyllama Quote Link to comment Share on other sites More sharing options...
Macha Posted August 7, 2009 Author Share Posted August 7, 2009 Hey thanks. I would place and grow a box only occasionally of course. I did wire them in back into the start, with a switch, but it caused an error, I don't know why. The limit to this is really my brain, I'm afraid. I'll read through your post very slowly and carefully again and hope to understand it better. Quote Link to comment Share on other sites More sharing options...
loopyllama Posted August 7, 2009 Share Posted August 7, 2009 (edited) right, wiring a node into itself would be an infinite recursion error... for my ideas: --------------------------------------------------------------------------------- way1) .....box ......\ ......group ........\ .......subnet ..........\ .........subnet ............\ ..........subnet (one subnet for each generation), see post for details --------------------------------------------------------------------------------- way2--SopSolver) .....subnet.....null ........\........../ ..........switch ($F%$number, where $number is an integer and floor($FEND-$FSTART+1/$number) is the number of generations) --------------------------------------------------------------------------------- Edited August 7, 2009 by loopyllama Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.