Mapping values: how to make values dependent on each other?

how can values be dependent on each other?
example: i would like to connect packs of three values (e.g.: 0,1,2/3,4,5/…) in a way that they move within a given range. lets say i move value 0 then value 1 and 2 should follow within the given range. they should somehow stick to each other.
was thinking about the attractor nodes but i would like to set a range in lets say centimeter not via power, strenght, etc…
short test patch is attached. maybe somebody has a better idea or knows about an existing node or patch?
thanks a lot

hoehenBegrenzer02.v4p (18.0 kB)

that was perhaps a bad descriptin… i found something called “phase” from gregsn 2006 which is somehow similar to what i need. but i can’t work with the degree pin and phase on b-spline. as i understand the degree is the amount of sliders connected to each other.
i would like to group the input: the first 3 sliders should be connected to each other but separatet from the rest. slider 4,5 and 6 should be the next subgroup etc.
and i’d like to set the amount of “smoothing”…
any… idea…?
thanks a

ps: how open hidden patches?

if you always need triples, why don’t you perform the whole ‘moving’ operation on single slices and then duplicate each slice by 3 in the end?

because then the triples would have the same value?
lets say my source is fixed to 21 random values (could be a basic wave movement or whatsoever).
i need the vals 1,2,3 to be one subgroup. 4,5,6 another subgroup, etc…
within each group they should always be related, connected or stick to each other within a certain range, which i’d like to set.
all these little triple groups should follow the basic source (wave) movement but within their groups they should keep their given range:
first group: max difference between val1,val2 and val3 stays <0.3
second group: max difference between val1,val2 and val3 stays <0.8
third group: <0.5

jo, having the same values is also a kind of dependency ;)

here’s the solution if you just take the input, calculate the center for each triplet and define a delta-width within each triplet.

the q is, if all inputslices are random, how do you define the main value, making the max difference is then just a matter of using map

hoehenBegrenzer03.v4p (11.7 kB)

yeah you are right :)
your patch so nice…
i put another map and deniro at the end to keep values between 0 und 1 (guess that’s what you say in your last sentence) and smooth a little.
also put one “cheeesy” = * combination on the first maprange cause they should move to 1 when source is 1 and bounds-width of one group is 0…

hoehenBegrenzer03b.v4p (19.7 kB)

io box “range” maps the destination width for the groups:
0=no difference within groups (all 3 vals within one group are same)
1=maximum difference (values are equal with the source values)

hoehenBegrenzer04.v4p (10.6 kB)