This must be a bug because its true for dividing by all odd numbers:
(i-1)/3
(i-2)/5
(i-3)/7
(i-4)/9
(i-5)/11
....
(i-n)/2n+1
And you can't make it work for even numbers
Added by Danny Boyes at 5:06pm on January 13, 2010
is smaller than or equal to 15. If it is, the function will return 12. If it isn't, then the radius is compared to 20, and if it's smaller than or equal to 20, the function will return 18. etc.
--
David Rutten
david@mcneel.com
Poprad, Slovakia…
output will show a tree with 3 branches of 4 integers each that I can pass on to other components. What is the best way to do it?
I have tried creating a tree and using a for loop to do so, but it didn't work.
Thank you for your help.
…
ay how many valid permutations exist.
But allow me to guesstimate a number for 20 components (no more, no less). Here are my starting assumptions:
Let's say the average input and output parameter count of any component is 2. So we have 20 components, each with 2 inputs and 2 outputs.
There are roughly 35 types of parameter, so the odds of connecting two parameters at random that have the same type are roughly 3%. However there are many conversions defined and often you want a parameter of type A to seed a parameter of type B. So let's say that 10% of random connections are in fact valid. (This assumption ignores the obvious fact that certain parameters (number, point, vector) are far more common than others, so the odds of connecting identical types are actually much higher than 3%)
Now even when data can be shared between two parameters, that doesn't mean that hooking them up will result in a valid operation (let's ignore for the time being that the far majority of combinations that are valid are also bullshit). So let's say that even when we manage to pick two parameters that can communicate, the odds of us ending up with a valid component combo are still only 1 in 2.
We will limit ourselves to only single connections between parameters. At no point will a single parameter seed more than one recipient and at no point will any parameter have more than one source. We do allow for parameters which do not share or receive data.
So let's start by creating the total number of permutations that are possible simply by positioning all 20 components from left to right. This is important because we're not allowed to make wires go from right to left. The left most component can be any one of 20. So we have 20 possible permutations for the first one. Then for each of those we have 19 options to fill the second-left-most slot. 20×19×18×17×...×3×2×1 = 20! ~2.5×1018.
We can now start drawing wires from the output of component #1 to the inputs of any of the other components. We can choose to share no outputs, output #1, output #2 or both with any of the downstream components (19 of them, with two inputs each). That's 2×(19×2) + (19×2)×(19×2-1) ~ 1500 possible connections we can make for the outputs of the first component. The second component is very similar, but it only has 18 possible targets and some of the inputs will already have been used. So now we have 2×(18×2-1) + (18×2-1)×(18×2-1) ~1300. If we very roughly (not to mention very incorrectly, but I'm too tired to do the math properly) extrapolate to the other 18 components where the number of possible connections decreases in a similar fashion thoughout, we end up with a total number of 1500×1300×1140×1007×891×789×697×...×83×51×24×1 which is roughly 6.5×1050. However note that only 10% of these wires connect compatible parameters and only 50% of those will connect compatible components. So the number of valid connections we can make is roughly 3×1049.
All we have to do now is multiply the total number of valid connection per permutation with the total number of possible permutations; 20! × 3×1049 which comes to 7×1067 or 72 unvigintillion as Wolfram|Alpha tells me.
Impressive as these numbers sound, remember that by far the most of these permutations result in utter nonsense. Nonsense that produces a result, but not a meaningful one.
EDIT: This computation is way off, see this response for an improved estimate.
--
David Rutten
david@mcneel.com
Poprad, Slovakia…
Added by David Rutten at 12:06pm on March 15, 2013
6, 7, 8, 9, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, etc
In addition to the components in the attached file, I have also tried using Cull Index but that did not do much. I tried using a number slider set to whole numbers with the range equal to the values I have set up in the integer, but it just increases the size by 1 every time. Any help on steps in the right direction would be great thanks.…
where each branch contains all the points generated by dividing each curve, so if you divide into 10 segments, you'll get:
{0;0}(N = 11)
{0;1}(N = 11)
{0;2}(N = 11)
{0;3}(N = 11)
{0;4}(N = 11)
Where the second integer in the curly brackets refers back to the index of the curve in the original list.
Another way to look at this data is to see it as a table. It's got 5 rows (one for each original curve) and 11 columns, where every column contains a specific division point.
--
David Rutten
david@mcneel.com
Poprad, Slovakia…
for instance
if i have a bunch of pionts, say "4", i want the connection of them without getting connections within the same 2 points.
the answer should be (4X3) / (1X2).
another example could be:
index 3 value 6
index 4 value 6
index 5 value 6
flipped and branched:
branch 6 index 0 value 3
branch 6 index 1 value 4
branch 6 index 2 value 5
Added by Ante Ljubas at 12:50pm on October 22, 2010