Image Grid Distortion

Interactive tile-aperture matrix distortion that warps internal photographic textures under cursor motion.

Interactive Playground

Move cursor over canvas to interact

Sample Artwork

Custom URL

Grid Divisions11×11
Grid Divisions11×11
Repulsion Radius120px
Repulsion Radius120px
Distortion Strength0.3
Distortion Strength0.3
Spring Relaxation0.04
Spring Relaxation0.04

Cursor Physics

Anatomy

import { ImageGridDistortion } from "@shavin/fx";

<div className="relative w-full h-80 rounded-[var(--radius-panel)] overflow-hidden">
  <ImageGridDistortion
    src="/assets/hq_marshall.jpg"
    grid={11}
    mouseRadius={120}
    strength={0.3}
    relaxation={0.04}
    className="w-full h-full"
  />
</div>

Examples

Standard Aperture Tile Distortion

Subdivides artwork into an 11×11 tile matrix with spring-damped internal displacement.

Subdivides artwork into an 11×11 tile matrix with spring-damped internal displacement.
<div className="relative w-full h-72 rounded-[var(--radius-panel)] overflow-hidden border border-hairline">
  <ImageGridDistortion
    src="/assets/hq_marshall.jpg"
    grid={11}
    mouseRadius={120}
    strength={0.3}
    relaxation={0.04}
    className="w-full h-full"
  />
</div>

High Density Micro-Tile Matrix

Fine 18×18 tile aperture grid creating detailed mosaic wave distortions.

Fine 18×18 tile aperture grid creating detailed mosaic wave distortions.
<div className="relative w-full h-72 rounded-[var(--radius-panel)] overflow-hidden border border-hairline">
  <ImageGridDistortion
    src="/assets/studio.jpg"
    grid={18}
    mouseRadius={220}
    strength={0.8}
    relaxation={0.12}
    className="w-full h-full"
  />
</div>

Props Reference

PropTypeDefaultDescription
srcstring | ThemedValue<string>"/assets/hq_marshall.jpg"Image source path or { light, dark } themed object.
gridnumber11Number of grid divisions across the shorter dimension.
cellSizenumberundefinedPixel cell size (alternative to grid prop).
mouseRadiusnumber120Cursor interaction influence radius in pixels.
strengthnumber0.3Displacement push force multiplier.
relaxationnumber0.04Spring physics relaxation factor.
waveSpeednumber0.0Ambient wave speed (set > 0 for autonomous animation).
waveAmplitudenumber0.0Ambient wave displacement height.
interactivebooleantrueEnables pointer repulsion interaction.
Configure Theme
Theme
Accent Color
Custom
Gray Family
Appearance
Radius
Scaling
Panel Style
Heading Font
Body Font