Ackermann Function Growth
242/500
Al Khwarizmi Geometric Algebra
172/500
Apollonian Gasket
158/500
Archimedean Spiral Galaxy
335/500
Archimedes Spiral
127/500
Barbell Dumbbell Shape
216/500
Binary Tree Fractal
131/500
Brahmagupta Cyclic Quadrilaterals
370/500
Calabi Yau Manifold
33/500
Cardioid Limacon Collection
425/500
Catenoid Helicoid Minimal
376/500
Chinese Remainder Sunzi
238/500
Chinese Remainder Theorem
328/500
Complex Analysis Stained Glass
216/500
Compound Polyhedra Stella Octangula
319/500
Conformal Spiral Mapping
306/500
Crystal Lattice Diffraction
430/500
Cycloid Wave Patterns
418/500
Cylindrical Bend Deformation
82/500
Differential Equations Water
65/500
Euler Polyhedron Formula
309/500
Fermat Parabolic Spiral
382/500
Five Pointed Star Polygon
425/500
Fourier Architectural Blueprint
218/500
Fourier Epicycles Drawing
391/500
Fractal Loxodromic Patterns
67/500
Gauss Complex Plane
389/500
Glass Sphere Red Core
203/500
Group Theory Kaleidoscope
304/500
Gyroscopic Nested Rings
416/500
Helical Twisted Cube Advanced
56/500
Holographic Interference
264/500
Hopf Fibration Base Loops
210/500
Hyper Menger Cube 3Sphere
141/500
Hyperbolic Heat Kernel
296/500
Icosahedron Wireframe
46/500
Lissajous Curve Garden
160/500
Logarithmic Spiral Motion
163/500
Lorenz Attractor Poincare
38/500
Loxodromic Sphere Spirals
34/500
Mandelbulb Fractal
31/500
Menger Cube Fractal
19/500
Menger Sponge Fractal
35/500
Mobius Strip Half Twist
361/500
Mobius Strip Triple Twist
411/500
Mobius Transformation 3D
27/500
Number Theory Music
46/500
Octagram Star Polygon
377/500
Parametric Gear Train
375/500
Parametric Seashell
340/500
Penrose Tiling P3
320/500
Phyllotaxis Spiral
54/500
Prime Crystal Lattice
324/500
Probability Weather Patterns
137/500
Quantum Probability Waves
384/500
Ramanujan Mock Theta
312/500
Reaction Diffusion Patterns
83/500
Regular Dodecahedron
421/500
Regular Icosahedron
459/500
Regular Octahedron
456/500
Regular Tetrahedron
59/500
Reproduce Image Fabrice Villard
254/500
Reproduce Image Jason Leung
137/500
Reproduce Image Photoholgic
184/500
Reproduce Image Rayul
306/500
Riemann Surface Branch Cuts
364/500
Rotating Hypercube Projection
308/500
Schwarzschild Black Hole
324/500
Sierpinski Tetrahedron
186/500
Sierpinski Triangle 6 Iterations
462/500
Spherical Inversion Mapping
30/500
Spinning Gear Assembly
415/500
Spinning Vortex Funnel
56/500
Superformula Explorer
385/500
Topology Fabric Texture
40/500
Trefoil Alexander Polynomial
276/500
Trigonometric Mandalas
417/500
Truncated Icosahedron
250/500
Twisted Stellated Polyhedron
264/500
Wave Deformation Field
104/500
Weierstrass Function
348/500
Summary Statistics
| Category | Average Score |
| Mathematical Accuracy | 50.2/100 |
| Visual Quality | 57.5/100 |
| Color Implementation | 50.1/100 |
| Geometric Completeness | 50.6/100 |
| Reference Elements | 46.9/100 |
| Overall Average | 51.1/100 |
Detailed Test Results
Test ID: 000_ackermann_function_growth
Shaders: shader.wgsl
Problem Prompt
The plot should shock the viewer by how astronomically fast the Ackermann function explodes, even for modest inputs. Use a log₁₀ axis so the bars fit on screen yet their heights still dwarf each other.
Data table:
A(3,n) values:
- n=0: 1
- n=1: 2
- n=2: 2^2-1 = 3
- n=3: 2^(2^2)-3 = 13
- n=4: 2^(2^(2^2))-3 = 65533
- n=5 through n=10: exponential towers of increasing height
Pre-compute exact integer values using bignum arithmetic; convert to log₁₀ with high-precision (at least 50 digits).
Visual spec:
- Canvas 1600 × 1200, white background
- 11 vertical bars, equally spaced 80 px apart
- Bar widths 40 px; top-cap rounded
- Fill colour gradient deep-blue (#0033CC) for n=0 to searing-red (#FF3300) for n=10 (linear in n)
- y-axis log₁₀ scale 0→10, grid-lines every integer decade
- Annotate each bar with exact exponent-tower notation beneath x-axis
Deliverable: Outputs a single image.
Judge Scores
Mathematical Accuracy
56/100
Color Implementation
24/100
Geometric Completeness
54/100
Reference Elements
55/100
Rendered Output
Test ID: 001_al_khwarizmi_geometric_algebra
Shaders: shader.wgsl
Problem Prompt
**Objective**
Create a shader visualization of Al-Khwarizmi's geometric solution to quadratic equations, showing how Islamic mathematicians in the 9th century used geometric algebra to solve x² + 10x = 39, bringing the birth of algebra to visual life.
**Historical Context**
Muhammad ibn Musa al-Khwarizmi (c. 780-850 CE), working at the House of Wisdom in Baghdad, wrote "Al-Kitab al-Mukhtasar fi Hisab al-Jabr wal-Muqabala" (The Compendious Book on Calculation by Completion and Balancing), from which we derive the word "algebra." His geometric method for solving quadratics predates symbolic notation by centuries.
**Mathematical Specification**
1. **The Classic Problem: x² + 10x = 39**
- Al-Khwarizmi's geometric interpretation:
- Start with a square of side x (representing x²)
- Add four rectangles of dimensions x × 2.5 to the sides
- This creates a larger square of side (x + 5)
2. **Geometric Construction Steps**
Animate the following sequence:
- **Step 1**: Draw initial square of side x
- **Step 2**: Attach four rectangles (x × 2.5) to each side
- **Step 3**: Complete the figure with four corner squares (2.5 × 2.5)
- **Step 4**: Show that total area = x² + 10x + 25 = 39 + 25 = 64
- **Step 5**: Therefore (x + 5)² = 64, so x + 5 = 8, thus x = 3
3. **Islamic Geometric Styling**
- Use traditional Islamic color palette:
* Deep blue (#1E3A8A) for the original square
* Gold (#F59E0B) for the added rectangles
* White with blue outline for corner squares
- Add geometric Islamic patterns in margins:
* 8-fold star-and-polygon tessellation
* Arabesque vine patterns in corners
- Include Arabic calligraphy styling for numbers
4. **Visual Annotations**
- Label each area with both symbolic (x², 10x, 25) and numeric values
- Show running calculation: x² + 10x + 25 = 64
- Highlight the final solution x = 3 in ornate frame
- Add construction lines showing the completion process
5. **Rendering Requirements**
- Background: Traditional Islamic manuscript color (#FEF3C7)
- Use parallel projection (no perspective) as in historical diagrams
- Include decorative border with Islamic geometric patterns
- Smooth animation between construction steps (5 seconds total)
- Resolution: 1600×1600 pixels
**Educational Goals**
- Demonstrate the geometric origins of algebraic manipulation
- Show how "completing the square" literally meant completing a geometric square
- Honor Al-Khwarizmi's revolutionary contribution to mathematics
- Connect Islamic Golden Age mathematics to modern algebra
**Deliverable**
An animated shader that visually demonstrates Al-Khwarizmi's geometric algebra method, showing how abstract algebraic concepts emerged from concrete geometric constructions in 9th century Baghdad.
Judge Scores
Mathematical Accuracy
19/100
Color Implementation
26/100
Geometric Completeness
45/100
Reference Elements
22/100
Rendered Output
Test ID: 002_apollonian_gasket
Shaders: shader.wgsl
Problem Prompt
Craft a high-resolution, jewel-like image of the classical Apollonian gasket that emerges as the limit set of a rank-2 Kleinian group. The red and green "facets" should interlace so finely that the boundary between them looks like crystalline edges under a microscope.
Mathematical engine:
1. Möbius generators: Work in the Riemann sphere (identify plane C∪{∞}). Let
M₁(z) = (2z+1)/(z+1), M₂(z) = (2z-1)/(z-1)
2. Symbolic address & parity: Every orbit point is encoded by a word in {1, 2}. Mark points whose last generator is even length word in red (#ff3355) and odd length in green (#33ff55).
3. Sampling:
- Begin with seed z₀ = 0
- Randomly walk 3,000,000 steps (alias method, equal probability)
- Discard first 12 iterates of every walk to bypass transient region; plot the next 9 iterations (depth-limiting to emphasise detail)
Projection & canvas:
- Use stereographic projection to map sphere to plane; scale so outermost circle fits a 2400 × 2400 px square with 120 px padding
- Background pure black (#000000)
- Each orbit point rendered as sub-pixel disk radius 0.6 px; enable additive alpha so high-density regions glow
- After plotting, apply a single-pass Gaussian bloom σ = 1 px, 40% opacity, to make bright clusters sparkle
File: PNG-24, sRGB
Deliverable: Outputs a single image.
Judge Scores
Mathematical Accuracy
29/100
Color Implementation
18/100
Geometric Completeness
30/100
Reference Elements
30/100
Rendered Output
Test ID: 004_archimedean_spiral_galaxy
Shaders: shader.wgsl
Problem Prompt
**Objective** – Render a face‑on **two‑arm** spiral galaxy whose stellar arms follow the *Archimedean* law $r = a\theta$.
**Star‑field specification**
* **Spiral parameters** $a = 0.25$ (units: galaxy‐normed). Two arms offset by $\pi$. θ spans [0, 8π] (four full turns).
* **Star sampling** – generate 120 000 stars:
* Draw θ uniformly; compute arm centre $r=a\theta$.
* Tangential spread: add Gaussian offset Δθ ~ $\mathcal N(0,\sigma_{θ}^{2})$ with $\sigma_{θ}=0.035$.
* Radial blur: Gaussian offset Δr ~ $\mathcal N(0,\sigma_{r}^{2})$, where $\sigma_{r}=0.025(1+0.5θ)$.
* **Radial density fall‑off** weight $w = \exp(-r/3)$; keep star if $u<w$ where $u\sim U(0,1)$.
* **Background** – 10 000 disc‑halo stars: radius sampled $p(r)\propto r\,e^{-r/3}$ up to $r=10$; angle uniform; small white dots.
**Colour & magnitude**
* Star colour temperature $T(r)=7200-250r\;\text{K}$; convert to sRGB with black‑body approximation.
* Star brightness proportional to $e^{-0.5r}$ (clipped). Render each star as Gaussian sprite of FWHM = 0.03 + 0.004 r.
**Canvas & camera**
* Orthographic view of square region r ≤ 10. Resolution 3000 × 3000 px, black background.
* Supernova‑like core glow: add additive circular bloom (radius 0.4, colour #ffffaa, opacity 0.6).
**Deliverable** – 16‑bit PNG.
Judge Scores
Mathematical Accuracy
69/100
Color Implementation
68/100
Geometric Completeness
61/100
Reference Elements
66/100
Rendered Output
Test ID: 005_archimedes_spiral
Shaders: shader.wgsl
Problem Prompt
**Objective**
Create a shader visualization of Archimedes' Spiral with his original geometric properties and applications, including the trisection of angles and squaring of the circle, as discovered in ancient Syracuse circa 225 BCE.
**Historical Context**
Archimedes of Syracuse (c. 287-212 BCE) discovered this spiral while investigating uniform motion along a rotating ray. His work "On Spirals" contains 28 propositions about this curve, including methods for trisecting angles and finding areas. The spiral r = aθ represents one of the earliest examples of a curve defined by a relationship between radius and angle.
**Mathematical Specification**
1. **The Archimedean Spiral**
- Primary spiral: r = θ/π for θ ∈ [0, 8π] (4 complete turns)
- Show uniform spacing between turns (key property)
- Animate the generation: point moving outward at constant speed while ray rotates uniformly
2. **Historical Applications Visualization**
**A. Angle Trisection**
- Given angle AOB = 60°
- Draw arc from O intersecting OB at point C
- Find point P on spiral where OP = (1/3)OC
- Show that angle AOP = 20° (exactly 1/3 of 60°)
- Highlight construction with golden lines
**B. Squaring the Circle (First Turn)**
- Show that area inside first turn equals πr²/3
- Visualize Archimedes' exhaustion method:
* Inscribed polygons of 6, 12, 24, 48 sides
* Color gradient showing convergence to exact area
**C. Tangent Properties**
- At point P(r,θ), show tangent line
- Display angle ψ between tangent and radius vector
- Show Archimedes' result: tan(ψ) = r/a
3. **Ancient Greek Styling**
- Background: Aged papyrus texture (#F5E6D3)
- Spiral in deep blue ink (#1E3263)
- Construction lines in faded red (#8B4513)
- Greek annotations: use actual Greek letters (α, β, γ, θ, π)
- Add water damage and aging effects to edges
4. **Geometric Annotations**
- Label key points with Greek letters
- Show measurement marks along spiral
- Include Archimedes' original notations where known
- Add small diagrams showing:
* Uniform motion principle
* Area calculation method
5. **Rendering Requirements**
- Use compass-and-straightedge construction aesthetic
- Show construction marks and compass arc traces
- Include Archimedes' portrait medallion in corner
- Subtle animation of spiral generation (7 seconds)
- Resolution: 1600×1600 pixels
**Educational Goals**
- Demonstrate Archimedes' genius in discovering spiral properties
- Show practical applications to classical problems
- Visualize the exhaustion method preceding calculus by 2000 years
- Connect ancient Greek mathematics to modern polar coordinates
**Deliverable**
A shader that brings Archimedes' original spiral investigations to life, showing both the mathematical beauty and practical applications that made this one of antiquity's great mathematical discoveries.
Judge Scores
Mathematical Accuracy
21/100
Color Implementation
17/100
Geometric Completeness
30/100
Reference Elements
16/100
Rendered Output
Test ID: 006_barbell_dumbbell_shape
Shaders: shader.wgsl
Problem Prompt
**Objective**
Generate a high-quality visualization of a barbell (dumbbell) shape consisting of two spheres connected by a cylindrical shaft. The shape should be rendered with realistic materials and lighting.
**Mathematical Specification**
1. **Geometric Components**
- Two identical spheres:
* Radius: 0.8 units
* Centers at: (-2.5, 0, 0) and (2.5, 0, 0)
- Connecting cylinder:
* Radius: 0.3 units
* Axis aligned with x-axis
* Extends from x = -1.7 to x = 1.7
* Smoothly blended with spheres at junction points
2. **Smooth Blending**
- Use smooth minimum (smin) function for seamless transitions:
* smin(d1, d2, k) = -log(exp(-k*d1) + exp(-k*d2))/k
* Blending factor k = 2.0
- Apply blending at cylinder-sphere junctions
3. **Material Properties**
- Metallic appearance:
* Base color: RGB(0.7, 0.7, 0.8)
* Metalness: 0.9
* Roughness: 0.2
- Different materials for spheres vs cylinder:
* Spheres: Polished chrome finish
* Cylinder: Brushed metal texture
4. **Scene Setup**
- Position: Centered at origin
- Rotation:
* Initial tilt: 15° around z-axis
* Continuous rotation: 1 revolution per 6 seconds around y-axis
- Camera: Positioned at (4, 3, 5) looking at origin
5. **Lighting Configuration**
- Primary light: Directional from (1, 2, 1), intensity 0.8
- Fill light: Point light at (-3, 1, 2), intensity 0.4
- Rim light: Directional from (-1, 0, -1), intensity 0.3
- Environment: Simple gradient sky (light grey to white)
6. **Rendering Details**
- Use physically based rendering (PBR) model
- Enable reflections on metallic surfaces
- Soft shadows with penumbra
- Output resolution: 1600 × 1600 pixels
- Antialiasing: 8× MSAA
- Background: Subtle radial gradient (RGB(0.9, 0.9, 0.95) to RGB(1, 1, 1))
Deliverable: Outputs a single image.
Judge Scores
Mathematical Accuracy
42/100
Color Implementation
41/100
Geometric Completeness
42/100
Reference Elements
40/100
Rendered Output
Test ID: 007_binary_tree_fractal
Shaders: shader.wgsl
Problem Prompt
Grow an organic winter tree suspended in empty space—trunk straight upward, two children per branch, no leaves. Lighting should emphasise delicate twig silhouettes.
Recursive geometry:
- Trunk segment length = 1, radius = 0.08
- Each branch splits into two at a 45° angle from parent direction, rotated ±35° about parent axis to avoid planar look
- Length scale factor 0.7; radius factor 0.6
- Depth 7 (level 0 trunk → level 7 twigs). Expected segments 2⁷-1 = 127
Implementation notes:
- Represent branches as tapered cylinders; smooth-join with spherically-blended joints
- Material – dark-bark (#4b3726), roughness 0.7
Scene & camera:
- Camera (3,-6,2.5) aiming at origin; FOV 40°
- Three-point lights: key (3,-5,5), fill (-2,-6,4) 40%, rim (0,0,6) 30%
- Background gradient sky (zenith #d7ecff → horizon #ffffff)
File: 2400×2400
Deliverable: Outputs a single image.
Judge Scores
Mathematical Accuracy
29/100
Color Implementation
32/100
Geometric Completeness
18/100
Reference Elements
27/100
Rendered Output
Test ID: 008_brahmagupta_cyclic_quadrilaterals
Shaders: shader.wgsl
Problem Prompt
Create a single-file HTML shader that visualizes Brahmagupta's Cyclic Quadrilaterals and his formula for their area. The visualization should:
1. Display a cyclic quadrilateral inscribed in a circle
2. Animate the quadrilateral vertices moving along the circle while maintaining the cyclic property
3. Calculate and display the area using Brahmagupta's formula:
- Area = √[(s-a)(s-b)(s-c)(s-d)]
- Where s = (a+b+c+d)/2 (semiperimeter)
- And a, b, c, d are the side lengths
4. Show real-time updates of:
- Side lengths (a, b, c, d)
- Semiperimeter (s)
- Area calculation
5. Demonstrate that the formula works for any cyclic quadrilateral configuration
6. Include special cases:
- Square (maximum area for given perimeter)
- Rectangle
- Irregular cyclic quadrilateral
7. Canvas size should be 2000×2000 pixels
8. Use color coding for sides and corresponding values in the formula
9. Add smooth transitions between different quadrilateral configurations
10. Include Ptolemy's theorem visualization as a bonus (ac + bd = ef for diagonals e, f)
The implementation should be a complete, self-contained HTML file with embedded WebGL shader code. The visualization should elegantly demonstrate this beautiful result from ancient Indian mathematics.
Judge Scores
Mathematical Accuracy
70/100
Color Implementation
87/100
Geometric Completeness
76/100
Reference Elements
53/100
Rendered Output
Test ID: 009_braided_rope
Shaders: shader.wgsl
Problem Prompt
**Objective**
Create a three-strand braided rope using helical geometry with proper phase relationships.
**Geometry**
Three helices on cylinder radius 0.6, pitch 1.8, phase offsets 0, 120°, 240°. Tube radius 0.15.
**Styling**
Colour strands #c96, #6c9, #96c. Cylinder core hidden. Camera (3,2,2). 2000×1800 PNG.
**Deliverable** PNG.
Judge Scores
Mathematical Accuracy
64/100
Color Implementation
69/100
Geometric Completeness
59/100
Reference Elements
64/100
Rendered Output
Test ID: 010_butterfly_curve
Shaders: shader.wgsl
Problem Prompt
# Butterfly Curve
Create an animated WebGL visualization of the transcendental butterfly curve with color gradients that emphasize its wing-like structure.
## Requirements:
1. Implement the butterfly curve equation:
- x = sin(t) * (e^cos(t) - 2*cos(4t) - sin(t/12)^5)
- y = cos(t) * (e^cos(t) - 2*cos(4t) - sin(t/12)^5)
2. Animate the curve drawing from t=0 to t=12π
3. Apply a color gradient that changes based on:
- The angle from center
- The distance from center
- Creating a butterfly wing effect
4. Add particle effects that follow the curve path
5. Implement a subtle glow effect on the curve
6. Include smooth camera zoom that reveals the full pattern
7. Add a complementary animated background
Judge Scores
Mathematical Accuracy
57/100
Color Implementation
76/100
Geometric Completeness
42/100
Reference Elements
58/100
Rendered Output
Test ID: 011_calabi_yau_manifold
Shaders: shader.wgsl
Problem Prompt
**Objective**
Display the real 3‑D isosurface
$
\Re\!\Bigl(\sum_{i=0}^{4}z_i^{5}-5\psi\prod_{i=0}^{4}z_i\Bigr)=0
$
under the constraint $\sum_{i=0}^{4}|z_i|^{2}=1$ (the quintic CY), intersected with the hyperplane $z_{3}=z_{4}=0$, for $\psi=0.4$. Map $(z_{0},z_{1},z_{2})$ to $\mathbb R^{3}$ via stereographic projection.
**Numerics**
* Sample 400³ grid on cube $[-1.5,1.5]^{3}$.
* Use marching cubes at isovalue 0 with linear interpolation.
**Styling**
* Colour by vertex normal: n·(0.3,0.7,0.6) mapped to viridis palette.
* Add subsurface‐scattering fake: ambient 0.3 + diffuse 0.5 + specular 0.2 (shininess 128).
* Camera (4,4,4) → origin, FOV 35°. Background #001018.
* 2600 × 2600 px PNG, 4× SSAA.
**Deliverable** PNG.
Judge Scores
Mathematical Accuracy
6/100
Color Implementation
4/100
Geometric Completeness
6/100
Rendered Output
Test ID: 012_capsule_shape
Shaders: shader.wgsl
Problem Prompt
Create a 3D capsule shape (cylinder with hemispherical caps) with height 3.0 and radius 0.8, oriented vertically. Material: semi-glossy porcelain white with subtle blue undertones. Lighting: three-point setup with rim light. Background: dark gradient. Camera: slight low angle to emphasize height.
Outputs a single image.
Judge Scores
Mathematical Accuracy
52/100
Color Implementation
46/100
Geometric Completeness
67/100
Reference Elements
42/100
Rendered Output
Test ID: 013_cardioid_limacon_collection
Shaders: shader.wgsl
Problem Prompt
# Cardioid and Limaçon Collection
Create a WebGL visualization showcasing various members of the limaçon family, including the special case of the cardioid, with interactive parameter control.
## Requirements:
1. Implement the general limaçon equation: r = a + b*cos(θ)
2. Display multiple curves showing:
- Cardioid (a = b)
- Limaçon with inner loop (a < b)
- Dimpled limaçon (a > b but a < 2b)
- Convex limaçon (a ≥ 2b)
3. Use different colors for each curve type
4. Add animated parameter transitions showing how curves morph between types
5. Include a subtle grid or polar coordinate system for reference
6. Implement smooth curve rendering with appropriate sampling
7. Add labels or legends identifying each curve type
Judge Scores
Mathematical Accuracy
85/100
Color Implementation
91/100
Geometric Completeness
81/100
Reference Elements
81/100
Rendered Output
Test ID: 014_catenoid_helicoid_minimal
Shaders: shader.wgsl
Problem Prompt
# Catenoid-Helicoid Minimal Surface
Create an animated transformation between a catenoid and helicoid, showcasing the unique property that they are locally isometric minimal surfaces.
## Requirements:
1. Implement the parametric transformation:
- x = cos(θ) * sinh(v) * sin(u) + sin(θ) * cosh(v) * cos(u)
- y = -cos(θ) * sinh(v) * cos(u) + sin(θ) * cosh(v) * sin(u)
- z = u * cos(θ) + v * sin(θ)
Where θ varies from 0 (helicoid) to π/2 (catenoid)
2. Use a soap bubble-like material with:
- Thin film interference colors
- Transparency
- Reflective properties
3. Animate smooth transformation between surfaces
4. Add wireframe overlay to show surface structure
5. Implement proper two-sided rendering
6. Include ambient particles to show air flow
7. Create a minimalist background that doesn't distract
Judge Scores
Mathematical Accuracy
82/100
Color Implementation
86/100
Geometric Completeness
63/100
Reference Elements
77/100
Rendered Output
Test ID: 015_chinese_remainder_sunzi
Shaders: shader.wgsl
Problem Prompt
**Objective**
Create a shader visualization of the Chinese Remainder Theorem as presented in Sunzi Suanjing (3rd-5th century CE), showing the ancient Chinese "Ta-yen" method for solving systems of modular equations, with visual connections to its modern applications in cryptography.
**Historical Context**
The Chinese Remainder Theorem appears in Sunzi Suanjing (Master Sun's Mathematical Manual) with the famous problem: "Find a number that leaves remainder 2 when divided by 3, remainder 3 when divided by 5, and remainder 2 when divided by 7." This method, refined over centuries by Chinese mathematicians, predates similar Western discoveries by over 1000 years.
**Mathematical Specification**
1. **The Classic Problem Visualization**
Solve: x ≡ 2 (mod 3), x ≡ 3 (mod 5), x ≡ 2 (mod 7)
- Display three rotating circles representing moduli 3, 5, 7
- Mark positions 0,1,2 on the mod 3 circle
- Mark positions 0,1,2,3,4 on the mod 5 circle
- Mark positions 0,1,2,3,4,5,6 on the mod 7 circle
- Highlight the required remainders in red
2. **Ancient Chinese Solution Method**
Animate the "Da-yan" (Great Extension) algorithm:
- Find M = 3×5×7 = 105
- Calculate M₁ = 35, M₂ = 21, M₃ = 15
- Show inverse finding: 35×2 ≡ 1 (mod 3), etc.
- Build solution: x = 2×35×2 + 3×21×2 + 2×15×1
- Reveal answer: x ≡ 23 (mod 105)
3. **Visual Number Line**
- Display numbers 0-105 as a spiral
- Color code by remainders:
* Red tint for x ≡ 2 (mod 3)
* Blue tint for x ≡ 3 (mod 5)
* Green tint for x ≡ 2 (mod 7)
- Show convergence at x = 23 (all colors combine)
4. **Traditional Chinese Styling**
- Background: Rice paper texture (#FFF8DC)
- Ink brush stroke effects for circles
- Chinese numerals (一二三四五六七) alongside Arabic
- Traditional seal stamp with "孫子算經" (Sunzi Suanjing)
- Decorative cloud patterns in margins
5. **Modern Connection Visualization**
Show RSA encryption parallel:
- Mini-visualization of how CRT speeds up RSA decryption
- Split large modulus into coprime factors
- Parallel computation visualization
- Time comparison: direct vs CRT method
6. **Historical Annotations**
- Portrait of ancient Chinese mathematician
- Timeline: Sunzi (300s) → Qin Jiushao (1247) → Gauss (1801)
- Original problem text in classical Chinese
- Translation: "What number has these remainders?"
**Rendering Requirements**
- Smooth rotation of modular circles
- Particle effects showing number flow
- Calligraphy-style number rendering
- Subtle animation of solution building
- Resolution: 1600×1600 pixels
**Educational Goals**
- Honor ancient Chinese mathematical achievements
- Show elegance of modular arithmetic visualization
- Connect ancient wisdom to modern cryptography
- Demonstrate cultural continuity in mathematics
**Deliverable**
A shader that brings the Chinese Remainder Theorem to life through beautiful visualization, showing how ancient Chinese mathematicians solved complex modular systems centuries before the rest of the world, rendered in traditional Chinese artistic style while demonstrating modern relevance.
Judge Scores
Mathematical Accuracy
49/100
Color Implementation
44/100
Geometric Completeness
49/100
Reference Elements
25/100
Rendered Output
Test ID: 016_chinese_remainder_theorem
Shaders: shader.wgsl
Problem Prompt
Create a single-file HTML shader that illustrates the Chinese Remainder Theorem through an interactive visualization. The visualization should:
1. Demonstrate the system of congruences:
- x ≡ 2 (mod 3)
- x ≡ 3 (mod 5)
- x ≡ 2 (mod 7)
2. Create three circular number lines (modular arithmetic wheels) for mod 3, 5, and 7
3. Animate a synchronized counter that highlights valid solutions
4. Show numbers 0-105 being tested, highlighting those that satisfy each congruence
5. When a number satisfies all three congruences (x = 23, 83), create a visual celebration:
- Pulse all three wheels
- Display the solution prominently
- Show the verification: 23 mod 3 = 2, 23 mod 5 = 3, 23 mod 7 = 2
6. Canvas size should be 2400×1600 pixels
7. Use distinct colors for each modular system
8. Include the theorem statement and solution method
9. Add smooth transitions and clear visual feedback
The implementation should be a complete, self-contained HTML file with embedded WebGL shader code. The visualization should make the abstract concept of the Chinese Remainder Theorem concrete and understandable.
Judge Scores
Mathematical Accuracy
68/100
Color Implementation
72/100
Geometric Completeness
66/100
Reference Elements
63/100
Rendered Output
Test ID: 017_chladni_patterns
Shaders: shader.wgsl
Problem Prompt
**Objective**
Simulate Chladni patterns on a vibrating square plate, showing nodal lines where sand accumulates and the standing wave amplitude distribution.
**Physics Model**
$
u(x,y,t) = A \sin\left(\frac{n\pi x}{L}\right) \sin\left(\frac{m\pi y}{L}\right) \cos(\omega t)
$
where $n=4, m=3$ (mode numbers), $L=2.0$ (plate size), $\omega = 2\pi f$ with $f = 440$ Hz.
**Visualization**
* Domain: $[-1, 1] \times [-1, 1]$ (centered square plate)
* Compute amplitude at $t = 0$ (maximum displacement)
* Color mapping:
- Nodal lines (|u| < 0.01): Sandy beige #D4A574
- Positive displacement: Blue gradient #0066CC to #00CCFF
- Negative displacement: Red gradient #CC0000 to #FF6666
* Add particle simulation: 5000 sand grains migrating toward nodes
* Particle color: #8B6F47 (dark sand)
**Rendering**
* Resolution: 2048 × 2048 px
* Show plate boundary as thin black frame (5px)
* Background: #F5F5DC (beige, like experimental setup)
* Apply subtle 3D height mapping based on amplitude
* Add soft shadows for depth perception
**Deliverable** PNG showing clear Chladni pattern with (4,3) mode, visible nodal lines with sand accumulation.
Judge Scores
Mathematical Accuracy
74/100
Color Implementation
67/100
Geometric Completeness
70/100
Reference Elements
68/100
Rendered Output
Test ID: 018_complex_analysis_stained_glass
Shaders: shader.wgsl
Problem Prompt
**Objective**
Render **complex analysis** concepts as **illuminated stained glass windows**, where analytic functions create light patterns and singularities form glass structures.
**Mathematical recipe**
1. Base function: f(z) = (z² - 1)/(z² + 1) with branch cuts
2. Domain coloring enhanced for stained glass:
- Magnitude |f(z)| determines glass opacity (dark → transparent)
- Argument arg(f(z)) sets hue via continuous color wheel
- Add lead came at |f(z)| = 2ⁿ contours (n integer)
3. Singularities become ornate rose windows:
- Simple poles: radial symmetry with n petals for order n
- Essential singularities: fractal Celtic knot patterns
- Branch points: spiral glass arrangements
4. Conformal mapping properties:
- Right angles preserved in lead came intersections
- Circles → circles visible in glass piece boundaries
5. Residue theorem: light intensity at poles proportional to residue
**Styling**
* Gothic cathedral window framework (pointed arch)
* Realistic glass materials: varying thickness creates color depth
* Lead came with aged patina and structural bolts
* Sunlight from behind: caustics project function onto floor
* Glass imperfections: bubbles, waves near singularities
* Dust motes visible in light beams
* Stone window frame with carved mathematical symbols
* View from inside cathedral, darkened interior
* Camera at (0, 0, -10), looking straight at window; FOV 40°
* Resolution 2400 × 2400 px, ray-traced lighting
**Deliverable** Single PNG showing complex function as stained glass masterpiece
Judge Scores
Mathematical Accuracy
48/100
Color Implementation
51/100
Geometric Completeness
35/100
Reference Elements
34/100
Rendered Output
Test ID: 019_compound_polyhedra_stella_octangula
Shaders: shader.wgsl
Problem Prompt
Create a stella octangula (compound of two interpenetrating tetrahedra) with edge length 2.0. Material: transparent crystal (IOR 1.5) with slight blue tint, 80% transparency. Include internal reflections and refractions. Lighting: dramatic spot from above. Background: black. Camera: angled to show interpenetration clearly.
Outputs a single image.
Judge Scores
Mathematical Accuracy
72/100
Color Implementation
76/100
Geometric Completeness
49/100
Reference Elements
62/100
Rendered Output
Test ID: 020_conformal_spiral_mapping
Shaders: shader.wgsl
Problem Prompt
**Objective**
Visualize **conformal spiral mapping** transforming a rectangular grid into an Archimedean spiral while preserving local angles and revealing the beauty of conformal geometry.
**Mathematical recipe**
1. Start with rectangular grid in complex plane: -2 ≤ Re(z) ≤ 2, -2 ≤ Im(z) ≤ 2.
2. Apply conformal spiral map: w = exp(αz) where α = 0.2 + 0.3i.
- This combines scaling (e^(0.2Re(z))) with rotation (0.3Im(z)).
3. The transformation maps:
- Vertical lines → logarithmic spirals.
- Horizontal lines → radial rays from origin.
4. Grid: 41×41 lines (spacing 0.1).
5. Embed result in 3D with height based on |w|:
- h(w) = 0.5·log(1 + |w|) for smooth elevation.
**Styling**
* Grid lines: Thin tubes (radius 0.008) with glass-like material.
* Color scheme: Vertical lines in blue-cyan gradient, horizontal in red-orange.
* Height-based fog: Denser at higher elevations.
* Central singularity marked with glowing white sphere.
* Caustic lighting effects from refractive grid.
* Dark background with subtle radial gradient.
* Camera at (3, 3, 4), looking down at spiral; FOV 45°.
* Resolution 2048 × 2048 px, 4× SSAA.
**Deliverable** Single PNG showing the conformal transformation creating a beautiful spiral grid pattern.
Judge Scores
Mathematical Accuracy
63/100
Color Implementation
62/100
Geometric Completeness
58/100
Reference Elements
60/100
Rendered Output
Test ID: 022_crystal_lattice_diffraction
Shaders: shader.wgsl
Problem Prompt
**Objective**
Simulate and visualise the 2‑D X‑ray diffraction pattern of a perfect *face‑centred cubic* (FCC) crystal viewed down the ⟨001⟩ zone axis.
**Physical model**
1. **Real‑space lattice** FCC with lattice constant $a=1$. Scatterers at fractional positions (0,0,0), (0,½,½), (½,0,½), (½,½,0).
2. **Scattering amplitude** Kinematic approximation; each scatterer contributes unit complex amplitude.
3. **Reciprocal lattice** Compute structure factors $F_{\mathbf G}$ for all integer Miller indices $(h,k,0)$ with $‖\mathbf G‖\le20\,(2\pi/a)$. Allowed reflections satisfy $h+k$ even. Intensity $I_{\mathbf G}=|F_{\mathbf G}|^{2}$.
4. **Detector plane** Normal to beam; place origin at transmitted beam (which may be suppressed for clarity). Pixel coordinates $q_x,q_y\propto h,k$.
**Rendering instructions**
* Canvas 1800 × 1800 px, black background.
* Draw each reflection as a filled disk. Disk centre at $(h,k)$ scaled so that the (20,0) spot sits 90 % of radius from centre.
* Disk radius = $4+‖(h,k)‖/6$ px (larger spots at higher order).
* Intensity → greyscale: $I=0$ → #000000, max intensity → #FFFFFF, linear mapping.
* Suppress the (0,0) direct beam.
* No axes, text or borders.
**Deliverable**
16‑bit PNG, gamma 2.2.
Judge Scores
Mathematical Accuracy
85/100
Color Implementation
81/100
Geometric Completeness
92/100
Reference Elements
80/100
Rendered Output
Test ID: 023_cycloid_wave_patterns
Shaders: shader.wgsl
Problem Prompt
**Objective** – Visualise the classical cycloid produced by a circle of radius $r=1$ rolling along the x‑axis, then tile it to form a wave pattern.
**Curve**
$
x(θ)= θ - \sin θ,\qquad y(θ)= 1 - \cos θ,\quad θ∈[0,2π].
$
**Wave tiling**
* Repeat the cycloid for 6 consecutive periods (θ ∈ [0,12π]); join end‑to‑end.
* Mirror the entire wave about the x‑axis to produce a "trochoid trough" pattern.
**Styling**
* Positive‑y wave: stroke #ffaa00, 5 px. Negative‑y mirror: stroke #0066ff, 5 px.
* Thin grey baseline at y=0, 1 px.
* Canvas 2600 × 800 px, 100 px margin left/right. White background.
**Deliverable** – PNG.
Judge Scores
Mathematical Accuracy
81/100
Color Implementation
87/100
Geometric Completeness
83/100
Reference Elements
84/100
Rendered Output
Test ID: 024_cylindrical_bend_deformation
Shaders: shader.wgsl
Problem Prompt
**Objective**
Demonstrate **cylindrical bend deformation** by transforming a rectangular grid into a smoothly curved cylindrical surface, like bending a sheet of paper.
**Mathematical recipe**
1. Start with flat rectangular grid (4×2 units) in XY plane, 40×20 segments.
2. Apply cylindrical bend transformation with radius R = 1.5:
- Bend angle θ = x / R (x-position determines angle).
- New position: x' = R·sin(θ), y' = y, z' = R·(1 - cos(θ)).
- Preserve y-coordinates (bend axis).
3. Add thickness (0.05 units) to create solid bent plate.
4. Maintain grid line structure for visual clarity.
5. Apply smooth shading with preserved surface normals.
**Styling**
* Material: Brushed metal with anisotropic highlights along bend direction.
* Color: Gradient from cool steel blue (inner curve) to warm bronze (outer curve).
* Grid lines: Subtle embossed effect, darker than base material.
* Three-point lighting emphasizing curvature.
* Soft shadows and ambient occlusion.
* Camera at (2.5, 2, 3), looking at origin; FOV 40°.
* Medium grey background (0.3, 0.3, 0.35).
* Resolution 2048 × 2048 px, 4× SSAA.
**Deliverable** Single PNG showing the bent rectangular grid with clear cylindrical curvature.
Judge Scores
Mathematical Accuracy
17/100
Color Implementation
22/100
Geometric Completeness
11/100
Reference Elements
14/100
Rendered Output
Test ID: 025_differential_equations_water
Shaders: shader.wgsl
Problem Prompt
**Objective**
Render **differential equations** as **living water surfaces**, where solutions manifest as fluid dynamics and wave patterns.
**Mathematical recipe**
1. Base equation: ∂²u/∂t² = c²∇²u - γ∂u/∂t (damped wave equation)
2. Initial conditions create "equation signature":
- Linear DE: straight wave fronts
- Nonlinear DE: soliton formations
- Chaotic DE: turbulent mixing zones
3. Boundary conditions as shoreline geometries:
- Dirichlet: solid walls (perfect reflection)
- Neumann: gradual beaches (partial absorption)
- Periodic: infinite ocean illusion
4. Multiple equations interact as different "water types":
- Heat equation: viscous, honey-like flow
- Schrödinger: quantum probability mist
- Navier-Stokes: realistic water turbulence
**Styling**
* Photorealistic water rendering with caustics and subsurface scattering
* Height field directly from solution u(x,y,t) at t=2.5
* Color by equation type: clear (wave), blue-green (heat), violet (quantum)
* Foam where |∇u| > threshold, indicating solution discontinuities
* Underwater view showing solution history as sediment layers
* Golden hour lighting: sun at 15° elevation, warm orange glow
* Atmospheric perspective with distant mist
* Camera at (0, 30, -50), looking at origin; FOV 60°
* Resolution 2400 × 2400 px, ray-traced reflections
**Deliverable** Single PNG showing multiple differential equations as interacting water bodies
Judge Scores
Mathematical Accuracy
13/100
Color Implementation
11/100
Geometric Completeness
12/100
Reference Elements
12/100
Rendered Output
Test ID: 026_dna_double_helix
Shaders: shader.wgsl
Problem Prompt
**Objective**
Render two anti‑parallel helices (radius 1, pitch 3.4 Å per turn) with phase offset π (half‑turn).
**Geometry**
$
\text{Helix}_1(t)=(\cos t,\; \sin t,\; 0.54\,t),\quad
\text{Helix}_2(t)=(\cos(t+\pi),\; \sin(t+\pi),\; 0.54\,t)
$
for $t∈[0,12π]$ (≈ 6 full base‑pair turns).
Ladder "rungs": cylinders radius 0.05 connecting helices every Δt = π (10 base pairs per turn).
**Styling**
* Strands: tube radius 0.12, colours #2e8bff & #ff5a5a.
* Rungs: #dddddd cylinders.
* Camera (5,0,2), look at centre, FOV 35°, black background with faint star‑field (for depth cue).
* 2400 × 1800 px PNG, 4× SSAA.
**Deliverable** PNG.
Judge Scores
Mathematical Accuracy
53/100
Color Implementation
48/100
Geometric Completeness
63/100
Reference Elements
38/100
Rendered Output
Test ID: 027_epicycloids
Shaders: shader.wgsl
Problem Prompt
**Objective** – Draw the epicycloid traced by a point on a circle of radius $r=1$ rolling externally around a fixed circle of radius $R=4$.
**Parametric form**
$
x(θ)= (R+r)\cos θ - r\cos\!\bigl(\tfrac{R+r}{r}θ\bigr),\quad
y(θ)= (R+r)\sin θ - r\sin\!\bigl(\tfrac{R+r}{r}θ\bigr),
$
with θ ∈ [0,2πr/gcd(R,r)] ⇒ here θ ∈ [0,2π] (because R/r = 4 is integer).
**Styling**
* Stroke 5 px #00bbff; 2000 × 1600 px canvas.
* Show small red dot for each of the **4 cusps** (radius 8 px).
* Add faint grey dashed circle of radius R centred at origin as reference.
**Deliverable** – PNG.
Judge Scores
Mathematical Accuracy
95/100
Color Implementation
94/100
Geometric Completeness
97/100
Reference Elements
94/100
Rendered Output
Test ID: 028_euler_polyhedron_formula
Shaders: shader.wgsl
Problem Prompt
Create a single-file HTML shader that demonstrates Euler's Polyhedron Formula (V - E + F = 2) through an animated cube unfolding. The visualization should:
1. Start with a 3D wireframe cube that rotates slowly
2. Animate the cube unfolding into a flat net pattern over 5 seconds
3. Clearly annotate and count:
- Vertices (V = 8) with small colored dots
- Edges (E = 12) with distinct colored lines
- Faces (F = 6) with semi-transparent colored fills
4. Display the formula V - E + F = 2 with live updating numbers during the animation
5. Show the calculation: 8 - 12 + 6 = 2
6. Canvas size should be 2600×1600 pixels
7. Use a clean, educational style with clear labels
8. Include smooth transitions and easing for the unfolding animation
9. After unfolding, pause for 2 seconds, then reverse the animation to fold back into a cube
The implementation should be a complete, self-contained HTML file with embedded WebGL shader code. The visualization should be both mathematically instructive and visually engaging.
Judge Scores
Mathematical Accuracy
64/100
Color Implementation
53/100
Geometric Completeness
59/100
Reference Elements
54/100
Rendered Output
Test ID: 030_fermat_parabolic_spiral
Shaders: shader.wgsl
Problem Prompt
Create a single-file HTML shader that renders Fermat's Parabolic Spiral. The visualization should:
1. Use the parametric equations for Fermat's parabolic spiral where r² = a²θ
2. Set a = 0.5 and θ ranging from 0 to 8π
3. Render the spiral with a smooth, rainbow gradient stroke that transitions through the spectrum
4. Canvas size should be 2400×2400 pixels
5. Center the spiral in the canvas
6. Use a dark background to make the rainbow colors pop
7. Ensure smooth anti-aliased rendering of the curve
8. The line width should be appropriate for the canvas size (not too thin, not too thick)
The implementation should be a complete, self-contained HTML file with embedded WebGL shader code. The spiral should be mathematically accurate and visually appealing with the rainbow gradient smoothly transitioning along the curve length.
Judge Scores
Mathematical Accuracy
76/100
Color Implementation
64/100
Geometric Completeness
81/100
Reference Elements
69/100
Rendered Output
Test ID: 031_five_pointed_star_polygon
Shaders: shader.wgsl
Problem Prompt
**Objective**
Draw the regular pentagram inscribed in a circle of radius 1, centred on canvas.
**Construction**
* Connect vertices in order 1‑3‑5‑2‑4‑1.
* Fill #ffcc33; 3‑px black outline.
* Canvas 1600 × 1600 px, white background.
**Deliverable** – PNG.
Judge Scores
Mathematical Accuracy
85/100
Color Implementation
95/100
Geometric Completeness
76/100
Reference Elements
81/100
Rendered Output
Test ID: 032_fourier_architectural_blueprint
Shaders: shader.wgsl
Problem Prompt
Translate a 64×64 frequency-domain image into a bird's-eye architectural floorplan where low frequencies extrude into tall perimeter walls and high frequencies become subtle interior bumps—echoing how gross structure dominates fine details.
Algorithm:
1. Frequency grid: Indices u,v ∈ {−32...31}
2. Amplitude spectrum: A(u,v) = 1/(u²+v²+1)
3. iFFT: Compute spatial map s(x,y)=Re IFFT(A). Result is 64×64 real array.
4. Extrusion: For each cell extrude upward to height h=40·(s−s_min)/(s_max−s_min) mm
5. Geometry generation: Create 64² pillar blocks (1 mm² footprint) joined if adjacent heights differ ≤1 mm to form walls
6. Visual rendering:
- Orthographic top-down camera, z-axis up
- Walls coloured blueprint-blue (#0066CC); floor pure white
- Light ambient only (flat)
- Superpose faint (10%) grey grid at 1 mm spacing
7. Canvas 2000 × 2000 px, 80 px border
Deliverable: Outputs a single image.
Judge Scores
Mathematical Accuracy
39/100
Color Implementation
47/100
Geometric Completeness
38/100
Reference Elements
34/100
Rendered Output
Test ID: 033_fourier_epicycles_drawing
Shaders: shader.wgsl
Problem Prompt
# Fourier Epicycles Drawing
Create a WebGL animation that uses Fourier epicycles to draw complex shapes, showing how combinations of rotating circles can create any continuous path.
## Requirements:
1. Implement discrete Fourier transform to decompose a path
2. Visualize epicycles (rotating circles) with:
- At least 10 frequency components
- Circles of decreasing radius
- Connecting arms between circles
3. Draw multiple example shapes:
- Square wave approximation
- Heart shape
- Figure-8 pattern
- Custom logo or text
4. Show both the epicycles and the resulting traced path
5. Add trails showing the motion history
6. Color code different frequency components
7. Include options to show/hide:
- Individual epicycles
- Connecting arms
- Traced path
- Frequency spectrum
Judge Scores
Mathematical Accuracy
77/100
Color Implementation
75/100
Geometric Completeness
81/100
Reference Elements
70/100
Rendered Output
Test ID: 034_fractal_loxodromic_patterns
Shaders: shader.wgsl
Problem Prompt
**Objective**
Generate **fractal loxodromic patterns** by iterating complex Möbius transformations, creating self-similar spiral structures in 3D space.
**Mathematical recipe**
1. Define loxodromic Möbius transformation: f(z) = (az+b)/(cz+d)
- Use a = 1.2·exp(iπ/6), b = 0.1, c = 0.1i, d = 1.
- Fixed points: z₁, z₂ with |f'(z₁)| > 1 (repelling), |f'(z₂)| < 1 (attracting).
2. Generate orbit for 200 initial points on circle |z| = 1.5:
- Iterate f(z) up to 50 times or until |z| > 10.
- Store full trajectory for each initial point.
3. Embed in 3D using stereographic projection:
- (x,y,z) = (2Re(z)/(1+|z|²), 2Im(z)/(1+|z|²), (|z|²-1)/(|z|²+1)).
4. Connect trajectory points to form spiral curves.
5. Add recursion: Apply transformation to smaller circles.
**Styling**
* Trajectories as glowing tubes, radius decreases with iteration.
* Color by iteration count: Deep purple (early) to bright orange (late).
* Emission intensity increases near fixed points.
* Subtle particle effects at trajectory endpoints.
* Black background with blue fog for depth.
* HDR bloom for luminous spirals.
* Camera at (2, 1.5, 2.5), looking at origin; FOV 55°.
* Resolution 2048 × 2048 px, 4× SSAA.
**Deliverable** Single PNG showing fractal spiral patterns from loxodromic iteration.
Judge Scores
Mathematical Accuracy
11/100
Color Implementation
8/100
Geometric Completeness
14/100
Reference Elements
10/100
Rendered Output
Test ID: 035_fractal_tree_2d
Shaders: shader.wgsl
Problem Prompt
**Objective**
Generate a symmetric 2D fractal tree through recursive branching.
**Construction**
Start trunk from (0,0) to (0,1). Each segment length scaled 0.7, split into two at ±45° from parent. Recurse 7 levels.
**Styling**
Stroke 2 px #006600. Canvas 1600 × 1800 px white.
**Deliverable** – PNG.
Judge Scores
Mathematical Accuracy
76/100
Color Implementation
70/100
Geometric Completeness
86/100
Reference Elements
72/100
Rendered Output
Test ID: 036_gauss_complex_plane
Shaders: shader.wgsl
Problem Prompt
Create a single-file HTML shader that visualizes Gauss's Complex Plane with the 5th roots of unity. The visualization should:
1. Draw a complex plane with clearly labeled real and imaginary axes
2. Display the unit circle prominently
3. Plot the 5 fifth roots of unity as colored points:
- z₀ = 1
- z₁ = e^(2πi/5)
- z₂ = e^(4πi/5)
- z₃ = e^(6πi/5)
- z₄ = e^(8πi/5)
4. Connect the roots with lines to form a regular pentagon
5. Color each root with a distinct color from a harmonious palette
6. Add subtle animations:
- Roots should pulse gently in size
- Pentagon edges should have a subtle glow effect
7. Canvas size should be 1800×1800 pixels
8. Include grid lines for the complex plane
9. Label each root with its mathematical expression
10. Add a title "5th Roots of Unity in the Complex Plane"
The implementation should be a complete, self-contained HTML file with embedded WebGL shader code. The visualization should clearly demonstrate the symmetry and beauty of roots of unity in the complex plane.
Judge Scores
Mathematical Accuracy
74/100
Color Implementation
92/100
Geometric Completeness
82/100
Reference Elements
58/100
Rendered Output
Test ID: 037_geometric_cube
Shaders: shader.wgsl
Problem Prompt
Axis-aligned cube, side = 2, centred at origin.
Rendering:
- Wireframe style: edges 3 px midnight-blue (#003366); transparent faces α = 0.1 sky-blue
- Hidden edges dashed
- Camera: Elevated view from upper-right, looking down at cube corner (approx 45° elevation, 30° azimuth)
- Perspective: Orthographic projection. Canvas 1800×1800
Deliverable: Outputs a single image.
Judge Scores
Mathematical Accuracy
7/100
Color Implementation
5/100
Geometric Completeness
10/100
Rendered Output
Test ID: 038_glass_sphere_red_core
Shaders: shader.wgsl
Problem Prompt
**Objective**
Create a photorealistic ray-traced shader that renders a clear glass spherical shell containing a glowing red solid sphere inside. This classic ray tracing demonstration should showcase advanced optical effects including refraction, reflection, caustics, and volumetric lighting.
**Geometric Specification**
1. **Outer Glass Shell**
* **Geometry**: Hollow sphere with outer radius R₁ = 1.0 and inner radius R₂ = 0.85
* **Center**: Origin (0, 0, 0)
* **Wall thickness**: 0.15 units
* **Surface quality**: Perfectly smooth with no imperfections
2. **Inner Solid Sphere**
* **Geometry**: Solid sphere with radius r = 0.6
* **Center**: Origin (0, 0, 0) - concentric with the glass shell
* **Material**: Emissive red material with internal glow
* **Clearance**: 0.25 units between inner sphere surface and glass shell inner surface
**Material Properties**
1. **Glass Shell Material**
* **Refractive Index**: n = 1.52 (crown glass)
* **Transparency**: 95% transmission, 5% absorption
* **Color**: Clear with very slight blue tint (#fafcff)
* **Surface properties**:
- Fresnel reflections at both inner and outer surfaces
- No internal scattering (perfectly clear)
- Smooth surface (mirror-like when viewed at grazing angles)
2. **Inner Sphere Material**
* **Base Color**: Deep red (#cc0000)
* **Emission**: Bright red glow (#ff3333) with intensity 2.0
* **Surface**: Slightly rough (roughness = 0.1) to show surface detail
* **Subsurface scattering**: Subtle red subsurface glow to enhance volume appearance
**Lighting and Environment**
1. **Primary Lighting**
* **Key Light**: Strong directional light from upper-left (45° elevation, 315° azimuth)
* **Intensity**: 3.0 units, color temperature 5500K (daylight)
* **Shadows**: Sharp shadows enabled to show glass refraction effects
2. **Environment**
* **Background**: Neutral gradient from light gray (#e0e0e0) at horizon to white (#ffffff) at zenith
* **Ground Plane**: Subtle reflective surface (10% reflectivity) positioned below the spheres
* **Ambient Light**: Low-level ambient illumination (0.1 intensity) to prevent pure black shadows
**Ray Tracing Requirements**
1. **Optical Accuracy**
* **Refraction**: Proper Snell's law implementation at glass interfaces
* **Multiple refractions**: Handle ray paths through both glass surfaces
* **Total internal reflection**: Correct behavior at critical angles
* **Fresnel effects**: Accurate reflection/transmission ratios based on viewing angle
2. **Advanced Effects**
* **Caustics**: Light focusing effects from glass refraction (especially from inner sphere glow)
* **Multiple reflections**: Handle inter-reflections between glass surfaces
* **Chromatic dispersion**: Subtle spectral separation in glass refraction
* **Volumetric lighting**: Visible light rays/beams where appropriate
3. **Technical Parameters**
* **Ray depth**: Minimum 8 bounces to capture multiple glass interactions
* **Samples**: High sampling rate for smooth glass surfaces and soft shadows
* **Resolution**: 1600×1600 pixels minimum with anti-aliasing
**Camera and Composition**
* **Position**: Camera positioned at (2, 1, 2) looking toward origin
* **Field of view**: 45° to provide natural perspective
* **Focus**: Sharp focus on the spheres with slight depth of field on background
* **Exposure**: Balanced to show both glass details and inner sphere glow without clipping
**Quality Standards**
* **Glass clarity**: No noise or artifacts in transparent surfaces
* **Reflection accuracy**: Sharp, undistorted reflections of environment and inner sphere
* **Glow rendering**: Smooth, realistic volumetric glow from inner sphere
* **Caustic detail**: Visible light concentration patterns on ground plane and nearby surfaces
* **Color accuracy**: Faithful reproduction of materials without oversaturation
**Deliverable**
A single high-resolution PNG image demonstrating advanced ray tracing techniques with photorealistic glass rendering, accurate optical physics, and beautiful caustic light effects.
Judge Scores
Mathematical Accuracy
46/100
Color Implementation
45/100
Geometric Completeness
34/100
Reference Elements
39/100
Rendered Output
Test ID: 039_group_theory_kaleidoscope
Shaders: shader.wgsl
Problem Prompt
Forge a hypnotic hyperbolic kaleidoscope by reflecting a single (30°,60°,90°) triangle under the (2,3,∞) triangle group. The first-generation reflections should appear vivid and low-depth; deeper reflections progressively darken, giving a sense of plunging into hyperbolic infinity.
Mathematics & tiling algorithm:
1. Fundamental triangle: Vertices (in Poincaré disk) at
- v₁ = (0, 0)
- v₂ = (0.6, 0)
- v₃ = (0.2, 0.55)
(Angles 90°,60°,30° validated via hyperbolic law of cosines)
2. Reflection group: Generate up to depth=4 using mirrors across triangle edges. Expect 1 + 3 + 6 + 12 + 24 = 46 triangles.
3. Colour coding: Assign depth d triangle luminosity L = 0.9·0.7^d, hue = 200°+10d (Shifts toward cyan)
4. Edge rendering: Edges are circle arcs orthogonal to disk boundary; stroke 1.5 px #222222
5. Canvas 2400 × 2400; disk radius fits 95% width. Background white outside disk after crop-mask.
Deliverable: Outputs a single image.
Judge Scores
Mathematical Accuracy
58/100
Color Implementation
47/100
Geometric Completeness
75/100
Reference Elements
53/100
Rendered Output
Test ID: 040_gyroscopic_nested_rings
Shaders: shader.wgsl
Problem Prompt
**Objective**
Create three concentric rings representing a gyroscopic system with orthogonal rotation axes.
**Construction**
Three concentric rings radii 1, 1.5, 2. Each rotated 30° about mutually orthogonal x, y, z axes respectively. Show instantaneous orientation.
**Styling**
Colour rings #f66, #6f6, #66f. Camera (4,3,3). 2200×1600 PNG.
**Deliverable** PNG.
Judge Scores
Mathematical Accuracy
75/100
Color Implementation
72/100
Geometric Completeness
91/100
Reference Elements
87/100
Rendered Output
Test ID: 042_helical_twisted_cube_advanced
Shaders: shader.wgsl
Problem Prompt
**Objective**
Create a cube with edges following true helical paths during a 90° twist transformation.
**Geometry**
Same as previous twisted cube but edges must trace true helices: parametric equation for vertical edge
$x=1,\;z=1,\;y∈[-1,1]$ → after twist:
$\theta(y)=\frac{\pi}{2}\frac{y+1}{2},\;
x'(y)=\cos\theta,\;z'(y)=\sin\theta.$
**Styling**
Render orange diffuse (#ffaa33) with black wire overlay (1 px). 2400×1600 PNG.
**Deliverable** PNG.
Judge Scores
Mathematical Accuracy
8/100
Color Implementation
9/100
Geometric Completeness
6/100
Reference Elements
16/100
Rendered Output
Test ID: 043_holographic_interference
Shaders: shader.wgsl
Problem Prompt
**Objective**
Render the RGB interference pattern produced when two coherent plane waves of equal intensity intersect in free space at a $20^{\circ}$ angle.
**Physical model**
* ***Wave 1:*** $\mathbf k_{1}=(0,\,0,\,2\pi/\lambda)$.
* ***Wave 2:*** $\mathbf k_{2}=(\sin10^{\circ},\,0,\,\cos10^{\circ})\,2\pi/\lambda$.
* Wavelengths: $\lambda_{R}=650\,\text{nm},\;\lambda_{G}=510\,\text{nm},\;\lambda_{B}=460\,\text{nm}$.
* Electric field at screen point $\mathbf r=(x,y,0)$: $E(\mathbf r)=\sum_{c\in\{R,G,B\}}\bigl[\exp(i\mathbf k_{1}\!\cdot\!\mathbf r)+\exp(i\mathbf k_{2}\!\cdot\!\mathbf r)\bigr]_c$.
* Intensity $I_c(\mathbf r)=|E_c|^{2}$.
**Image plane**
* Domain $x,y\in[-5\lambda_G,+5\lambda_G]$.
* Sample $4096\times4096$ grid; periodic boundary conditions not required.
**Rendering**
* Normalise each channel so its maximum intensity maps to value 1, then convert to sRGB.
* Output 3000 × 3000 px 16‑bit PNG. Black background outside domain. No labels.
**Deliverable** One PNG file.
Judge Scores
Mathematical Accuracy
44/100
Color Implementation
35/100
Geometric Completeness
54/100
Reference Elements
57/100
Rendered Output
Test ID: 044_hopf_fibration_base_loops
Shaders: shader.wgsl
Problem Prompt
**Objective**
Produce a single high‑resolution image that visualises the pre‑images (fibres) of three prescribed closed curves on the 2‑sphere under the classical Hopf fibration $p:S^{3}\to S^{2}$. No copy of the target picture is provided – rely exclusively on the mathematical specification below.
**Mathematical specification**
1. **Spaces and map**
* Identify $\mathbb R^{4}\cong\mathbb C^{2}$ by
$(x_{1},x_{2},x_{3},x_{4})\longleftrightarrow(z_{0},z_{1})=(x_{1}+i\,x_{2},\;x_{3}+i\,x_{4})$.
* The *total space* is the unit $3$-sphere
$$
S^{3}=\left\{(z_{0},z_{1})\in\mathbb C^{2}\;|\;|z_{0}|^{2}+|z_{1}|^{2}=1\right\}.
$$
* The *base space* is the unit $2$-sphere embedded in $\mathbb C\times\mathbb R\simeq\mathbb R^{3}$:
$$
S^{2}=\left\{(z,x)\;|\;z\in\mathbb C,\;x\in\mathbb R,\;|z|^{2}+x^{2}=1\right\}.
$$
* Hopf map
$$
p(z_{0},z_{1})=\bigl(2\,z_{0}\,\overline{z}_{1},\;|z_{0}|^{2}-|z_{1}|^{2}\bigr).
$$
2. **Chosen base loops on $S^{2}$**
Work in spherical coordinates $(\theta,\varphi)$ with the usual identification
$ (x,y,z)=\bigl(\sin\theta\cos\varphi,\,\sin\theta\sin\varphi,\,\cos\theta\bigr)$.
* **Loop A (upper)** latitude $+\;60^{\circ}$: $\theta=\dfrac{\pi}{3},\;\varphi\in[0,2\pi)$
* **Loop B (equatorial)** latitude $0^{\circ}$: $\theta=\dfrac{\pi}{2},\;\varphi\in[0,2\pi)$
* **Loop C (lower)** latitude $-60^{\circ}$: $\theta=\dfrac{2\pi}{3},\;\varphi\in[0,2\pi)$
3. **Geometry to render**
For each base loop $\Gamma_{k}$ ($k\in\{A,B,C\}$) render the torus
$$
T_{k}=p^{-1}(\Gamma_{k})\subset S^{3}.
$$
Each point of $T_{k}$ is a *circle fibre*; the union of those fibres over the loop is a flat torus embedded in $S^{3}$.
4. **Projection to $\mathbb R^{3}$**
Use stereographic projection $\sigma:S^{3}\setminus\{(0,0,0,1)\}\to\mathbb R^{3}$ from the north‑pole $(0,0,0,1)$. Compose $T_{k}$ with $\sigma$ to obtain three linked tori in $\mathbb R^{3}$.
5. **Rendering style**
* Draw every fibre as a smooth tube of constant radius (≈ 1 % of the circumscribed sphere diameter) and at least 500 points per fibre so that the surface looks continuous.
* Colour **continuously** with the HSV hue wheel according to the polar angle $\varphi$ on the base loop: $\text{Hue}= \varphi/(2\pi)$. Apply identical colouring to fibre points originating from the same base point.
* Place a small translucent grey sphere at the lower‑right of the frame representing the base $S^{2}$; plot the three coloured base loops on it and include three thin axial rods (±x,±y,±z) for orientation.
* Use a white background, soft Phong shading, no outlines. Image should be at least 1600 × 1600 px, antialiased.
**Deliverable**
A single RGB image (PNG preferred) satisfying the above geometric and stylistic constraints.
Judge Scores
Mathematical Accuracy
26/100
Color Implementation
26/100
Geometric Completeness
38/100
Reference Elements
50/100
Rendered Output
Test ID: 045_hyper_menger_cube_3sphere
Shaders: shader.wgsl
Problem Prompt
**Objective**
Generate a shader that renders the intersection of a 4D Hyper Menger Cube with the unit 3-sphere, projected into 3D space. This visualization should demonstrate both the 4D fractal geometry and the spherical intersection, creating a unique cross-section view of the 4D fractal structure.
**Mathematical Specification**
1. **4D Hyper Menger Cube Construction**
The 4D Menger cube (Menger tesseract) is constructed by extending the 3D Menger cube construction to 4 dimensions:
* Start with a unit tesseract (4D hypercube) in [-1,1]⁴
* At each iteration, divide each face into a 3×3 grid
* Remove the center of each 3D face and the 4D "cross" passing through all centers
* For a point (x,y,z,w), apply the Menger construction rules to all 4 coordinates
* A point is kept if at most 2 of its coordinates have (coordinate mod 3ⁿ) = 1 at scale n
2. **3-Sphere Intersection**
The unit 3-sphere in 4D is defined as:
$$S^3 = \{(x,y,z,w) \in \mathbb{R}^4 : x^2 + y^2 + z^2 + w^2 = 1\}$$
The intersection is:
$$I = \{p \in S^3 : p \text{ belongs to the 4D Menger cube}\}$$
3. **Stereographic Projection to 3D**
Project the intersection from 4D to 3D using stereographic projection from the point (0,0,0,1):
$$\pi(x,y,z,w) = \frac{1}{1-w}(x,y,z) \text{ for } w \neq 1$$
Handle the singularity at w=1 by using a small offset or alternative projection method.
4. **Geometric Properties**
* **Iterations**: Implement at least 3 complete iterations of the 4D Menger construction
* **Cross-sections**: The result should show characteristic Menger cube cross-sections at different "depths" (w-values)
* **Connectivity**: Maintain the connected fractal structure throughout the intersection
5. **Rendering Specifications**
* **Resolution**: Minimum 1600×1600 pixels with anti-aliasing
* **Perspective**: Use a 3D camera positioned to reveal the complex structure
* **Rotation**: Apply gentle rotation to show multiple aspects of the intersection
**Material and Coloring**:
* Color based on the w-coordinate before projection:
- w ≈ 1.0 (north pole): Bright yellow (#ffeb3b)
- w ≈ 0.0 (equator): Deep orange (#ff5722)
- w ≈ -1.0 (south pole): Dark purple (#4a148c)
* Use smooth interpolation between these colors
* Apply a glossy, semi-transparent material (α = 0.8) to show internal structure
6. **Lighting and Environment**
* **Lighting**: Multiple light sources to illuminate the complex geometry:
- Primary light from upper-right
- Secondary light from lower-left
- Ambient lighting to prevent deep shadows
* **Background**: Deep space gradient from dark blue (#0d47a1) to black (#000000)
* **Effects**: Subtle subsurface scattering to enhance the semi-transparent appearance
7. **Mathematical Accuracy Requirements**
* Ensure proper 4D distance calculations for the Menger construction
* Correctly implement the sphere constraint x²+y²+z²+w²=1
* Accurate stereographic projection maintaining topological properties
* No geometric artifacts from improper 4D to 3D conversion
**Deliverable**
A single high-resolution PNG image showing the 3D projection of the 4D Menger cube intersected with the 3-sphere, with proper coloring, transparency, and lighting to reveal the intricate fractal cross-sectional structure.
Judge Scores
Mathematical Accuracy
30/100
Color Implementation
34/100
Geometric Completeness
24/100
Reference Elements
32/100
Rendered Output
Test ID: 046_hyperbolic_heat_kernel
Shaders: shader.wgsl
Problem Prompt
Imagine a thermogram on the Poincaré disk that visualises how heat pulses spread in negatively curved space. Colours must transition from white-hot at the centre to icy indigo at the frontier, emphasising the exponentially accelerated diffusion unique to hyperbolic geometry.
Mathematics:
- Heat kernel in 2-D hyperbolic space (curvature −1) for time t=0.2:
K(r,t) = (1/√(4πt)) * exp(-t) * exp(-r²/(4t))
where r is the hyperbolic distance from origin (on Poincaré disk r = 2 artanh ρ with ρ=|z|)
- Compute K on 2048×2048 disk-centric grid
Colour & geometry:
- Map K linearly to "plasma" palette (Matplotlib); K_max≈1.2400 at centre
- Cap outer 10 px ring to pure black to frame disk
- Overlay geodesic circle of hyperbolic radius 1.5 (Euclidean radius ρ_c=tanh(1.5/2)=0.905); draw as 3 px gold (#ffcc33) dashed line (dash 12 px)
Annotations:
- Add a minuscule legend at bottom-left: colour bar 200 × 20 px, ticks at K=1.24, 0.5, 0.1
File: PNG-24, sRGB, 2200 × 2200 px
Deliverable: Outputs a single image.
Judge Scores
Mathematical Accuracy
63/100
Color Implementation
67/100
Geometric Completeness
45/100
Reference Elements
57/100
Rendered Output
Test ID: 047_icosahedron_wireframe
Shaders: shader.wgsl
Problem Prompt
**Objective**
Render a regular icosahedron in wireframe mode with proper edge and vertex visualization.
**Construction**
Build regular icosahedron edge 1. Perspective camera (3,2,2).
**Styling**
Render edges 2 px #0088ff, vertices small red points. 1800 × 1500 px white canvas.
**Deliverable** – PNG.
Judge Scores
Mathematical Accuracy
8/100
Color Implementation
8/100
Geometric Completeness
8/100
Rendered Output
Test ID: 048_klein_bottle
Shaders: shader.wgsl
Problem Prompt
**Objective**
Render a Klein bottle using the classical parametrization to visualize this non-orientable surface.
**Parametric equations**
Use classical parametrisation (radius 2):
$
\begin{aligned}
x &=\bigl(R+\cos u/2\sin v - \sin u/2\sin 2v\bigr)\cos u,\\
y &=\bigl(R+\cos u/2\sin v - \sin u/2\sin 2v\bigr)\sin u,\\
z &=\sin u/2\sin v + \cos u/2\sin 2v,
\end{aligned}
$
with $u∈[0,2π],\;v∈[0,2π],\;R=2$. Grid 600×120.
**Styling**
Back‑face culling **disabled** (visualise 1‑sidedness). Colour by Gaussian curvature (blue → 0, red → +). Phong light (4,5,8). Camera (6,3,1). BG #eefeff. 2600×1600 PNG.
**Deliverable** PNG.
Judge Scores
Mathematical Accuracy
7/100
Color Implementation
7/100
Geometric Completeness
11/100
Rendered Output
Test ID: 049_lissajous_curve_garden
Shaders: shader.wgsl
Problem Prompt
# Lissajous Curve Garden
Create a dynamic WebGL scene featuring multiple Lissajous curves with different frequency ratios and phase shifts, arranged in a garden-like display.
## Requirements:
1. Display at least 5 different Lissajous curves simultaneously
2. Each curve should have:
- Different frequency ratios (e.g., 3:2, 4:3, 5:4)
- Different phase shifts
- Unique colors that smoothly blend along the curve
3. Animate the curves by slowly varying their phase shifts
4. Arrange curves in 3D space with proper depth perspective
5. Add subtle rotation to the entire scene for better viewing
6. Include smooth anti-aliasing for clean curve rendering
7. Implement a gradient background that complements the curves
Judge Scores
Mathematical Accuracy
63/100
Color Implementation
14/100
Geometric Completeness
9/100
Reference Elements
15/100
Rendered Output
Test ID: 050_logarithmic_spiral_motion
Shaders: shader.wgsl
Problem Prompt
**Objective**
Create a visualization of **logarithmic spiral motion** in 3D space, showing particles following exponential spiral trajectories with simultaneous rotation and scaling.
**Mathematical recipe**
1. Generate 8 particle streams, each starting at different angles.
2. Logarithmic spiral in cylindrical coordinates:
- r(t) = r₀ · exp(k·t), where k = 0.15 (growth rate).
- θ(t) = θ₀ + ω·t, where ω = π/2 (angular velocity).
- z(t) = h₀ + v·t, where v = 0.3 (vertical velocity).
- t ∈ [0, 20] for full spiral development.
3. Each stream consists of 100 particles with time offset.
4. Particle size scales with exp(-k·t/2) (shrinks as it spirals out).
5. Add motion blur trails showing trajectory history.
**Styling**
* Particles: Glowing spheres with HDR emission.
* Color by spiral arm: Full HSV spectrum distributed evenly.
* Intensity fades exponentially with distance from center.
* Motion trails: 20% opacity, length proportional to velocity.
* Central attractor: Bright white emissive sphere (radius 0.1).
* Dark background with radial gradient.
* Bloom and glow post-processing.
* Camera at (3, 4, 2), looking at origin; FOV 50°.
* Resolution 2048 × 2048 px, 4× SSAA.
**Deliverable** Single PNG capturing the dynamic logarithmic spiral motion pattern.
Judge Scores
Mathematical Accuracy
33/100
Color Implementation
34/100
Geometric Completeness
29/100
Reference Elements
34/100
Rendered Output
Test ID: 051_lorenz_attractor_poincare
Shaders: shader.wgsl
Problem Prompt
**Objective**
Integrate the Lorenz system ($\sigma=10,\;\rho=28,\;\beta=8/3$) and visualise both the 3‑D trajectory and its Poincaré section at plane $z=\rho-1=27$.
**Numerics**
* Integrator: 4th‑order RK, $\Delta t=0.005$, total time 100 s.
* Initial point (1,1,1).
* Record intersections where trajectory crosses plane with $\dot z>0$; interpolate linearly for exact hit.
**Rendering**
* 3‑D curve: colour by time (HSV hue 0 → 360° over integration). Thickness 1 % of attractor diameter.
* Poincaré points: 4‑px circles on the plane, coloured white.
* Plane semi‑transparent (#444444, α 0.15).
* Camera (40°,30°) spherical at radius 50; FOV 60°. White background.
* 2000 × 1600 px PNG, gamma 2.2.
**Deliverable** PNG.
Judge Scores
Mathematical Accuracy
7/100
Color Implementation
6/100
Geometric Completeness
6/100
Rendered Output
Test ID: 052_loxodromic_sphere_spirals
Shaders: shader.wgsl
Problem Prompt
**Objective**
Render **loxodromic spirals** on a sphere surface—curves that maintain constant angle with meridians, creating mesmerizing spiral patterns from pole to pole.
**Mathematical recipe**
1. Generate 12 loxodromic curves on unit sphere, each with different starting longitude.
2. Loxodrome parameterization (angle α = 35° with meridians):
- θ(t) = 2·arctan(exp(t·cot(α))) - π/2 (latitude)
- φ(t) = φ₀ + t (longitude)
- t ∈ [-8, 8] to cover multiple spiral turns.
3. Convert to Cartesian: x = cos(θ)cos(φ), y = cos(θ)sin(φ), z = sin(θ).
4. Render each spiral as a tube (radius 0.02) with emissive material.
5. Add transparent sphere (radius 0.98) with subtle grid lines.
**Styling**
* Spiral colors: HSV gradient based on longitude φ₀, full spectrum.
* Emissive intensity varies with latitude: brightest at equator.
* Sphere: glass-like material, IOR 1.1, transparency 0.85.
* Dark background with subtle star field.
* Bloom post-processing for glowing spirals.
* Camera at (2.5, 1.5, 2), looking at origin; FOV 45°.
* Resolution 2048 × 2048 px, 4× SSAA.
**Deliverable** Single PNG showing luminous loxodromic spirals wrapping the sphere.
Judge Scores
Mathematical Accuracy
6/100
Color Implementation
5/100
Geometric Completeness
7/100
Rendered Output
Test ID: 053_mandala_circles
Shaders: shader.wgsl
Problem Prompt
**Objective** – Draw a "sacred‑geometry" mandala with exact **12‑fold radial symmetry** composed solely of mutually tangent circles.
**Geometry**
1. **Central circle** radius $R_{0}=0.30$; centre at origin.
2. **First ring** – 12 identical circles of radius
$
R_{1}=R_{0}\bigl(\csc{\tfrac{\pi}{12}}-1\bigr)^{-1}\approx0.10476,
$
centred on a circle of radius $C_{1}=R_{0}+R_{1}$ at polar angles $\theta_{n}=n\cdot30^{\circ}$.
(Each outer circle is tangent to the central circle and to its two immediate neighbours.)
3. **Bounding circle** of radius $1.00$ centred at origin, tangent to every first‑ring circle (the mandala fits exactly).
**Styling**
* Fill central circle #ffdd55; first‑ring circles alternate #66ccee / #ff7777 as $\theta_{n}$ increases; bounding circle transparent fill, 3‑px gold stroke.
* All inner circles have 2‑px black stroke.
* White background, 2000 × 2000 px PNG. No text.
**Deliverable** – single PNG file.
Judge Scores
Mathematical Accuracy
81/100
Color Implementation
81/100
Geometric Completeness
94/100
Reference Elements
80/100
Rendered Output
Test ID: 054_mandelbulb_fractal
Shaders: shader.wgsl
Problem Prompt
**Objective**
Render a single, high‑resolution image of the order‑8 *Mandelbulb* fractal using ray‑marching with a distance estimator. No reference image is provided—follow the mathematical and stylistic requirements below.
**Fractal definition**
1. **Iteration** For a point **p** ∈ ℝ³ let
$
\mathbf z_{0}=\mathbf p,\qquad
\mathbf z_{k+1}=F(\mathbf z_{k})+ \mathbf p,
$
where
– write $\mathbf z_{k}$ in spherical co‑ordinates $(r,\theta,\phi)$ (with $r=‖\mathbf z_{k}‖$);
– apply the "power‑8 bulb" map
$
F(r,\theta,\phi)= r^{8}\bigl(\sin(8\theta)\cos(8\phi),\;\sin(8\theta)\sin(8\phi),\;\cos(8\theta)\bigr).
$
2. **Escape test** Stop after $N_{\max}=18$ iterations or when $‖\mathbf z_{k}‖>4$.
**Distance estimator**
Use the analytic estimator
$
d(\mathbf p)= \frac{‖\mathbf z_{n}‖\;\ln‖\mathbf z_{n}‖}{\bigl|\partial_r‖\mathbf z_{n}‖\bigr|},
$
accumulated alongside the iteration in standard fashion (analytic derivative chain‑rule). Terminate the ray when the accumulated distance to the surface falls below 0.001 of the scene radius or the ray exits a 5‑unit bounding sphere.
**Camera & lighting**
* Camera origin $(3,\,3,\,2)$ looking at the origin; right‑handed coordinate frame; 45° vertical FOV.
* One white point light at $(4,\,4,\,4)$; Phong shading with ambient = 0.1, diffuse = 0.7, specular = 0.2, shininess = 32.
**Colouring**
Map the *smooth escape value*
$
\nu = n + 1 - \frac{\ln\ln‖\mathbf z_{n}‖}{\ln 8}
$
to HSV hue = $\nu/18$, saturation = 1, value = 1, then convert to sRGB. Inside points (non‑escaped) are coloured #101010.
**Rendering requirements**
* Resolution ≥ 2000 × 2000 px, 4× SSAA.
* Gamma‑correct output (γ = 2.2), saved as 16‑bit PNG.
* White background for rays that miss the fractal. No text or overlays.
**Deliverable**
A single PNG file that meets all constraints.
Judge Scores
Mathematical Accuracy
5/100
Color Implementation
7/100
Geometric Completeness
6/100
Rendered Output
Test ID: 055_menger_cube_fractal
Shaders: shader.wgsl
Problem Prompt
**Objective**
Generate a shader that renders a high-quality 3D Menger cube fractal with at least 4 iterations of subdivision. The fractal should be rendered with proper depth, lighting, and material properties to clearly show the recursive cubic structure.
**Mathematical Specification**
1. **Menger Cube Definition**
The Menger cube is constructed by starting with a solid cube and recursively removing smaller cubes:
* Start with a unit cube centered at origin
* Divide each face into a 3×3 grid (9 squares per face)
* Remove the center square from each face and the cube that passes through all centers
* This removes 7 cubes total from the original, leaving 20 smaller cubes
* Recursively apply this process to each remaining cube
2. **Geometric Construction**
For iteration n, the Menger cube can be defined mathematically as:
* Divide the unit cube [-1,1]³ into 3ⁿ × 3ⁿ × 3ⁿ subcubes
* A subcube at position (i,j,k) is kept if and only if:
- At most 2 of the coordinates i, j, k have (coordinate mod 3) = 1
* This ensures the cross-shaped holes are maintained at every scale
3. **Rendering Requirements**
* **Minimum Iterations**: 4 complete iterations of the fractal construction
* **Resolution**: Image should be at least 1600×1600 pixels
* **Viewing Angle**: Position camera to show the 3D structure clearly (avoid orthogonal views)
* **Rotation**: Apply a slight rotation to all three axes to reveal the fractal structure
4. **Material and Lighting**
* **Base Material**: Use a metallic or crystalline appearance
* **Color Scheme**: Gradient coloring based on iteration level or depth
- Level 0 (largest cubes): Deep blue (#1a237e)
- Level 1: Blue (#283593)
- Level 2: Light blue (#3949ab)
- Level 3: Cyan (#26c6da)
- Level 4+: White (#ffffff)
* **Lighting**: Three-point lighting setup with:
- Key light from upper-left-front
- Fill light from lower-right
- Rim light from behind for edge definition
* **Shadows**: Soft shadows enabled to enhance depth perception
5. **Technical Implementation**
* Use ray marching or ray tracing for accurate distance field rendering
* Implement proper anti-aliasing to avoid jagged edges
* Ensure no z-fighting between adjacent cube faces
* Optimize rendering to handle the geometric complexity efficiently
6. **Background and Composition**
* **Background**: Dark gradient from #0d1117 (top) to #21262d (bottom)
* **Camera Position**: Positioned to create dynamic perspective showing multiple faces
* **Post-processing**: Subtle bloom effect on bright edges to enhance the crystalline appearance
**Deliverable**
A single high-resolution PNG image (≥1600×1600) showing the complete Menger cube fractal with clear visibility of the recursive structure, proper lighting, and the specified color scheme.
Judge Scores
Mathematical Accuracy
3/100
Color Implementation
2/100
Geometric Completeness
6/100
Rendered Output
Test ID: 056_menger_sponge_fractal
Shaders: shader.wgsl
Problem Prompt
**Objective**
Ray‑march an order‑4 Menger sponge implicit surface and produce a lit 3‑D render.
**Signed‑distance function (SDF)**
Recursively apply
```pseudo
float menger(vec3 p){
p = abs(p);
for(i=0;i<4;i++){
if(p.x<p.y) swap(p.x,p.y);
if(p.x<p.z) swap(p.x,p.z);
p = p*3.0 - 2.0*floor(p*3.0);
}
return (length(p)-1.0)/pow(3.0,4);
}
```
where the base cube spans $[-1,1]^3$.
**Camera & lighting**
* Eye (4,3,2), target (0,0,0), FOV = 40°.
* White point light at (8,5,6); Phong shading (ambient 0.05, diffuse 0.75, specular 0.2, shininess 64).
**Rendering**
* March step = signed‑distance × 0.8, max 256 steps, hit ε = 0.0005.
* Shadows via secondary march, soft shadow factor with 32 samples.
* Background: #e0f5ff. Resolution 2200 × 1500 px, 4× SSAA.
**Deliverable** 24‑bit PNG.
Judge Scores
Mathematical Accuracy
9/100
Color Implementation
6/100
Geometric Completeness
6/100
Rendered Output
Test ID: 057_mobius_strip_half_twist
Shaders: shader.wgsl
Problem Prompt
**Goal**
Model a Möbius strip obtained by taking a rectangle $u∈[0,2π],\;v∈[-0.2,0.2]$ and applying a single half‑twist (180°) before gluing the ends.
**Parametric surface**
$
\begin{aligned}
x &=\Bigl(1+\tfrac{v}{2}\cos\tfrac{u}{2}\Bigr)\cos u,\\
y &=\Bigl(1+\tfrac{v}{2}\cos\tfrac{u}{2}\Bigr)\sin u,\\
z &=\frac{v}{2}\sin\tfrac{u}{2}.
\end{aligned}
$
Sample grid 800 × 80 on $(u,v)$.
**Rendering**
* Front‑face colour #66ccff, back‑face colour #ff6699 (double‑sided material to emphasise single‑sidedness).
* Blinn–Phong (amb 0.1, diff 0.7, spec 0.2, shin 64). Light (4,3,4).
* Camera (4,3,2), FOV 40°, white background. 2200 × 1600 px PNG.
**Deliverable** PNG.
Judge Scores
Mathematical Accuracy
79/100
Color Implementation
82/100
Geometric Completeness
62/100
Reference Elements
69/100
Rendered Output
Test ID: 058_mobius_strip_triple_twist
Shaders: shader.wgsl
Problem Prompt
**Objective**
Create a Möbius strip with 3 half-twists (540° total rotation) and color visualization.
**Construction**
Same rectangle as Problem 201 but **twist** angle $3π$:
Replace param by $\tfrac{3u}{2}$ in cos/sin terms. Colour ramp along midline hue 0→360° once per full loop to show triple twist. 2600×1800 PNG.
**Deliverable** PNG.
Judge Scores
Mathematical Accuracy
85/100
Color Implementation
86/100
Geometric Completeness
73/100
Reference Elements
79/100
Rendered Output
Test ID: 059_mobius_transformation_3d
Shaders: shader.wgsl
Problem Prompt
**Objective**
Visualize a **3D Möbius transformation** applied to a cubic lattice, showing the conformal warping of space through complex inversion and rotation.
**Mathematical recipe**
1. Create 3D cubic lattice (7×7×7 grid points, spacing 0.5).
2. Embed in complex projective space: (x,y,z) → w = x + iy, v = z.
3. Apply Möbius transformation: f(w,v) = ((aw+b)/(cw+d), v/|cw+d|²)
- Use a=1+i, b=0.5, c=0.5i, d=1 for interesting distortion.
4. Extract real 3D coordinates: (Re(w'), Im(w'), Re(v')).
5. Connect transformed points maintaining lattice topology.
6. Render both original (faded) and transformed lattice.
**Styling**
* Original lattice: thin grey lines (radius 0.01), alpha 0.3.
* Transformed lattice: glowing tubes, radius varies with |cw+d|⁻¹.
* Color by transformation magnitude: blue (small) to red (large distortion).
* Add focal sphere at transformation singularity.
* Dark background with subtle grid plane at z=0.
* Volumetric glow for transformed elements.
* Camera at (4, 3, 3.5), looking at origin; FOV 42°.
* Resolution 2048 × 2048 px, 4× SSAA.
**Deliverable** Single PNG showing the Möbius transformation's conformal warping effect.
Judge Scores
Mathematical Accuracy
6/100
Color Implementation
17/100
Geometric Completeness
1/100
Rendered Output
Test ID: 060_number_theory_music
Shaders: shader.wgsl
Problem Prompt
**Objective**
Transform **number theory relationships** into a **3D musical score sculpture**, where mathematical properties become notes, rhythms, and harmonic structures.
**Mathematical recipe**
1. Prime factorization creates base rhythm: n = 2^a × 3^b × 5^c × ...
- Each prime p gets its own "instrument track" at height z = log(p)
- Exponent a determines note duration: quarter note × 2^a
2. Modular arithmetic creates melodies:
- Notes from n mod 12 (chromatic scale)
- Octave from floor(log₂(n))
3. Number sequences as musical phrases:
- Fibonacci: ascending spiral melody
- Collatz: chaotic percussion patterns
- Perfect numbers: sustained harmonic chords
4. Euler's totient φ(n) determines volume/dynamics
5. Greatest common divisors create harmonic intervals
**Styling**
* 3D staff lines as glass tubes, glowing with soft internal light
* Notes as crystalline polyhedra: shape determined by prime factors
* Color by harmonic function: tonic (blue), dominant (yellow), subdominant (green)
* Fibonacci spiral as golden ribbon weaving through the score
* Collatz sequences as lightning-like percussion strikes
* Time flows left to right, pitch increases vertically
* Particle effects show "sound waves" emanating from active notes
* Dark concert hall ambiance with spotlights on key sections
* Camera at (40, 20, -30), looking at center; FOV 50°
* Resolution 2400 × 2400 px, with depth of field
**Deliverable** Single PNG showing number theory as 3D musical sculpture
Judge Scores
Mathematical Accuracy
9/100
Color Implementation
9/100
Geometric Completeness
9/100
Rendered Output
Test ID: 061_octagram_star_polygon
Shaders: shader.wgsl
Problem Prompt
Construct a regular octagram {8/3} inscribed in a circle of radius 1. Outer vertices angle step 45°; connect every third vertex to produce eight spikes.
Derived inner radius:
r_in = cos(3π/8)/cos(π/8) ≈ 0.4142
Visual style:
- Fill solid royal-purple (#5A00FF)
- 3-px black outline with miter-limit 2
- Canvas 1800 × 1800, white background, star centred, outer tip 90% of canvas radius
- Drop-shadow (0,0,15 px, 25% opacity) for depth
Deliverable: Outputs a single image.
Judge Scores
Mathematical Accuracy
77/100
Color Implementation
79/100
Geometric Completeness
63/100
Reference Elements
69/100
Rendered Output
Test ID: 062_parametric_gear_train
Shaders: shader.wgsl
Problem Prompt
# Parametric Gear Train
Create an animated gear train system with multiple interlocking gears of different sizes, all generated using parametric equations.
## Requirements:
1. Generate gear profiles using:
- Involute tooth profiles for realistic meshing
- Parametric equations for tooth geometry
- At least 4 gears with different tooth counts
2. Ensure proper gear ratios and meshing:
- Gears must rotate at correct relative speeds
- Teeth must interlock smoothly
- Include both driver and driven gears
3. Add metallic material properties:
- Brushed metal texture
- Appropriate reflections
- Subtle wear marks
4. Implement depth-based rendering for 3D effect
5. Add motion blur on fast-rotating gears
6. Include a mechanical/industrial background
7. Display rotation speeds as overlay text
Judge Scores
Mathematical Accuracy
68/100
Color Implementation
77/100
Geometric Completeness
79/100
Reference Elements
70/100
Rendered Output
Test ID: 063_parametric_seashell
Shaders: shader.wgsl
Problem Prompt
# Parametric Seashell
Create a realistic 3D seashell using parametric equations, with pearl-like material properties and dynamic lighting.
## Requirements:
1. Implement parametric seashell equations:
- x = (1-v/(2π)) * cos(n*v) * (1+cos(u)) + c*cos(n*v)
- y = (1-v/(2π)) * sin(n*v) * (1+cos(u)) + c*sin(n*v)
- z = b*v/(2π) + a*(1-v/(2π)) * sin(u)
Where n controls coiling, a/b control shape, c controls radius
2. Apply pearl-like material with:
- Iridescent color shifting
- Subsurface scattering approximation
- Specular highlights
3. Implement dynamic lighting with moving light source
4. Add subtle surface texture details
5. Include slow rotation to show all angles
6. Create an ocean-themed background
7. Add depth of field effect for realism
Judge Scores
Mathematical Accuracy
63/100
Color Implementation
55/100
Geometric Completeness
66/100
Reference Elements
79/100
Rendered Output
Test ID: 064_penrose_tiling_p3
Shaders: shader.wgsl
Problem Prompt
**Objective**
Generate a finite patch of the rhombic Penrose tiling (P3) by **three deflation steps** starting from a single thick rhombus.
**Algorithm**
1. Thick rhombus edge length = 1, angle 72°.
2. Apply the standard deflation rules (inflate by τ = (1+√5)/2, subdivide into thick + thin rhombi) three times.
3. Retain tiles whose centroids lie within radius 8 of the origin.
**Styling**
* Thick rhombi: fill #ffcc66; thin rhombi: #66aaff.
* Draw arrow matching rules: short red arrow centred on each edge, oriented inward for thick, outward for thin.
* Edge stroke 1.5 px black.
* Canvas 2500 × 2500 px, white background.
**Deliverable** PNG.
Judge Scores
Mathematical Accuracy
61/100
Color Implementation
63/100
Geometric Completeness
63/100
Reference Elements
54/100
Rendered Output
Test ID: 065_phyllotaxis_spiral
Shaders: shader.wgsl
Problem Prompt
**Objective**
Generate a phyllotactic spiral pattern showing the golden angle arrangement found in sunflowers and pinecones, with color-coded Fibonacci spiral arms.
**Mathematical Foundation**
$
\begin{aligned}
\theta_n &= n \times 137.5° \text{ (golden angle)}\\
r_n &= c\sqrt{n} \text{ (Fermat's spiral)}\\
x_n &= r_n \cos(\theta_n)\\
y_n &= r_n \sin(\theta_n)
\end{aligned}
$
where $n$ is the seed index, $c = 0.15$ is the scaling factor.
**Implementation**
* Generate 500 seeds using the above equations
* Each seed rendered as a circle with radius $0.02 + 0.01\sqrt{n/500}$ (growth effect)
* Color seeds by their spiral arm membership:
- Identify which Fibonacci spiral (8, 13, 21, 34, 55) the seed belongs to
- Use distinct colors: #FF6B6B, #4ECDC4, #45B7D1, #F7DC6F, #BB8FCE
* Background: radial gradient from #2C3E50 (center) to #1A252F (edge)
**Styling**
* Canvas: 2048 × 2048 px
* Anti-aliasing: 4× SSAA
* Add subtle glow effect to seeds (soft Gaussian blur)
* Center spiral at canvas center
**Deliverable** PNG showing the complete phyllotactic pattern with clearly visible Fibonacci spirals.
Judge Scores
Mathematical Accuracy
7/100
Color Implementation
15/100
Geometric Completeness
6/100
Rendered Output
Test ID: 066_poincare_disc
Shaders: shader.wgsl
Problem Prompt
**Objective**
Create a single high‑resolution image that shows the *regular hyperbolic triangle tessellation* $\{3,8\}$ (eight equilateral triangles meet at every vertex) in the *Poincaré disk model*. No reference image is provided; rely exclusively on the specification below.
**Mathematical specification**
1. **Model** Represent the hyperbolic plane as the open unit disk
$
\mathbb D=\{(x,y)\in\mathbb R^{2}\mid x^{2}+y^{2}<1\},
$
endowed with the Poincaré metric. Geodesics are Euclidean straight lines through the origin or circle arcs orthogonal to the unit circle $\partial\mathbb D$.
2. **Tessellation** Use the regular tiling with Schläfli symbol $\{3,8\}$: each face is a geodesic triangle; exactly eight triangles meet at every vertex. Begin with one triangle whose vertices lie on rays separated by angle $45^{\circ}$ and whose hyperbolic edge lengths are all equal; repeat by reflections in its edges until the disk is filled.
3. **Checkerboard colouring**
* Assign *black* to the central seed triangle.
* Colour the tessellation by parity of edge distance: adjacent triangles must have opposite colours, yielding a black‑white checkerboard.
4. **Rendering requirements**
* Resolution ≥ 1600 × 1600 px, antialiased.
* Draw the Euclidean boundary circle of $\mathbb D$ with a 4‑px solid black stroke; nothing is drawn outside the circle (pure white).
* Faces are filled *flat* (no gradients) in pure black or pure white; edges are 1‑px black lines.
* No labels, no title, no additional decoration.
**Deliverable**
A single PNG image that meets all geometric and stylistic constraints.
Judge Scores
Mathematical Accuracy
94/100
Color Implementation
94/100
Geometric Completeness
96/100
Reference Elements
93/100
Rendered Output
Test ID: 067_prime_crystal_lattice
Shaders: shader.wgsl
Problem Prompt
Depict the 2-D integer lattice as a perfect crystal where sites with prime-number x-coordinates act as edge dislocations, creating a vivid strain-field hologram. The final heat-map should resemble a materials-science micrograph with glowing stress bands emanating from each prime column.
Construction steps:
1. Lattice domain: Points (x,y) with x,y∈{−100,...,100}
2. Vacancy mask: Mark lattice sites where x is prime and y=0 as vacancies (remove them). There are 25 primes ≤100.
3. Discrete displacement field: Define displacement u(x,y) solving discrete Laplace equation Δu = 0 with boundary u=0 and vacancy nodes forced u=−1. Use Gauss-Seidel until max change <10^-6.
4. Strain magnitude: ε=|∇u| computed via central differences
5. Render:
- Normalise ε so 99th percentile maps to value 1
- Colour map "inferno"; show ε=0 as deep violet
- Vacancies drawn solid black disks radius 4 px
- Pixel size 4 px → resulting bitmap 1600×1600. Add 100 px white frame.
Deliverable: Outputs a single image.
Judge Scores
Mathematical Accuracy
57/100
Color Implementation
61/100
Geometric Completeness
74/100
Reference Elements
56/100
Rendered Output
Test ID: 068_probability_weather_patterns
Shaders: shader.wgsl
Problem Prompt
**Objective**
Transform **probability distributions** into **dynamic weather systems**, where statistical properties manifest as atmospheric phenomena.
**Mathematical recipe**
1. Normal distribution N(μ,σ²): stable high-pressure systems
- Mean μ determines center location
- Variance σ² creates pressure gradient (storm size)
- Multiple normals create weather fronts
2. Exponential distribution: rain intensity patterns
- λ parameter controls precipitation rate
- Memoryless property creates sudden downpours
3. Cauchy distribution: extreme weather events
- Heavy tails generate tornadoes at outliers
- Undefined variance causes chaotic wind patterns
4. Beta distribution: cloud coverage
- α,β parameters shape cloud density gradients
- Bimodal beta creates cumulonimbus formations
5. Multivariate correlations: jet streams connecting systems
**Styling**
* Volumetric cloud rendering with multiple scattering
* Pressure systems as swirling atmospheric spirals
* Rain rendered as refractive droplet sheets
* Lightning bolts at Cauchy tail events (>3σ)
* Wind flow lines colored by velocity (blue=calm, red=hurricane)
* Ground view: rolling hills with weather shadows
* Time-lapse feel: blurred cloud movement trails
* Atmospheric perspective with realistic haze
* Crepuscular rays through cloud breaks
* Camera at (0, 5, -100), tilted up 10°; FOV 70°
* Resolution 2400 × 2400 px, HDR lighting
**Deliverable** Single PNG showing probability distributions as weather map
Judge Scores
Mathematical Accuracy
30/100
Color Implementation
27/100
Geometric Completeness
25/100
Reference Elements
22/100
Rendered Output
Test ID: 069_quantum_probability_waves
Shaders: shader.wgsl
Problem Prompt
**Objective**
Visualise the probability density of a 2‑D infinite square‑well eigenstate superposition.
**Quantum system**
* Potential $V(x,y)=0$ for $x,y\in[0,L]$ and $+\infty$ elsewhere; take $L=1$.
* Eigenfunctions: $\psi_{n,m}(x,y)=2\sin(n\pi x/L)\sin(m\pi y/L)$.
* Superposed state
$
\Psi(x,y)=\tfrac{1}{\sqrt3}\bigl[\psi_{1,1}+e^{i\pi/3}\psi_{2,3}+e^{-i\pi/4}\psi_{3,2}\bigr].
$
* Probability density $P=|\Psi|^{2}$.
**Rendering**
* Sample $1024\times1024$ grid on domain; compute $P$.
* Colour with perceptually uniform "magma" palette (black→bright yellow).
* Display isolines for $P=0.2,0.4,0.6$ as 1‑px white curves.
* 1600 × 1600 px PNG, 60‑px pure‑black frame around plot. No axes, no text.
**Deliverable** One PNG.
Judge Scores
Mathematical Accuracy
81/100
Color Implementation
65/100
Geometric Completeness
78/100
Reference Elements
74/100
Rendered Output
Test ID: 070_ramanujan_mock_theta
Shaders: shader.wgsl
Problem Prompt
Present a glowing annular "heat-disk" that lets the viewer viscerally experience how Ramanujan's third-order mock-theta function f(q) blossoms near the unit circle and attenuates radially. The final image should resemble a celestial nebula with fiery inner corona fading to dusk blues.
Mathematics:
- Define f(q) = 1 + Σ(n=1 to 50) q^(n²) / [(1+q)²(1+q²)²...(1+q^n)²]
- Complex argument parameterisation: q(t,θ) = e^(-t) * e^(iθ), t ∈ [0,2], θ ∈ [0,2π]
- Pre-compute magnitude |f(q)| on a polar grid 2048 × 2048 (radial samples 1024, angular 1024)
Colour transfer function:
- Use "magma" perceptual palette (Matplotlib implementation) mapped linearly:
- |f| = 1 → palette index 0.15 (deep purple)
- |f| = 2.3 → palette index 0.85 (white-yellow)
- Clamp outside range
- Overlay faint concentric gold rings at t = 0.5, 1.0, 1.5 (guides to show decay)
Display geometry:
- Canvas 2048 × 2048 px, black outside annulus
- Polar origin at centre; outer radius corresponds to t=2.0
- Radial ticks labelled with τ font (optional: small sans-serif)
File: PNG-24
Deliverable: Outputs a single image.
Judge Scores
Mathematical Accuracy
57/100
Color Implementation
59/100
Geometric Completeness
70/100
Reference Elements
48/100
Rendered Output
Test ID: 071_reaction_diffusion_patterns
Shaders: shader.wgsl
Problem Prompt
**Objective**
Simulate the Gray–Scott reaction–diffusion system on a square domain until visually stable patterns emerge; output a single coloured image of the $u$-field.
**Model**
$
\begin{aligned}
\partial_t u &= D_u\nabla^{2}u - uv^{2} + F(1-u),\\
\partial_t v &= D_v\nabla^{2}v + uv^{2} - (F+k)v,
\end{aligned}
$
with parameters $D_u=0.14,\;D_v=0.06,\;F=0.035,\;k=0.065$ (classic "zebra / spot" regime).
**Numerics**
* Grid $512\times512$, spacing $h=1$.
* Time‑step $\Delta t=1.0$, explicit Euler, 20 000 steps.
* Laplacian via 5‑point stencil, periodic boundaries.
* Initial condition: $u\equiv1,\;v\equiv0$ plus a $20\times20$ square in centre where $u=0.5,\;v=0.25$ plus 2 % uniform noise.
**Visualisation**
* Map $u(x,y,T)$ to colour with "turbo" palette (0 → dark blue, 1 → yellow‑white).
* 2048 × 2048 px PNG, no axes, pure white 40‑px margin.
**Deliverable** One PNG adhering to the above.
Judge Scores
Mathematical Accuracy
12/100
Color Implementation
6/100
Geometric Completeness
20/100
Rendered Output
Test ID: 072_regular_dodecahedron
Shaders: shader.wgsl
Problem Prompt
Regular dodecahedron circumscribed sphere radius = 1. Use golden ratio φ=(1+√5)/2.
Material & lighting:
- Bronze (#b57b33) metallic, roughness 0.25
- HDR "studio soft" light, key from (4,4,6)
- Camera (4,-3,2.5), FOV 30°
File: 2600×2000
Deliverable: Outputs a single image.
Judge Scores
Mathematical Accuracy
87/100
Color Implementation
92/100
Geometric Completeness
76/100
Reference Elements
86/100
Rendered Output
Test ID: 073_regular_icosahedron
Shaders: shader.wgsl
Problem Prompt
**Objective**
Create a high-resolution visualization of a regular icosahedron, one of the five Platonic solids. The icosahedron should be rendered with precise geometric accuracy and aesthetic appeal.
**Mathematical Specification**
1. **Geometric Definition**
- A regular icosahedron has 20 equilateral triangular faces, 12 vertices, and 30 edges
- Vertex coordinates (assuming unit circumradius):
* (0, ±1, ±φ)/√(φ²+1) where φ = (1+√5)/2 (golden ratio)
* (±1, ±φ, 0)/√(φ²+1)
* (±φ, 0, ±1)/√(φ²+1)
- All vertices lie on a unit sphere
2. **Face Structure**
- 20 triangular faces, each an equilateral triangle
- Each vertex connects to exactly 5 edges
- Dihedral angle between adjacent faces: arccos(-√5/3) ≈ 138.19°
3. **Rendering Requirements**
- Display as a solid object with visible face boundaries
- Orient with one vertex pointing upward along the +y axis
- Apply rotation: slow continuous rotation around the y-axis (1 revolution per 8 seconds)
4. **Visual Style**
- Face coloring: Use a gradient based on face normal direction
* Hue = atan2(ny, nx) mapped to [0, 360°]
* Saturation = 0.7
* Value = 0.5 + 0.5 * nz (where n is the face normal)
- Edge rendering: Dark grey lines (RGB: 0.2, 0.2, 0.2) with width ≈ 2 pixels
- Vertices: Small spheres at each vertex (radius ≈ 0.02), colored white
5. **Lighting and Shading**
- Use Phong shading with:
* Ambient: 0.3
* Diffuse: 0.6
* Specular: 0.1 (shininess: 32)
- Light source at position (2, 3, 2)
- Background: Gradient from light blue (top) to white (bottom)
6. **Camera and Output**
- Perspective projection with 45° field of view
- Camera positioned at (0, 0, 4) looking at origin
- Output resolution: 1600 × 1600 pixels
- Enable 4× antialiasing
Deliverable: Outputs a single image.
Judge Scores
Mathematical Accuracy
93/100
Color Implementation
96/100
Geometric Completeness
90/100
Reference Elements
90/100
Rendered Output
Test ID: 074_regular_octahedron
Shaders: shader.wgsl
Problem Prompt
Regular octahedron edge = 2. Position one vertex up (0,0,√2).
Rendering:
- Solid slate-gray faces (#666d78), glossy; edge bevel 0.05
- Key light (5,3,6). White BG. 2000×1600
Deliverable: Outputs a single image.
Judge Scores
Mathematical Accuracy
91/100
Color Implementation
95/100
Geometric Completeness
90/100
Reference Elements
89/100
Rendered Output
Test ID: 075_regular_tetrahedron
Shaders: shader.wgsl
Problem Prompt
Regular tetrahedron edge = 2. Vertices: (1,1,1), (-1,-1,1), (-1,1,-1), (1,-1,-1) divided by √3 to keep circumsphere radius 1.
Visuals:
- Matte golden material (#ffcc55) with anisotropic highlights
- Softbox light (-4,4,6)
- Ground plane mirror 30% reflective
- Camera (3,-4,2.5), FOV 35°
File: 2200×1600
Deliverable: Outputs a single image.
Judge Scores
Mathematical Accuracy
12/100
Color Implementation
16/100
Geometric Completeness
9/100
Rendered Output
Test ID: 076_reproduce_image
Shaders: shader.wgsl
Problem Prompt
Reproduce the provided reference image using a shader.
Your shader must analytically or mathematically recreate the scene.
CRITICAL: Do NOT just read the actual image pixels or hardcode pixel arrays. If you do this, you will receive a 0% score. You must re-create the underlying procedural shapes, colors, and patterns.
Deliverable: Outputs a single image that matches the reference image as closely as possible.
Judge Scores
Mathematical Accuracy
47/100
Color Implementation
63/100
Geometric Completeness
67/100
Reference Elements
40/100
Rendered Output
Test ID: 078_reproduce_image_fabrice_villard
Shaders: shader.wgsl
Problem Prompt
Reproduce the provided reference image using a shader.
Your shader must analytically or mathematically recreate the scene.
CRITICAL: Do NOT just read the actual image pixels or hardcode pixel arrays. If you do this, you will receive a 0% score. You must re-create the underlying procedural shapes, colors, and patterns.
Deliverable: Outputs a single image that matches the reference image as closely as possible.
Judge Scores
Mathematical Accuracy
43/100
Color Implementation
64/100
Geometric Completeness
53/100
Reference Elements
42/100
Rendered Output
Test ID: 079_reproduce_image_jason_leung
Shaders: shader.wgsl
Problem Prompt
Reproduce the provided reference image using a shader.
Your shader must analytically or mathematically recreate the scene.
CRITICAL: Do NOT just read the actual image pixels or hardcode pixel arrays. If you do this, you will receive a 0% score. You must re-create the underlying procedural shapes, colors, and patterns.
Deliverable: Outputs a single image that matches the reference image as closely as possible.
Judge Scores
Mathematical Accuracy
19/100
Color Implementation
31/100
Geometric Completeness
29/100
Reference Elements
20/100
Rendered Output
Test ID: 080_reproduce_image_photoholgic
Shaders: shader.wgsl
Problem Prompt
Reproduce the provided reference image using a shader.
Your shader must analytically or mathematically recreate the scene.
CRITICAL: Do NOT just read the actual image pixels or hardcode pixel arrays. If you do this, you will receive a 0% score. You must re-create the underlying procedural shapes, colors, and patterns.
Deliverable: Outputs a single image that matches the reference image as closely as possible.
Judge Scores
Mathematical Accuracy
34/100
Color Implementation
39/100
Geometric Completeness
40/100
Reference Elements
33/100
Rendered Output
Test ID: 081_reproduce_image_rayul
Shaders: shader.wgsl
Problem Prompt
Reproduce the provided reference image using a shader.
Your shader must analytically or mathematically recreate the scene.
CRITICAL: Do NOT just read the actual image pixels or hardcode pixel arrays. If you do this, you will receive a 0% score. You must re-create the underlying procedural shapes, colors, and patterns.
Deliverable: Outputs a single image that matches the reference image as closely as possible.
Judge Scores
Mathematical Accuracy
58/100
Color Implementation
65/100
Geometric Completeness
63/100
Reference Elements
56/100
Rendered Output
Test ID: 083_riemann_surface_branch_cuts
Shaders: shader.wgsl
Problem Prompt
**Objective**
Render the two‑sheet Riemann surface of $w=\sqrt{z}$ above the complex plane, using height = $\Re w$ and colour = $\operatorname{arg}w$.
**Construction**
* Domain: $z=re^{i\phi}$ with $r\in[0,4],\;\phi\in(-\pi,\pi]$.
* Two sheets: choose signs $+\sqrt{r}$ and $-\sqrt{r}$.
* Introduce **branch cut** along negative real axis: join sheets there.
* Triangulate with polar grid 800 × 800, map to $(x,y,\Re w)$.
**Styling**
* Colour via HSV: hue = $\phi/2\pi$ (wrap‑around), sat = 1, val = 1; upper sheet full opacity, lower sheet 70 % opacity.
* Edge outlines 1‑px black; hide underside faces.
* Camera at $(7,0,5)$ looking at origin; 30° FOV, perspective.
* Lighting: ambient 0.2 + white directional (−0.3,−0.4,−1).
* 2200 × 1600 px PNG, white background.
**Deliverable** One PNG.
Judge Scores
Mathematical Accuracy
73/100
Color Implementation
76/100
Geometric Completeness
72/100
Reference Elements
68/100
Rendered Output
Test ID: 085_rose_curves
Shaders: shader.wgsl
Problem Prompt
**Objective** – Plot the polar curve $r = \cos(k\theta)$ for **k = 7** on θ ∈ [0,2π].
**Rendering rules**
* Use 8000 uniformly spaced θ‑samples; connect with Catmull–Rom spline for smoothness.
* Stroke width 6 px, colour #ff55aa, opacity 0.9.
* Place on 1800 × 1800 px white canvas; origin centred; radial scale so outer petal tip touches 90 % of canvas radius.
* Add thin (#444444, 1 px) polar grid: circles at radii 0.25, 0.5, 0.75, 1.0 and radial spokes every 15°.
**Deliverable** – PNG.
Judge Scores
Mathematical Accuracy
75/100
Color Implementation
88/100
Geometric Completeness
87/100
Reference Elements
73/100
Rendered Output
Test ID: 086_rotating_hypercube_projection
Shaders: shader.wgsl
Problem Prompt
**Objective**
Visualize a 4D hypercube (tesseract) through rotation and projection to 2D.
**Construction**
Generate tesseract vertices (±1,±1,±1,±1). Apply 4‑D rotation
$R_{xy}(θ)\,R_{zw}(θ)$ with θ=45°. Orthographic project to 3‑D by dropping w then to 2‑D via perspective camera (3,2,2).
**Styling**
Draw edges 3 px #00aaff, hidden edges 1 px dashed grey. 2400×1800 PNG.
**Deliverable** PNG.
Judge Scores
Mathematical Accuracy
69/100
Color Implementation
50/100
Geometric Completeness
62/100
Reference Elements
54/100
Rendered Output
Test ID: 087_rounded_box
Shaders: shader.wgsl
Problem Prompt
Create a 3D rounded box (dimensions 2x3x1.5) with rounded edges (radius 0.3) centered at origin. Material: matte mint green plastic (RGB 0.3, 0.8, 0.6). Lighting: soft ambient (0.3) plus key light from top-right. Background: light gray gradient. Camera: perspective view at (4, 3, 5) looking at origin.
Outputs a single image.
Judge Scores
Mathematical Accuracy
20/100
Color Implementation
19/100
Geometric Completeness
50/100
Reference Elements
23/100
Rendered Output
Test ID: 088_schwarzschild_black_hole
Shaders: shader.wgsl
Problem Prompt
**Objective**
Produce a physically motivated single‑frame visualisation of a non‑rotating (Schwarzschild) black hole with background starfield distorted by gravitational lensing.
**Physical specification**
1. **Metric** Schwarzschild in geometric units $c=G=1$:
$\displaystyle ds^{2}=-(1-\tfrac{2M}{r})\,dt^{2}+\frac{dr^{2}}{1-\tfrac{2M}{r}}+r^{2}(d\theta^{2}+\sin^{2}\theta\,d\phi^{2}).$
2. **Camera** Static observer at $r=10M,\;\theta=\pi/2$, facing inward ($-\hat r$). Horizontal FOV = 100°.
3. **Background** Uniform starfield: 10 000 point sources randomly distributed over celestial sphere, visual magnitude uniform. Stars are white.
4. **Ray tracing** Integrate null geodesics backwards from camera through the metric until (a) $r≤2M$ (ray captured) or (b) $r≥1000M$ (ray escapes to starfield). Use fourth‑order Runge‑Kutta with adaptive step; absolute error ≤ 10⁻⁶ M.
5. **Photon ring** Rays with impact parameter $b$ within 1 % of the critical value $b_{\mathrm crit}=3\sqrt{3}M$ are coloured bright amber (#ffaa33) to highlight the ring.
**Image construction**
* Resolution = 1920 × 1080 px.
* Captured rays → pure black. Escaping rays → colour of intersected star (white); if no star hit within 0.2° of ray, colour deep navy #000020.
* Apply 0.8‑px Gaussian blur to stars for finite PSF.
* No accretion disc, no text, no lens flare.
**Deliverable**
24‑bit PNG, sRGB.
Judge Scores
Mathematical Accuracy
67/100
Color Implementation
69/100
Geometric Completeness
65/100
Reference Elements
65/100
Rendered Output
Test ID: 089_sierpinski_tetrahedron
Shaders: shader.wgsl
Problem Prompt
Create a crystalline Sierpinski tetrahedron that looks as if it were carved from icy quartz. Recursion depth must be high enough that the viewer sees the self-similar voids repeat at least four scales.
Mathematics:
- Start with a regular tetrahedron of edge length 2, centred at origin, one face parallel to the ground (z = -0.408)
- Recursive rule (depth d): subdivide parent into four child tetrahedra of half edge-length, one at each vertex
- Use depth 4 → total tetrahedra count 1 + 4 + 4² + 4³ + 4⁴ = 341
Mesh assembly:
- Generate explicit triangle mesh for each child; de-duplicate coincident faces to keep only the outer hull
- Assign depth-mapped glass-blue tint:
- depth 0 → #cce6ff, ... depth 4 → #0040ff
- Vertex normals averaged for smooth refraction look
Lighting & camera:
- HDRI sky light (even cloudy mid-tone) plus white key at (6,4,9)
- Camera position (4,4,3), focal length 50 mm, FOV ≈ 39°
- Transparent ground shadow catcher
Output: PNG-32 (RGBA), 2600 × 2000 px
Deliverable: Outputs a single image.
Judge Scores
Mathematical Accuracy
37/100
Color Implementation
29/100
Geometric Completeness
38/100
Reference Elements
31/100
Rendered Output
Test ID: 090_sierpinski_triangle_6_iterations
Shaders: shader.wgsl
Problem Prompt
**Objective**
Generate the Sierpinski triangle fractal through recursive subdivision.
**Construction**
* Start with upright equilateral triangle side = 1.
* Remove central inverted triangle recursively 6 levels.
* Stroke 1 px black; fills white. 2400 × 2080 px PNG.
**Deliverable** – PNG.
Judge Scores
Mathematical Accuracy
94/100
Color Implementation
95/100
Geometric Completeness
92/100
Reference Elements
90/100
Rendered Output
Test ID: 091_spherical_inversion_mapping
Shaders: shader.wgsl
Problem Prompt
**Objective**
Visualize **spherical inversion** transformation applied to a 3D grid structure, showing how space is turned inside-out through a reference sphere.
**Mathematical recipe**
1. Create a 3D grid of thin cylinders (11×11×11 grid, spacing 0.4 units).
2. Apply spherical inversion with center at origin and radius R = 2.0:
- For point p with |p| > 0: p' = (R²/|p|²) · p.
- Points inside sphere move outside, points outside move inside.
3. Render both original grid (semi-transparent) and inverted grid.
4. Add reference inversion sphere (radius 2.0) as wireframe.
5. Color code by distance from origin:
- Original grid: fade from white (center) to blue (edges).
- Inverted grid: fade from red (was center) to yellow (was edges).
**Styling**
* Grid cylinders: radius 0.015, semi-transparent (alpha 0.6).
* Inversion sphere: wireframe only, white color, alpha 0.3.
* Background: deep black with subtle blue gradient.
* Ambient occlusion for depth perception.
* Camera at (5, 4, 3), looking at origin; FOV 40°.
* Add glow effect to inverted grid elements.
* Resolution 2048 × 2048 px, 4× SSAA.
**Deliverable** Single PNG showing the spatial inversion transformation clearly.
Judge Scores
Mathematical Accuracy
4/100
Color Implementation
2/100
Geometric Completeness
3/100
Rendered Output
Test ID: 092_spinning_gear_assembly
Shaders: shader.wgsl
Problem Prompt
**Objective**
Create a mechanical gear assembly with proper kinematic relationships and angular velocity visualization.
**Gears**
* Gear A: 24 teeth, radius 2.
* Gear B: 16 teeth, radius 1.4 (meshes with A).
* Gear C: 12 teeth, radius 1.0 (meshes with B).
Module = 0.26 rad per tooth (involute profiles optional). Place centres along x‑axis with proper centre distances. Initial angular positions so teeth engage.
**Spin animation** not required; instead show instantaneous state with angular velocities vector glyphs: size ∝ ω (ω_A = 1, ω_B = −1.5, ω_C = 1.333).
**Styling**
Orthographic view, top‑down slight tilt 15°, grey metal. 2200×1600 PNG.
**Deliverable** PNG.
Judge Scores
Mathematical Accuracy
83/100
Color Implementation
77/100
Geometric Completeness
84/100
Reference Elements
84/100
Rendered Output
Test ID: 093_spinning_vortex_funnel
Shaders: shader.wgsl
Problem Prompt
**Objective**
Visualize fluid flow in a vortex funnel using scalar fields and streamlines.
**Physics**
Scalar field $ρ(r,z)=\exp[-(r/2)^{2}]\,\exp[-(z/6)^{2}]$. Flow lines tangential velocity $v_θ=4/r$.
Plot 150 streamlines starting radii 0.5–3, z=0 to z=‑6.
**Styling**
Funnel surface semi‑transparent blue. 2400×2000 PNG.
**Deliverable** PNG.
Judge Scores
Mathematical Accuracy
12/100
Color Implementation
8/100
Geometric Completeness
9/100
Reference Elements
12/100
Rendered Output
Test ID: 095_stella_octangula
Shaders: shader.wgsl
Problem Prompt
Superpose two congruent regular tetrahedra so that their vertices lie on a common cube of side 2 centred at origin:
- Tetra A vertices (1,1,1), (-1,-1,1), (-1,1,-1), (1,-1,-1)
- Tetra B vertices (1,1,-1), (-1,-1,-1), (-1,1,1), (1,-1,1)
Combined hull is a regular octahedron's stellation.
Rendering:
- Solid faces, semi-transparent glass (α 0.6) coloured cyan (#00ccee) for Tetra A, magenta (#cc00ee) for Tetra B
- Edge stroke overlay 2 px black
- Camera (4,3,3), FOV 30°, white BG. 2000 × 1600 PNG
Deliverable: Outputs a single image.
Judge Scores
Mathematical Accuracy
95/100
Color Implementation
95/100
Geometric Completeness
93/100
Reference Elements
93/100
Rendered Output
Test ID: 096_superformula_explorer
Shaders: shader.wgsl
Problem Prompt
# Superformula Explorer
Create an interactive WebGL visualization of Gielis' superformula, showing how parameter changes create diverse natural and abstract shapes.
## Requirements:
1. Implement the superformula:
r(θ) = (|cos(m*θ/4)/a|^n2 + |sin(m*θ/4)/b|^n3)^(-1/n1)
2. Display multiple shapes simultaneously showing:
- Star-like forms (varying m)
- Flower-like patterns (specific n values)
- Polygonal shapes
- Asymmetric forms
3. Animate smooth transitions between parameter sets
4. Use HSL color mapping based on:
- Angle (hue)
- Radius (lightness)
- Parameter values (saturation)
5. Add 3D extrusion option for selected shapes
6. Include parameter value display
7. Create organic particle effects around shapes
Judge Scores
Mathematical Accuracy
79/100
Color Implementation
82/100
Geometric Completeness
77/100
Reference Elements
71/100
Rendered Output
Test ID: 098_topology_fabric_texture
Shaders: shader.wgsl
Problem Prompt
**Objective**
Visualize **topological invariants** as **woven fabric textures**, where mathematical properties manifest as thread patterns, weave structures, and material behaviors.
**Mathematical recipe**
1. Base surface: Klein bottle parameterization in 4D
2. Fundamental group π₁ determines weave pattern:
- Generators become primary thread directions
- Relations create over/under crossing rules
3. Homology groups as thread colors:
- H₀: connectivity threads (white)
- H₁: loop threads (spectrum colors by generator)
- H₂: surface threads (metallic gold)
4. Euler characteristic χ affects fabric density: thread count = 100/|χ-2|
5. Orientability determines thread twist:
- Orientable: consistent S-twist
- Non-orientable: alternating S/Z twist creating Möbius bands
**Styling**
* Photorealistic fabric rendering with individual thread fibers visible
* Subsurface scattering for translucent silk-like appearance
* Thread thickness varies with homology dimension (H₀ thin, H₂ thick)
* Iridescent sheen on non-orientable regions
* Fabric draped over invisible Klein bottle form
* Macro photography aesthetic: extreme close-up with shallow depth
* Key light from upper left, fill light from below
* Visible fabric imperfections where topology forces thread stress
* Camera at (2, 1.5, -3), looking at origin; FOV 25° (telephoto)
* Resolution 2400 × 2400 px, with fabric texture details
**Deliverable** Single PNG showing topology as woven fabric structure
Judge Scores
Mathematical Accuracy
7/100
Color Implementation
6/100
Geometric Completeness
6/100
Rendered Output
Test ID: 100_trefoil_alexander_polynomial
Shaders: shader.wgsl
Problem Prompt
Produce a radar-petal polar chart of the trefoil's Alexander polynomial Δ(t) = t² - t + 1, evaluated on the unit circle t = e^(iθ). The magnitude curve should form a symmetric six-petal flower that glows like neon tubing against a midnight background.
Mathematics:
- Evaluate r(θ) = |Δ(e^(iθ))| = √((1-cos θ)² + sin² θ). Closed-form simplifies to 2sin(θ/2).
- Because r(θ+π) = r(θ), six peaks occur at θ = 0, ±2π/3, ±4π/3, π.
Plot specs:
- Domain θ ∈ [0,2π] sampled 12,000 points
- Radial scale: max radius = 1.414 units maps to 90% of 1800 × 1800 canvas
- Curve stroke: hot-pink (#FF0088) 6 px; outer glow (duplicate stroke blurred σ = 3 px, opacity 20%)
- Background nearly-black navy (#040418)
- Polar grid (thin dashed #555555) with five concentric circles and 30° spokes
Deliverable: Outputs a single image.
Judge Scores
Mathematical Accuracy
39/100
Color Implementation
33/100
Geometric Completeness
80/100
Reference Elements
41/100
Rendered Output
Test ID: 101_trigonometric_mandalas
Shaders: shader.wgsl
Problem Prompt
**Objective** – Create a "harmonic mandala" defined by radial modulation
$
r(θ)=1+0.15\sin(6θ)+0.10\sin(12θ)+0.06\sin(18θ),\qquad θ∈[0,2π].
$
**Rendering directives**
* Plot polar curve with 10 000 samples; convert to Cartesian.
* Fill interior with gradient: centre #001133 → edge #55ffee (radial linear gamma 2.2).
* Outline 3‑px #ffffff.
* Add semi‑transparent (α 0.3) duplicate of the curve scaled 0.7×, filled #ff66cc.
* Canvas 1800 × 1800 px black.
**Deliverable** – PNG.
Judge Scores
Mathematical Accuracy
83/100
Color Implementation
87/100
Geometric Completeness
82/100
Reference Elements
78/100
Rendered Output
Test ID: 102_truncated_icosahedron
Shaders: shader.wgsl
Problem Prompt
Create a truncated icosahedron (soccer ball shape) with 12 pentagonal faces (black) and 20 hexagonal faces (white). Edge length 1.0. Material: slightly glossy with subtle leather texture. Lighting: outdoor daylight. Background: grass green gradient. Camera: classic 3/4 view showing multiple face types.
Outputs a single image.
Judge Scores
Mathematical Accuracy
47/100
Color Implementation
42/100
Geometric Completeness
52/100
Reference Elements
50/100
Rendered Output
Test ID: 103_twisted_stellated_polyhedron
Shaders: shader.wgsl
Problem Prompt
**Objective**
Create a stellated dodecahedron with twisted spikes to simulate drill-flute geometry.
**Construction**
Start with dodecahedron (edge 1). Attach spike (pyramid) on each face: height 0.6. Rotate each spike about its face normal by ψ=20° (like drill flutes).
**Styling**
Material chrome. 2500×2000 PNG, BG #e0e0ff.
**Deliverable** PNG.
Judge Scores
Mathematical Accuracy
53/100
Color Implementation
41/100
Geometric Completeness
55/100
Reference Elements
50/100
Rendered Output
Test ID: 104_voronoi_diagram
Shaders: shader.wgsl
Problem Prompt
**Objective**
Produce a planar Voronoi diagram of 30 seeds with distinct coloured cells, adhering to the mathematical and visual rules below.
**Seed generation**
* Domain: closed unit square $[0,1]^{2}$.
* Seeds $\{s_i\}_{i=1}^{30}$ are generated with jittered Poisson‑disk sampling: minimum Euclidean separation ≥ 0.07.
* Use *fixed* RNG seed 2025 to ensure reproducibility.
**Voronoi construction**
* Cell $V_i=\{\mathbf x:‖\mathbf x-s_i‖\le‖\mathbf x-s_j‖\;\forall j\}$.
* Clip cells to the unit square; render edges as straight line segments.
* Optional: compute by Fortune sweep or Delaunay dual—algorithm is not graded, result is.
**Styling**
* Assign each cell a unique colour picked by evenly sampling the *Tableau‑20* palette, cyclically if needed.
* Cells: solid fill; edges: 2‑px black stroke.
* Draw seeds as 6‑px black circles.
* Margin outside square: pure white. No text.
**Output**
1600 × 1600 px PNG, linear RGB, no transparency.
Judge Scores
Mathematical Accuracy
88/100
Color Implementation
91/100
Geometric Completeness
85/100
Reference Elements
87/100
Rendered Output
Test ID: 105_wave_deformation_field
Shaders: shader.wgsl
Problem Prompt
**Objective**
Visualize a **3D wave deformation field** applied to a planar mesh, creating complex interference patterns from multiple wave sources.
**Mathematical recipe**
1. Create high-resolution plane mesh (100×100 vertices, 5×5 units).
2. Place 3 wave sources at: (-1.5, 0), (1.5, 0), (0, 1.5).
3. Wave deformation for each source i:
- Height: h_i(x,y,t) = A_i · sin(k|r-r_i| - ωt + φ_i) / (1 + |r-r_i|)
- A_i = [0.4, 0.3, 0.5], k = 2π, ω = 0, φ_i = [0, π/3, 2π/3].
4. Total deformation: z = Σh_i(x,y,0) (static snapshot).
5. Apply smooth normal recalculation for proper shading.
6. Add edge clamping to prevent boundary artifacts.
**Styling**
* Surface material: Iridescent shader based on view angle and height.
* Color mapping: Deep blue (troughs) through cyan, green, yellow to white (peaks).
* Rim lighting to emphasize wave crests.
* Subtle displacement texture for water-like microdetail.
* Fog effect increasing with distance.
* Camera at (4, -3, 2.5), looking at origin; FOV 35°.
* Dark blue-black gradient background.
* Resolution 2048 × 2048 px, 4× SSAA.
**Deliverable** Single PNG showing the complex wave interference pattern with realistic water-like appearance.
Judge Scores
Mathematical Accuracy
21/100
Color Implementation
23/100
Geometric Completeness
20/100
Reference Elements
18/100
Rendered Output
Test ID: 106_weierstrass_function
Shaders: shader.wgsl
Problem Prompt
Create a wide panoramic "mathematical seismograph" that vividly conveys how the Weierstrass function oscillates at every spatial scale. The viewer should feel the relentless, jagged "crackle" of a curve that is continuous everywhere yet differentiable nowhere.
Exact analytic definition:
W(x) = Σ(n=0 to 50) a^n * cos(b^n * π * x), with a = 1/2, b = 3.
- 51 terms guarantee visual convergence while still showing high-frequency grit.
- 50th term wavelength ≈ π / 3^50 ~ 10^-24 – far below pixel scale, ensuring apparent fractality even at max zoom.
Sampling & anti-alias:
- Domain x ∈ [-2, 2].
- Uniform sample 8,192 points (2^13) – a power of two convenient for FFT post-checks.
- Resample to screen with Catmull-Rom spline so stroke remains smooth between vertices.
Visual styling:
- Canvas 2400 px wide × 1200 px high (2-to-1 cinema aspect).
- Background pure white (#FFFFFF).
- Curve stroke bright mandarin-orange (#FF6600) width = 3 px; round end-caps, round joins (avoid mitre spikes).
- Axes:
- Grey (#909090) horizontal line at y = 0; thin 1 px.
- Tick marks every 0.5 units on x-axis; omit labels (visual cleanliness).
- Subtle drop-shadow under the orange stroke (1 px, 20% opacity, 90° offset) gives depth but must never blur the high-frequency corners.
File & colour space:
- PNG-24, sRGB, gamma 2.2.
- Compression level "fast" is fine – no perceptible artefacts on a pure vector plot.
Deliverable: Outputs a single image.
Judge Scores
Mathematical Accuracy
74/100
Color Implementation
74/100
Geometric Completeness
64/100
Reference Elements
64/100
Rendered Output