» Spread Nodes
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

Spread Nodes

Russian | Italian | Mandarin

Spreading gets very useful for graphical applications in combination with Spread Nodes. These nodes create spreads out of intuitive parameters. These nodes commonly have a pin called SpreadCount which determines how many slices should be generated. Literally speaking, these nodes spread a single value out to a smear of different values.

vvvv contains spread nodes that make it easy to program complex behaviours for a large group of objects:

See the Spread category in the Node List for a list of all spread related nodes.

LinearSpread

The LinearSpread is one of the most basic spreads in vvvv. It creates a spread of values linearly spread out across the given range. The following graphic is from the help patch of the LinearSpread.

CircularSpread

The circular spread is also a very basic spread. It will arrange x and y values along a circle or oval shape. This will allow you creating circular arrangements very easy, as you don’t have to deal with the typical sine and cosine formulae usually associated with these calculations.

TypoSpread

To create more complex behaviour, the TypoSpread is often very useful. It creates two spreads with coordinates form the contour of a letter in a given font. It has two outputs, one with the x-coordinates, and one for the y-coordinates. You may like to use it for typographical experiments, but its main use has proved to be as a source of easy to control animation behaviours. There finally may be a use for your cheesy dingbats font collection after all.

BarSpread

BézierSpread

GaussianSpread

I

PeakSpread

RandomSpread

TODO? All spreads: BarSpread (Spreads) , BézierSpread (Spreads) , CircularSpread (Spreads) , GaussianSpread (Spreads) , I (Spreads) , PeakSpread (Spreads) , Queue (Spreads) , RandomSpread (Spreads) , RingBuffer (Spreads) , SevenSegment (Spreads) , TypoSpread (Spreads)

Spectral Nodes

A special class of nodes is called spectral nodes. They are used to calculate single easy-to-use values out of spreads of input values. A typical example would be statistical parameters like mean, width, minimum and maximum. The Bounds (Spectral) node for example calculates mean, width, maximum and minimum at the same time.

Spectral nodes are also particularly helpful for certain string operations: The spectral string addition for example concatenates all individual slices into one slice:

Stalloning

Often there is the problem of distributing slices from a spread to different pins or vice versa. Stallone is a very flexible node, which allows you to merge slices from any number of inputs and distribute them to any number of slices on any number of outputs.

A simple example would be distributing 5 slices on 1 pin to 1 slice on 5 pins:

The reverse is also possible by setting the input and output pin count pins and the SliceCount pin:

With the Spread Count pin you can select how many output slices should be generated. If there are not enough input slices, Stallone just starts over from the first slice of the first pin and repeats the values.

Stallone Sort Modes

Internally Stallone manages one large Spread which contains all slices from all inputs which gets distributed to the slices of all outputs. The internal SliceCount is the product of the maximum of all inputs and the number of pins (except one of the pins has SliceCount 0 - then it is also 0)

The input slices are collected either by
a.) First taking all slices from the first pin, then from the second pin etc. (Pin Sort Mode) or by
b.) First taking the first Slice of all Pins, then the second Slice of all Pins etc. (Slice Sort Mode)

The output slices are distributed in a similar way:
a) In Pin Sort mode the first bunch of slices is copied to the first pin, the second bunch to the second pin etc. and
b) In Slice Sort mode all pins get their first slice, then the second slice etc.

More Spread nodes

Count

GetSlice

SetSlice, InsertSlice

Cons, CDR, CAR, Shift

Resample, Scroll

Cross, SwapDim

Select, Sort, Reverse

Buffer, RingBuffer, Queue

anonymous user login

Shoutbox

~33min ago

u7angel: @mediadog, make it a forum question.

~35min ago

u7angel: @mediadog, tty renderer ?

~3h ago

microdee: however non-conductive objects are invisible for this so the pencil and the sticks in the video are still a mysteries

~3h ago

microdee: hey i just found a possible solution behind leap's black magic http://www.quora.com/Leap-Motion/What-is-the-technology-behind-Leap-Motion

~4h ago

mediadog: @u7agel: red node, no connections; can' drag&drop into patch either - 27.2

~8h ago

christosk: Thanx Elliot! UnixPath worked fine :-)

~8h ago

elliotwoods: or 'unix path' (for forward slash). also custom deliminators are accepted on other pins

~8h ago

elliotwoods: @christosk : check for 'dos path'

~8h ago

christosk: What's the node to use in order to separate elements inside a string by using slashes? Separate doesn't give a Slash enumeration.

~11h ago

metrowave: vvvv not loading, it says 'no DLLs were found in the waterfall procedure' to do with error at loading ippSP library. any ideas?