gravitate(strength, scale, source_id, paths) gravitate.messages =  gravitate.events = 
Simulates an attracting (or repulsing) force that accelerates the element towards another target element
or towards a path made of one or several
Acceleration is proportional to the inverse square of the distance to the target.
Note that since the algorithm is not precise (that's not the point of behave3d),
this controller tends to accelerate the element more and more when passing close to the target even if it's not moving.
This over-acceleration can be tampered with the use of the
The physics simulation applies one
Visit page Controller # Common Parameters for documentation on the parameters, common to all controllers:
- Strength of force. Larger value results in faster acceleration. Note that negative values are posible, which will make the force repulsing instead of attracting. Default value: 1
A scaling factor for the distance to the target.
Lower values cause the distance to be smaller for the sake of calculations, resulting in stronger force.
However, due to the non-linear force/distance relation, setting a lower value for
scaleis not the same as setting a larger
strengthvalue. Set lower values of
scalewhen you want more linear response, i.e. the force not to weaken so quickly with distance. Default value: 0.1
- DOM ID of the target element to which the force attracts if no paths are specified. Default value: ""
A space-delimited list of controller
move()controllers belonging to this element. The sum of these controllers' current coordinates makes the coordinates of the "source of gravity". Default value: ""
Visit page Controller # Common Messages for documentation on the messages, accepted by all controllers:
Messages specific to
Visit page Controller # Common Events for documentation on the events, generated by all controllers:
Events specific to
Interaction with DOM
- Transforms: The physics engine applies one
- CSS: Works with any styling. Does not set any style properties.
- Events: Does not set event listeners.
- Controller introduced in v.0.80