Generative
Context: object.virtual.artwork.generative
This document describes the data structure for generative art, a type of digital artwork created using algorithms or computational processes. Generative art often involves randomness, noise, or other mathematical concepts to produce unique and complex visual outputs.
Data structure
| Field | Type | Description | Mandatory |
|---|---|---|---|
| algorithm | algorithObject | Algorithm used to generate the artwork | Yes |
| software | softwareObject | Software or library used to create the artwork | Yes |
| output | outputObject | Output properties of the generative artwork | Yes |
| seed | string | Seed value for controlling randomness | No |
Algorithm Object
| Field | Type | Description | Mandatory |
|---|---|---|---|
| name | string | Name of the algorithm | Yes |
| type | string | Type of the algorithm (e.g., Fractal, Cellular Automata, Noise) | Yes |
| parameters | KeyValue | Parameters used in the algorithm | No |
Software Object
| Field | Type | Description | Mandatory |
|---|---|---|---|
| name | string | Name of the software or library | Yes |
| version | string | Version of the software or library | Yes |
| url | string | URL to the software or library | Yes |
Output Object
| Field | Type | Description | Mandatory |
|---|---|---|---|
| size | size | Dimensions of the output | Yes |
| type | string | Type of output (e.g., image) | No |
| colorSpace | string | Color space of the output (e.g., RGB) | Yes |
| format | string | File format of the output (e.g., PNG) | Yes |
Example
"generative": {
"algorithm": {
"name": "Perlin Noise",
"type": "Noise",
"parameters": {
"octaves": 4,
"persistence": 0.5,
"scale": 0.01
}
},
"software": {
"name": "Processing",
"version": "3.5.4",
"url": "https://processing.org/"
},
"output": {
"type": "Image",
"size": {
"width": 1920,
"height": 1080,
"unit": "pixels"
},
"colorSpace": "RGB",
"format": "PNG"
},
"seed": "12345"
}