Are there only two branches that you don't want anything to happen on. {0;1;0;1} and {3;2;0;1} and is this because they don't have any list length 2 on the previous branch?
}
X*
{0;2;0}{0;2;1}{0;2;2}{0;2;3}
{0;3;0}{0;3;1}{0;3;2}{0;3;3}
And now we want to insert at the place marked with X* another list formated like:
{0;0}{0;1}{0;2}{0;3}
So we want it resulted like:
{0;0;0}{0;0;1}{0;0;2}{0;0;3}
{0;1;0}{0;1;1}{0;1;2}{0;1;3}
*{0;2;0}{0;2;1}{0;2;2}{0;2;3}* - the inserted list
{0;3;0}{0;3;1}{0;3;2}{0;3;3}
{0;4;0}{0;4;1}{0;4;2}{0;4;3}
Since we plug the list formated with only {A;B} into the place with has {A;B;C} then that list has to be reformated in the same manner and every lists which are next to it have to be reformated too by adding 1 to B so it's {A;B+1;C}.
Param viewer with the data tree diagram is a great tool for visualising data structure. It seems to me that it would be easier to play with lists in the same way as we do with connecting components together. So if we have list of points and we want to insert them at some certain place in the tree then we don't need to play with Patch Mapper, Insert List and others but we just plug them on one go into the tree and format will adopt itself automaticly according to the choicen position on the tree.
Same with OUTPUT. We can pick some elements from the tree and connect it to the component which will receive every element from that branch. (example):There is a list of points with complex data structure. we pick node {0;0;3} and move it out from param viewer to connect it with point component which will receive all the sublists with elements which are under it:
{0;0;3;0}0 - pt1 - pt2 - pt{0;0;3;1}0 -pt1 - pt2 - pt3 - pt...and so on...
I don't know if this solution make better sense then other solutions of this case. Maybe there are easier ways to do it without such complication and I have no idea about it :)
greets!
Adam
…
Let's say first curve is divided by 1, the second one by 3, the third one by 9, then by 27 and etc. I tried to raise (i+start) to the power of 3: 3**(i+start). It kinda worked, but not sure if it's the correct way.…
0;3} - 2 curves
{1;1} - 2 curves
{1;2} - 2 curves
{1;3} - 2 curves
{1;1} - 2 curves
{2;2} - 2 curves
{2;3}- 2 curves
And what I want.
{0} - 6 curves
{1} - 8 curves
{2} - 4 curves
I have tried some different stuff whit the path mapper tool, but I am not to skilled in using it. I imagine it can do the work for me?.
If anyone can help me out, I would be glad.
…
lengths, with a set of possible algorithms to perform the matching.
Stream 1: {0;0;0} {0;0;1} {0;1;0} {0;1;1} {0;1;2}
Stream 2: {0;0} {0;1}
"trim end" and "trim start" matching could be applied between the paths - applying either an {A;B;C} -> {A;B} mapping to stream one, or {A;B;C} -> {A;B}.
In a more complex situation:
Stream 1: {0;0;0} {0;0;1} {0;1;0} {0;1;1} {0;2;0} {0;2;1}{0;2;2}{0;2;3}
Stream 2: {0} {1} {2}
Stream 3: {0;0;0;0} {0;0;1;0}{0;0;1;1} {0;0;1;2} {0;0;2;0}
This could conceivably include all kinds of ambiguous cases, but here's a stab at an algorithm that might sort them appropriately most of the time:
Find the highest value for each path index in each stream - so 1 has {0;2;3}, 2 has {2} and 3 has {0;0;2;2}
Find the shortest path length N across all paths - in this case N=1
find the highest (leftmost) shared pattern of N sequential values across all paths (here just {2})
Simplify all streams to the matching set of indices. (Stream 1: {A;B;C} -> {B}, Stream 2 {A} -> {A}, Stream 3: {A;B;C;D} -> {C})
Not sure if this makes sense - (either because I've explained it poorly or because the idea itself is bad.) But hopefully at least the goal is clear - to find a most-of-the-time routine to reconcile paths of different lengths according to their overlap. …