architecture
abstract
generative
Suspension

Suspension

written by Landlines Art

30 Mar 2023100 EDITIONS
No active listing

Parameters

Each city is comprised of blocks that are arranged in a grid. The Block Number X, Y and Z params control the number of blocks if you travel along each respective axis. In the image below, we see the effects of manipulating Block Number X and Block Number Y, while holding Block Number Z = 2 constant.

Block Number
Block Number

The space between individual blocks can be adjusted using the Block Spacing X, Y, and Z params. In the image below, we see the effects of manipulating Block Spacing X and Block Spacing Y, while holding Block Spacing Z = 2 constant.

Block Spacing
Block Spacing

We can scale the block footprint along different axes using the Block Scale X, Y and Z params. In the image below, we see the effects of manipulating Block Scale X and Y, while holding Block Scale Z = 1 constant. To ensure there is still some space between the blocks, we also use Block Spacing X, Y, Z = 4 for each example, and Block Size = Medium.

Block Scale
Block Scale

Block Percent controls the percentage of blocks that appear within the grid as defined by the Block Number params. In the image below, we use Block Number X = 4, Y = 4, and Z = 2, while increasing the Block Percent from 0 to 100.

Block Percent
Block Percent

Block Size adjusts the size of each block relative to the grid in both the X and Y dimensions. In the image below, we increase the block size from tiny to oversize. The example on the far right shows the Varied option, where the block size is randomly selected in both the X and Y dimensions.

Block Size
Block Size

Building Percent controls the percentage of buildings per block. Smaller percentages produce sparser blocks. With Building Percent = 0, only empty parcels of land are shown. In the image below we increase the building percent from 0 to 100.

Building Percent
Building Percent

Building Jitter distorts the structure of buildings by randomly perturbing walls, windows, floors and ceilings. In the image below we increase the building jitter from 0 (top left) to 100 percent (bottom right).

Building Jitter
Building Jitter

Building Skew X, Y, and Z distort individual building components (walls, windows, floors, etc) via random scaling. In the image below we manipulate Building Skew X (increasing bottom to top) and Z (increasing left to right), while holding Building Skew Y = 1 constant.

Building Skew
Building Skew

Explode Percent controls the amount of the explode effect that is applied to the dimensions specified by the Explode Axes param. In the image below, we increase Explode Percent from 0 (top left) to 100 (bottom right) with Explode Axes = "z".

Explode Percent + Explode Axes
Explode Percent + Explode Axes

The amount of grain and blur can also be controlled. In the image below, image grain increases from top to bottom, and blur increases from left to right.

Grain and Blur
Grain and Blur

There are a few more params which are more self-explanatory. Cable percent controls the percentage of cables that are drawn between blocks along the axes specified by Cable Axes. Color Palette allows for the selection of a particular color palette. Stroke weight adjusts the size of the outline of each building component. The all-important seed parameter is used to seed random number generation. The hash will have no effect on the outcome.

Tips

1. Avoid using the randomize params option with all params unlocked. Since the probability of each value for a given param is uniformly selected, randomly selected sets of parameters will tend to look overly chaotic. Best results can be achieved by locking some parameters as you gradually refine the look you are trying to achieve.

2. Many interesting variations can be created using Block Number X, Y and Z < 4. Although values up to 8 are included to allow for increased exploration, I would advise getting a sense of how all the parameters work together before using large values for these parameters. Also, please bear in mind that computation time scales linearly as Block Number X, Y and Z increase.

Examples

Below are a few examples with the parameters included below each image. Note that the seed parameter has been intentionally removed.

{
    "Block Number X": 3,
    "Block Number Y": 7,
    "Block Number Z": 5,
    "Block Spacing X": "4",
    "Block Spacing Y": "2",
    "Block Spacing Z": "3",
    "Block Scale X": "2",
    "Block Scale Y": "2",
    "Block Scale Z": "4",
    "Block Percent": 73,
    "Block Size": "Medium",
    "Building Height": "Low",
    "Building Percent": 35,
    "Building Jitter": 0.98,
    "Building Skew X": 3,
    "Building Skew Y": 2,
    "Building Skew Z": 2,
    "Explode Percent": 28,
    "Explode Axes": "x",
    "Cable Percent": 91,
    "Cable Axes": "y",
    "Color Palette": "19",
    "Stroke Weight": 1.11,
    "Grain Amount": 0.24,
    "Blur Amount": 0.67,
}
{
    "Block Number X": 2,
    "Block Number Y": 2,
    "Block Number Z": 3,
    "Block Spacing X": "2",
    "Block Spacing Y": "1",
    "Block Spacing Z": "1",
    "Block Scale X": "2",
    "Block Scale Y": "1",
    "Block Scale Z": "1",
    "Block Percent": 75,
    "Block Size": "Medium",
    "Building Height": "Varied",
    "Building Percent": 100,
    "Building Jitter": 0.54,
    "Building Skew X": 1,
    "Building Skew Y": 1,
    "Building Skew Z": 1,
    "Explode Percent": 0,
    "Explode Axes": "-",
    "Cable Percent": 100,
    "Cable Axes": "xyz",
    "Color Palette": "14",
    "Stroke Weight": 1,
    "Grain Amount": 0.5,
    "Blur Amount": 0.34,
}
{
    "Block Number X": 8,
    "Block Number Y": 1,
    "Block Number Z": 7,
    "Block Spacing X": "1",
    "Block Spacing Y": "1",
    "Block Spacing Z": "1",
    "Block Scale X": "1",
    "Block Scale Y": "1",
    "Block Scale Z": "1",
    "Block Percent": 75,
    "Block Size": "Varied",
    "Building Height": "Varied",
    "Building Percent": 100,
    "Building Jitter": 0.4,
    "Building Skew X": 1,
    "Building Skew Y": 1,
    "Building Skew Z": 1,
    "Explode Percent": 38,
    "Explode Axes": "y",
    "Cable Percent": 100,
    "Cable Axes": "xyz",
    "Color Palette": "16",
    "Stroke Weight": 1,
    "Grain Amount": 0.5,
    "Blur Amount": 0.5,
}
{
    "Block Number X": 3,
    "Block Number Y": 3,
    "Block Number Z": 3,
    "Block Spacing X": "1",
    "Block Spacing Y": "1",
    "Block Spacing Z": "1",
    "Block Scale X": "1",
    "Block Scale Y": "1",
    "Block Scale Z": "1",
    "Block Percent": 75,
    "Block Size": "Varied",
    "Building Height": "Varied",
    "Building Percent": 100,
    "Building Jitter": 0.4,
    "Building Skew X": 1,
    "Building Skew Y": 1,
    "Building Skew Z": 1,
    "Explode Percent": 0,
    "Explode Axes": "-",
    "Cable Percent": 100,
    "Cable Axes": "xyz",
    "Color Palette": "13",
    "Stroke Weight": 1,
    "Grain Amount": 0.5,
    "Blur Amount": 0.5,
}
{
    "Block Number X": 3,
    "Block Number Y": 3,
    "Block Number Z": 3,
    "Block Spacing X": "2",
    "Block Spacing Y": "2",
    "Block Spacing Z": "3",
    "Block Scale X": "1",
    "Block Scale Y": "1",
    "Block Scale Z": "2",
    "Block Percent": 73,
    "Block Size": "Oversize",
    "Building Height": "Varied",
    "Building Percent": 100,
    "Building Jitter": 0.3,
    "Building Skew X": 1,
    "Building Skew Y": 1,
    "Building Skew Z": 1,
    "Explode Percent": 0,
    "Explode Axes": "z",
    "Cable Percent": 100,
    "Cable Axes": "xyz",
    "Color Palette": "6",
    "Stroke Weight": 0.96,
    "Grain Amount": 0.33,
    "Blur Amount": 0.61
}
{
    "Block Number X": 2,
    "Block Number Y": 5,
    "Block Number Z": 5,
    "Block Spacing X": "1",
    "Block Spacing Y": "2",
    "Block Spacing Z": "1",
    "Block Scale X": "4",
    "Block Scale Y": "1",
    "Block Scale Z": "2",
    "Block Percent": 73,
    "Block Size": "Large",
    "Building Height": "Varied",
    "Building Percent": 35,
    "Building Jitter": 0.3,
    "Building Skew X": 1,
    "Building Skew Y": 1,
    "Building Skew Z": 1,
    "Explode Percent": 0,
    "Explode Axes": "z",
    "Cable Percent": 100,
    "Cable Axes": "xyz",
    "Color Palette": "3",
    "Stroke Weight": 0.75,
    "Grain Amount": 0.57,
    "Blur Amount": 0.28,
}
{
    "Block Number X": 5,
    "Block Number Y": 7,
    "Block Number Z": 2,
    "Block Spacing X": "4",
    "Block Spacing Y": "2",
    "Block Spacing Z": "2",
    "Block Scale X": "4",
    "Block Scale Y": "2",
    "Block Scale Z": "2",
    "Block Percent": 32,
    "Block Size": "Small",
    "Building Height": "High",
    "Building Percent": 36,
    "Building Jitter": 0.79,
    "Building Skew X": 3,
    "Building Skew Y": 1,
    "Building Skew Z": 2,
    "Explode Percent": 15,
    "Explode Axes": "xy",
    "Cable Percent": 100,
    "Cable Axes": "xyz",
    "Color Palette": "2",
    "Stroke Weight": 1.44,
    "Grain Amount": 0.43,
    "Blur Amount": 0.7,
}
{
    "Block Number X": 3,
    "Block Number Y": 6,
    "Block Number Z": 5,
    "Block Spacing X": "1",
    "Block Spacing Y": "1",
    "Block Spacing Z": "1",
    "Block Scale X": "1",
    "Block Scale Y": "1",
    "Block Scale Z": "1",
    "Block Percent": 28,
    "Block Size": "Varied",
    "Building Height": "Varied",
    "Building Percent": 100,
    "Building Jitter": 0.4,
    "Building Skew X": 1,
    "Building Skew Y": 1,
    "Building Skew Z": 1,
    "Explode Percent": 0,
    "Explode Axes": "-",
    "Cable Percent": 100,
    "Cable Axes": "xyz",
    "Color Palette": "17",
    "Stroke Weight": 0.75,
    "Grain Amount": 0.4,
    "Blur Amount": 0.5,
}
{
    "Block Number X": 3,
    "Block Number Y": 8,
    "Block Number Z": 4,
    "Block Spacing X": "4",
    "Block Spacing Y": "2",
    "Block Spacing Z": "4",
    "Block Scale X": "1",
    "Block Scale Y": "2",
    "Block Scale Z": "2",
    "Block Percent": 73,
    "Block Size": "Small",
    "Building Height": "Low",
    "Building Percent": 55,
    "Building Jitter": 0.56,
    "Building Skew X": 2,
    "Building Skew Y": 2,
    "Building Skew Z": 1,
    "Explode Percent": 62,
    "Explode Axes": "-",
    "Cable Percent": 49,
    "Cable Axes": "xyz",
    "Color Palette": "1",
    "Stroke Weight": 0.93,
    "Grain Amount": 0.01,
    "Blur Amount": 0.33,
}
{
    "Block Number X": 2,
    "Block Number Y": 2,
    "Block Number Z": 4,
    "Block Spacing X": "1",
    "Block Spacing Y": "1",
    "Block Spacing Z": "1.5",
    "Block Scale X": "4",
    "Block Scale Y": "2",
    "Block Scale Z": "4",
    "Block Percent": 51,
    "Block Size": "Varied",
    "Building Height": "Low",
    "Building Percent": 99,
    "Building Jitter": 0.29,
    "Building Skew X": 2,
    "Building Skew Y": 1,
    "Building Skew Z": 1,
    "Explode Percent": 0,
    "Explode Axes": "xy",
    "Cable Percent": 73,
    "Cable Axes": "xyz",
    "Color Palette": "7",
    "Stroke Weight": 1.22,
    "Grain Amount": 1,
    "Blur Amount": 1,
}
{
    "Block Number X": 4,
    "Block Number Y": 6,
    "Block Number Z": 8,
    "Block Spacing X": "2",
    "Block Spacing Y": "4",
    "Block Spacing Z": "1",
    "Block Scale X": "4",
    "Block Scale Y": "2",
    "Block Scale Z": "1",
    "Block Percent": 35,
    "Block Size": "Tiny",
    "Building Height": "Low",
    "Building Percent": 96,
    "Building Jitter": 0.85,
    "Building Skew X": 2,
    "Building Skew Y": 1,
    "Building Skew Z": 2,
    "Explode Percent": 74,
    "Explode Axes": "z",
    "Cable Percent": 71,
    "Cable Axes": "xyz",
    "Color Palette": "3",
    "Stroke Weight": 1,
    "Grain Amount": 0,
    "Blur Amount": 0.91,
}
{
    "Block Number X": 4,
    "Block Number Y": 4,
    "Block Number Z": 4,
    "Block Spacing X": "2",
    "Block Spacing Y": "2",
    "Block Spacing Z": "2.5",
    "Block Scale X": "1",
    "Block Scale Y": "1",
    "Block Scale Z": "1",
    "Block Percent": 100,
    "Block Size": "Large",
    "Building Height": "Varied",
    "Building Percent": 100,
    "Building Jitter": 0,
    "Building Skew X": 1,
    "Building Skew Y": 1,
    "Building Skew Z": 1,
    "Explode Percent": 0,
    "Explode Axes": "-",
    "Cable Percent": 100,
    "Cable Axes": "-",
    "Color Palette": "9",
    "Stroke Weight": 0.75,
    "Grain Amount": 0.5,
    "Blur Amount": 0.5,
}

stay ahead with our newsletter

receive news on exclusive drops, releases, product updates, and more

feedback