Class Spheres


  • public class Spheres
    extends Module
    Noise module that outputs concentric spheres.

    This noise module outputs concentric spheres centered on the origin like the concentric rings of an onion.

    The first sphere has a radius of 1.0. Each subsequent sphere has a radius that is 1.0 unit larger than the previous sphere.

    The output value from this noise module is determined by the distance between the input value and the nearest spherical surface. The input values that are located on a spherical surface are given the output value 1.0 and the input values that are equidistant from two spherical surfaces are given the output value -1.0.

    An application can change the frequency of the concentric spheres. Increasing the frequency reduces the distances between spheres. To specify the frequency, call the setFrequency(double) method.

    This noise module, modified with some low-frequency, low-power turbulence, is useful for generating agate-like textures.

    Source Modules
    This module does not require any source modules.
    • Field Detail

      • DEFAULT_SPHERES_FREQUENCY

        public static final double DEFAULT_SPHERES_FREQUENCY
        Default frequency value for the Spheres noise module.
        See Also:
        Constant Field Values
    • Constructor Detail

      • Spheres

        public Spheres()
    • Method Detail

      • getFrequency

        public double getFrequency()
        Get the frequency of the concentric spheres.

        Increasing the frequency increases the density of the concentric spheres, reducing the distances between them.

        Returns:
        the frequency of the concentric spheres
        See Also:
        DEFAULT_SPHERES_FREQUENCY
      • setFrequency

        public void setFrequency​(double frequency)
        Sets the frequency of the concentric spheres.

        Increasing the frequency increases the density of the concentric spheres, reducing the distances between them.

        Parameters:
        frequency - the frequency of the concentric spheres
      • getValue

        public double getValue​(double x,
                               double y,
                               double z)
        Description copied from class: Module
        Generates an output value given the coordinates of the specified input value.

        All source modules required by this module must have been connected with the Module.setSourceModule(int, Module) method. If these source modules are not connected, this method will throw a NoModuleException.

        To determine the number of source modules required by this noise module, call the Module.getSourceModuleCount() method.

        Specified by:
        getValue in class Module
        Parameters:
        x - the x coordinate of the input value
        y - the y coordinate of the input value
        z - the z coordinate of the input value
        Returns:
        the output value