threejs-worldgen
    Preparing search index...

    Interface TensorFieldOptions

    How street directions are chosen (Chen et al. 2008, "Interactive Procedural Street Modeling"). The field is a weighted sum of basis tensors; roads follow its major or minor eigenvector.

    interface TensorFieldOptions {
        grid: number;
        gridAngle: number;
        gridDecay: number;
        gridPatches: number;
        gridVariation: number;
        noise: number;
        noiseScale: number;
        radial: number;
        radialDecay: number;
        terrain: number;
        terrainSlope: number;
    }
    Index
    grid: number

    Weight of the grid tensors (straight, perpendicular streets).

    gridAngle: number

    Main grid orientation, degrees from +x.

    gridDecay: number

    Size of each grid patch's area of influence, as a fraction of the settlement radius.

    gridPatches: number

    Extra grid patches with their own orientation (neighbourhoods laid out at different angles).

    gridVariation: number

    Largest angle (degrees) a grid patch turns away from gridAngle.

    noise: number

    Angular noise, degrees: 0 = crisp geometry, 30+ = organic, winding streets.

    noiseScale: number

    Size of the noise features, metres.

    radial: number

    Weight of the radial tensor around the centre (ring roads and spokes).

    radialDecay: number

    Reach of the radial tensor, as a fraction of the settlement radius.

    terrain: number

    Weight of terrain-following tensors (streets along contours and coastlines).

    terrainSlope: number

    Slope (rise/run) at which terrain alignment reaches full weight.