NEXT

Composition Type ➤

MEDIAN

ASSORTMENT OF STANDING COMPOSITION
Random combination of angles in disorder from medium perspectives.

MEDIAN

ASSORTMENT OF STANDING COMPOSITION
Random combination of angles in disorder from medium perspectives.

MEDIAN

ASSORTMENT OF STANDING COMPOSITION
Random combination of angles in disorder from medium perspectives.

MEDIAN

ASSORTMENT OF STANDING COMPOSITION
Random combination of angles in disorder from medium perspectives.

MEDIAN

ASSORTMENT OF STANDING COMPOSITION
Random combination of angles in disorder from medium perspectives.

MEDIAN

ASSORTMENT OF STANDING COMPOSITION
Random combination of angles in disorder from medium perspectives.

MEDIAN

ASSORTMENT OF STANDING COMPOSITION
Random combination of angles in disorder from medium perspectives.

MEDIAN

ASSORTMENT OF STANDING COMPOSITION
Random combination of angles in disorder from medium perspectives.

Embracing the unexpected has been a hallmark of Venet's practice, and EVENT is no exception. Drawing inspiration from his earlier works like Pile of Coal (1963) and Accident (1996), featuring performative actions and the collapse of bars, EVENT (2024) melds sculpture with algorithm, beckoning viewers to join a profound journey through his evolving creative landscape.

TABLE OF CONTENTS

STANDING COMPOSITIONS
Random combination of angles in disorder from close, medium, and wide perspectives.

WALL RELIEFS
Angles in relief in disorder

Algorithm features

Embracing the unexpected has been a hallmark of Venet's practice, and EVENT is no exception. Drawing inspiration from his earlier works like Pile of Coal (1963) and Accident (1996), featuring performative actions and the collapse of bars, EVENT (2024) melds sculpture with algorithm, beckoning viewers to join a profound journey through his evolving creative landscape.

1. Composition Types

Single Pile

A single pile of angles

Multiple Piles

Multiple piles of angles with varied placement

Gravitational Pull

Angles with a left/right direction gravitational impulse

Rotational Interaction

Angles in circular/spiralized placements, interacting with one another

Falling Wide

Angles Free-Falling

Wall

Angles interacting with a wall

Catmull Curve

Catmull Curve algorithm places angles in winding lines

2. Compositions With Color Examples

Black On White

White On Black

Black

Red

Yellow

Blue

Blue + Red

Red + Yellow

Yellow + Blue

3. Shadow Color Examples

None

Red

Yellow

Blue

4. Has Floor

True

False

5. Additional Features

Number of Angles

Random selection of angles based on composition range

Even Angles

All angles are of the same degree. ex. 22 angles of 22.5 degrees

Uneven Angles

All angles are of the different degrees. ex. 22 angles between 19.5 - 32,5 degrees

Same Sized Angles            

All angles are the same size

Various Sized Angles      

All angles are of various sizes

Even & Uneven Angle Thickness

All angles are the same or various thicknesses

6. Camera

Dynamic #1

Dynamic #2

Dynamic #3

Birdseye #1

Birdseye #2

Birdseye #3

Process + Experimentation

While developing the foundational components in the early months of the project, we conducted an experimentation phase. During this phase, we experimented with many different composition types, including Freestanding and Wall Relief compositions, a custom physics engine, and a wide range of UV experimental textures and UV mappings.

Initial Angle Experiments #1

Initial Angle Experiments #2

Early Freestanding Test Output with Guides

Early Freestanding Debugging Enviorment

Early Wall Reliefs

Wall Reliefs with Texture

Freestanding Test Output with Textures

Freestanding Test Output with Textures

Physics Experiments

In exploring physics in 3D space, we researched and experimented with many algorithms:

    1. Raycasting & OBB methods
    2. Separating Axis Theorem
    3. GJK (Gilbert-Johnson-Keerthi)
    4. GJK + Expanding Polytope Algorithm
    5. Various Clipping Algorithms
    6. Minkowski Portal Refinement (MPR) algorithm
 

Early experiments with Raycasting + SAT #1

Early experiments with Raycasting + SAT #2

Early experiments with Raycasting + SAT #4

Early experiments with Raycasting + SAT #4

Physics Engine Feature Requirements: 

  1. High-functioning collision detection. We don’t want the angles to get “clipped” or intersect with each other in the final image. 
  2. Natural Collision Response. Bernar insisted the angles should fall and rest like they would in real life. Once achieved, we can push these limits.
  3. Debugging functionality so we can visualize the code and make necessary adjustments.
  1. Lightweight and concise code base, ensuring deployment to the Ethereum blockchain is reasonable.

We saw some interesting outcomes in our engine, though in being thorough, we also tested and benchmarked our engine against established lightweight open-source physics libraries, including Oimo.js and CANNON-ES.

CANNON-ES has a comprehensive collision detection and response system and an API that allows us to custom-fit a physics body around non-standard geometries, such as our dynamic angle. This allows us to prevent angles from interfering with fairly high confidence.

It also has debugging and visualization systems that made fitting our dynamic angle to a natural physics body and testing the compositions possible. This would ultimately be critical in fine-tuning the compositions and ensuring the collision detection and response worked at a high standard of quality. 

In January,  based on the research and experimentation results, and being mindful of the project timeline, it was decided CANNON-ES was the way to go, and would allow the work of integrating and building out the physics-based compositions to begin.

EVENT Simulation

EVENT Simulation in debug mode 

TECHNICAL
DETAILS

The algorithm for EVENT by Bernar Venet can be broken down into 4 major areas:

    1. 3D Environment + Angles
    2. Composition System
    3. 2D Texture System
    4. Physics Integration

1. 3D Environment + Angles

The work of creating sculptures native to the digital space begins with a 3D environment, and our base sculptural element, the angle. 

ENVIRONMENT COMPOSITION CREATION

  1. THREE.js as a base 3D programming library
    1. Custom Dynamic Geometry (Angle)
      1. A dynamic 3D mesh acts as the project’s foundational element.
      2. Dynamic: Angle Degree, Thickness, and Scale.
    2. Dynamic & Configurable Compositional System
      1. A system for generating unique & dynamic compositions through a range of parameterization and randomization
      2. Dynamically handles placement, rotation, movement, and camera/lighting/environment for variability specific to each composition.
    3. Dynamic Camera System
      1. Dynamic camera placement + look at values
      2. Dynamic rotational 3-point lighting rig: directional, ambient, back light
      3. Shadow mapping
    4. Dynamic UV Mapping
      1. As the angle geometries are dynamic, the 2D textures wrapped around the angles must be dynamically mapped to each face of the angle. 
    5. Conditional Floor & Side Wall 
    6. Debugging System with UI Controls

ANGLE GEOMETRY CREATION

    1. Generative Vertices, Indices, and UV Texture Coordinates
    2. Dynamic Angle Degree
    1. min : 20.5 degrees
    2. max : 52.5 degrees
    1. Dynamic Angle Thickness
      1. min thinckness: 0.06 * angleScale
      2. max thickness : 0.1 * angleScale
    2. Dynamic Angle Scale
      1. Controlled via composition configuration

2. Composition Types (in Compositional System)

Each composition type has a base placement, physics, camera, and lighting configuration tuned specifically to that composition and its randomness optionality described below.

a. Wall Relief

  1. Two Angle Wall Relief

b. Free Standing 

  1. Free Standing Angle Narrow
  2. Free Standing Angle Wide
  3. Free Standing Angle Extreme

c. Effondrement (Collapse)


1. Single Pile

    1. # of Angles: min=12, max=28
    2. Angle Scale: min=3, max=12
    3. Floor: None, Standard, Standard + Extra Tiling
    4. Duration of Simulation: min=60 frames, max=100 frames
    5. Angle Rotation:Wide randomization range
    6. Angle Position: Gaussian rotation distribution within pile
    7. Camera: Dynamic angle shot with narrow randomization range
    8. Angle Uniformity: Uneven angles, Even angles
    9. Angle Scale: Consistent, Varied

2. Multiple Piles

    1. # of Angles: min=18, max=48
    2. # of Piles: min=3, max=8
    3. Angle Scale: min=2, max=8
    4. Floor: None
    5. Duration of Simulation: min=80 frames, max=100 frames
    6. Angle Rotation: Wide randomization range
    7. Angle Position: Gaussian rotation distribution within pile
    8. Camera: Dynamic angle shot with narrow randomization range
    9. Angle Uniformity: Uneven angles, Even angles
    1. Angle Scale: Consistent, Varied

3. Falling Wide

    1. # of Angles: min=24, max=48
    2. Angle Scale: min=6, max=12
    3. Max X Placement: min=30, max=100
    4. Max Y Placement: min=10, max=120
    5. Floor: None, Standard, Standard + Extra Tiling
    6. Duration of Simulation: min=16 frames, max=24 frames
    7. Angle Rotation: Wide randomization range
    8. Angle Position: Gaussian rotation distribution within pile
    9. Camera: Dynamic angle shot with narrow randomization range
    10. Angle Uniformity: Uneven angles, Even angles
    1. Angle Scale: Consistent, Varied

4. Falling Impulse

    1. # of Angles: min=18, max=40
    2. Angle Scale: min=4, max=12
    3. Impulse Direction: Neutral, Left, Right
    4. Impulse Base Strength: min=20,000, max=150,000
    5. Floor: None, Standard, Standard + Extra Tiling
    6. Duration of Simulation: min=24 frames, max=30 frames
    7. Angle Rotation: Wide randomization range
    8. Camera: Dynamic angle shot with narrow randomization range
    9. Angle Uniformity: Uneven angles, Even angles
    1. Angle Scale: Consistent, Varied

5. Rotational Interaction

    1. # of Angles: min=12, max=32
    2. Angle Scale: min=4, max=12
    3. Max Y Placement: min=-0.5, max=0.5
    4. Rotation Mode : ZY, XY, Y + gaussian
    5. Spiral Radius: min=8, max=16
    6. Floor: None, Standard, Standard + Extra Tiling
    7. Duration of Simulation: min=80 frames, max=100 frames
    8. Angle Rotation: Wide randomization range
    9. Angle Postion: Spiral
    10. Camera: Dynamic angle shot with narrow randomization range, Birdseye with narrow randomization range
    11. Angle Uniformity: Uneven angles, Even angles
    1. Angle Scale: Consistent, Varied

6. Side Wall

    1. # of Angles: min=12, max=28
    2. Angle Scale: min=4, max=12
    3. Floor: Standard + Extra Tiling
    4. Side Wall Placement: Left, Right
      1. Impulse Direction: corresponding
      2. Base Angle Placement: corresponding
      3. Camera Placement: corresponding
    5. Impulse Base Strength: Fixed,
    6. Duration of Simulation: min=100 frames, max=140 frames
    7. Angle Rotation: Narrow randomization range
    8. Angle Position: Narrow randomization range
    9. Camera: Dynamic angle shot with narrow randomization range
    10. Angle Uniformity: Uneven angles, Even angles
    1. Angle Scale: Consistent, Varied

7. Catmull Curve Algorithm

    1. # of Angles: min=16, max=36
    2. Angle Scale: min=4, max=12,
    3. Spline Curve Points: 5 Widely Randomized Points (aka line of “dominos” type placement)
    4. Floor: None, Standard, Standard + Extra Tiling
    5. Side Wall Placement: Left, Right
      1. Impulse Direction: corresponding
      2. Base Angle Placement: corresponding
      3. Camera Placement: corresponding
    6. Impulse Base Strength: Fixed,
    7. Duration of Simulation: min=100 frames, max=140 frames
    8. Angle Rotation: Narrow range
    9. Angle Position: Narrow randomization range
    10. Camera: Dynamic angle shot with narrow randomization range
    11. Angle Uniformity: Uneven angles, Even angles
    12. Angle Scale: Consistent, Varied

d. Camera System 

Properly capturing digital sculptures requires digital counterparts to how one would shoot and film these sculptures in the real world.

Wall Reliefs

  1. Birds Eye

Free-standing Angles

  1. Middle Wide
  2. Super Wide
  3. Camera High
  4. Camera High 2
  5. Camera Low

Effondrements

  1. Dynamic
  2. Birds Eye

Camera System Features 

  1. Rotational Lighting Rig
    1. Directional Light
      1. Color Shadows
    2. Ambient Light
    3. BackLight

  1. Set Camera + Lighting Rig
    1. Default placement based on selected shot
      1. Handling of look at values
      1. Update via composition angles center XY point
      2. Update via lowest or highest angle vertex

e. 2D Texture System

  1. Handles the creation of custom 2D graphics images used as textures for scenes and angle geometries. 
    1. A system of various pixel manipulation techniques using pure Javascript / Canvas API implementation.
      1. Multiple pixel manipulation agents run in parallel, writing to respective canvas elements simultaneously.
    2. Wide range of variables/parameterization using pure randomness
    3. The system outputs three unique and dynamically sized textures for each work
      1. A texture for the background, and conditionally the floor and sidewall.
      2. A texture for each angle's “front” and “back” faces.
      3. A texture for each angle's “inside” and “outside” faces. 
    4. Black theme/white theme
    5. Colors with color density ranges.

f. Physic Integration

  1. CANNON-ES as a base
    1. A 3D lightweight, modern, open-source, MIT-licensed physics library
    2. Provides full debugging framework + visualizations for development
    1. Dynamic physics body mapping for collision detection
      1. To integrate the library with our scene, custom physics bodies are calculated, created, and mapped to our angle geometries dynamically using a Compound 3D-Shape technique.
      2. Simulated angle weight based on angle scale 
    2. Integration with compositional system
      1. Each composition needs specific conditional integration to create multiple interesting compositions.
    3. The impulse system is integrated to enact forces on angles is variably for different composition types.
    4. Configurable friction, restitution, contact/friction equation stiffness, and relaxation values
    5. World configuration
      1. Sweep & Prune Broadphase algorithm
      2. Dynamic gravity
    6. Camera Collision Detection
      1. If angles collide or come too close to the camera, the camera repositions