The field describes a space of propagation, of effects. It contains no matter or material points, rather functions, vectors and speeds. - Sanford Kwinter, 1986
Fields in Assembler are coded as discrete data structures aimed at the distribution of data in space; such data can be read by the assemblage and interpreted according to its Heuristics criteria. For example: choose the receiver closest to the Field scalar threshold value. To visualize this example, picture a temperature distribution in a volume: staying as close as possible to a value threshold means something like “grow as close as possible to where the temperature is 20° C”.
A Field is formatted as a set of points in 3D; each point in the Field can possess one or more of the following kind of data:
typical Field point with scalar, vector and iWeight values
Scalars are floating point numbers; scalar values are automatically normalized (remapped to the 0-1 interval) inside the Field. A scalar field is, for example, the temperature distribution in a volume.
Scalar values are a very powerful and flexible tool for the control of the Assemblage development: since the Assemblage can follow a certain data intensity, it is possible to shape the data distribution in order to conditionally affect or constrain the Assemblage development. For example, using the distance from each field point to its closest point on a geometry creates a distance field that propagates from that geometry. A distance field has minimum intensity on the geometry itself and gradually increases as we move away from that geometry. By regulating the threshold, an Assemblage could more or less strictly follow a geometry (i.e. a curve or a surface, or the “metaball” value generated by 2 or more points in space). Here’s an example in 2D, to help visualize how this works:
source: https://www.researchgate.net/publication/221075377_An_Optimization_Approach_to_Rough_Terrain_Locomotion/figures?lo=1
The image above shows a Signed Distance Field of a closed polyline inside a 2D grid. Every cell center shows its own distance from the polyline, negative if inside the polyline (that’s the meaning of “signed”). The field of distances from the polyline is stored in the points at the cells centers as scalar value.
The image below shows a Field generated from a box in which scalar values are computed as a distance of each Field point to the corresponding closest point on the red curve. This generates a distance Field, whose values are normalized between 0 (closest to the curve) and 1 (farthest from the curve). When a threshold is set, the Color Field component displays values under and above the threshold in different colors (here: red-gray).
If Receiver selection is based on scalar values, the Assemblage will try to develop at the interface of the 2 colors, accumulating around it as the number of object increases.
Vectors are, well.. vectors - if you don’t have any prior concept of a vector, in physics it is an entity that represents a direction and an intensity. A vector field is, for example, the mapping of wind directions in weather forecast, or the visualization of a magnetic field made with close-packed compasses, where each compass represents a Field point and the arrow the related Field vector in that position:
Vector Fields: this, but in a 3D volume