트루셰 타일

Truchet tiles

두 방향 중 하나로 무작위로 놓인 정사각형 타일들이 이어붙으며 만드는 미로·물결무늬. 프랑스 수도사 Sébastien Truchet가 1704년 처음 연구했습니다.

다른 이름: Truchet pattern
···
js
const c = document.createElement('canvas');
document.body.appendChild(c);
c.style.width = '100%'; c.style.height = '100%';
const ctx = c.getContext('2d');
const cs = getComputedStyle(document.documentElement);
const ACCENT = cs.getPropertyValue('--accent').trim() || '#5b5bf7';
let w, h, cols, rows, grid, SIZE = 30;
function resize() {
  const dpr = Math.min(devicePixelRatio || 1, 2);
  w = innerWidth; h = innerHeight;
  c.width = w * dpr; c.height = h * dpr;
  ctx.setTransform(dpr, 0, 0, dpr, 0, 0);
  cols = Math.ceil(w / SIZE) + 1; rows = Math.ceil(h / SIZE) + 1;
  grid = Array.from({ length: cols * rows }, () => Math.random() < 0.5);
}
addEventListener('resize', resize);
resize();

function drawTile(x, y, flipped) {
  ctx.beginPath();
  if (!flipped) { ctx.arc(x, y, SIZE / 2, 0, Math.PI / 2); ctx.moveTo(x + SIZE, y + SIZE); ctx.arc(x + SIZE, y + SIZE, SIZE / 2, Math.PI, 1.5 * Math.PI); }
  else { ctx.arc(x + SIZE, y, SIZE / 2, 0.5 * Math.PI, Math.PI); ctx.moveTo(x, y + SIZE); ctx.arc(x, y + SIZE, SIZE / 2, 1.5 * Math.PI, 2 * Math.PI); }
  ctx.stroke();
}
function draw() {
  ctx.fillStyle = '#0d0d12'; ctx.fillRect(0, 0, w, h);
  ctx.strokeStyle = ACCENT; ctx.lineWidth = 2.2; ctx.globalAlpha = 0.85;
  for (let r = 0; r < rows; r++) for (let cIdx = 0; cIdx < cols; cIdx++) drawTile(cIdx * SIZE, r * SIZE, grid[r * cols + cIdx]);
  ctx.globalAlpha = 1;
}
draw();
setInterval(() => {
  for (let i = 0; i < 4; i++) { const idx = Math.floor(Math.random() * grid.length); grid[idx] = !grid[idx]; }
  draw();
}, 220);

타일 하나는 정사각형 안에 사분원 호 두 개가 그어진 모양입니다. 이 타일을 90도 돌리면 호의 방향이 반대로 바뀌는데, 격자의 각 칸마다 원본과 회전본 중 하나를 동전 던지듯 무작위로 고르고 빈틈없이 붙이면, 개별 타일은 단순한데도 전체적으로는 미로나 소용돌이처럼 보이는 연속된 곡선 패턴이 나타납니다. 이웃한 타일의 호가 이어지도록 규칙을 짜면 "끊기지 않는 물결" 무늬가, 완전 무작위로 두면 더 어지러운 미로 느낌이 됩니다.

원래는 인쇄공이 장식용 활자 타일을 조합해 반복 무늬를 만들던 기법에서 출발했습니다. 타일 하나의 모양은 반원, 직선 대각선, 사분원 등으로 자유롭게 바꿀 수 있고, 그때마다 전혀 다른 질감이 나옵니다.

이 데모는 타일을 몇 개씩 골라 시간이 지나면서 천천히 뒤집어, 정적인 패턴이 아니라 서서히 변해가는 텍스처로 보여줍니다. 배경 패턴, 웹사이트 로딩 화면, 타일형 아이콘 세트에 두루 쓰입니다.

언제 쓰나

반복되지만 지루하지 않은 배경 패턴이 필요할 때. 타일 크기를 줄이면 더 촘촘한 미로처럼, 키우면 더 큼직한 물결처럼 보입니다.