3D Twenty-Vertex Model Simulation vertex-models
Alexey Bufetov and Panagiotis Zografos (definition), Leonid Petrov (implementation)
3D scene showing colored arrow segments (red for x, green for y, blue for z directions) and translucent yellow cubes on a lattice, representing a sampled twenty-vertex model configuration. Includes orthographic density projections, height map, and cross-section slicers. Adjustable vertex weights, grid size N, and camera controls.
About this simulation
This simulation demonstrates the twenty-vertex model introduced by Bufetov and Zografos (work in progress).
The model consists of a 3D lattice where arrows are placed on edges, always pointing in positive coordinate directions.
Each vertex has 8 possible incoming arrow configurations and 8 possible outgoing configurations, with conservation of arrow count through each vertex.
The model has 20 vertex types: 2 deterministic (000→000 and 111→111) and 18 stochastic configurations with tuneable weights. The sampling proceeds in time slices where t = x + y + z, with boundary conditions: empty in xz and yz planes, full in xy plane.
The model has 20 vertex types: 2 deterministic (000→000 and 111→111) and 18 stochastic configurations with tuneable weights. The sampling proceeds in time slices where t = x + y + z, with boundary conditions: empty in xz and yz planes, full in xy plane.
Model Parameters
Vertex Weights (12 Free Parameters)
Note: These 12 parameters, along with sum-to-one constraints, determine all 18 stochastic vertex weights.
The notation abc→def means incoming arrows from directions (x,y,z) and outgoing to (x,y,z), where 1=arrow present.
Visualization Controls
X-direction
Y-direction
Z-direction
Orthographic Density Projections
Arrow directions mapped to RGB channels: X→Red, Y→Green, Z→Blue. Shows flow density accumulation when collapsing one spatial dimension.
XY Plane (sum over Z)
XZ Plane (sum over Y)
YZ Plane (sum over X)
Time-Slice Activity
Arrow counts by direction over time slices t = x + y + z. Shows temporal dynamics and growth fronts.
Height Map from Cube Occupancy
Grayscale height map H(x,y) = Σ_z filled_cubes(x,y,z) with optional contour lines showing bulk geometry structure.
Cross-Section Slicers
View 2D cross-sections of the 3D vertex model at constant coordinate planes. Edge occupancies shown as colored line segments: Red (X-direction), Green (Y-direction), Blue (Z-direction). Only edges lying within the slice plane are displayed.
X = 5 (YZ plane)
Y = 5 (XZ plane)
Z = 5 (XY plane)
code
(note: parameters in the code might differ from the ones in simulation results below)-
Link to code(This simulation is interactive, written in JavaScript, see the source code of this page at the link) -
Link to code(C++ code for the simulation)