아이소메트릭 큐브 패턴

Isometric cubes

평평한 마름모 세 개를 삼색으로 칠하기만 했는데 입체 정육면체로 보이는 착시 타일링.

다른 이름: 텀블링 블록Tumbling blocks3D 큐브 패턴
···
html
<div class="wrap"><svg viewBox="0 0 277 240" preserveAspectRatio="xMidYMid slice" width="100%" height="100%">
  <defs>
    <g id="cube">
      <polygon class="top" points="0,0 34.64,20 0,40 -34.64,20"/>
      <polygon class="left" points="0,0 -34.64,20 -34.64,-20 0,-40"/>
      <polygon class="right" points="0,0 0,-40 34.64,-20 34.64,20"/>
    </g>
    <pattern id="iso" width="69.28" height="120" patternUnits="userSpaceOnUse">
      <use href="#cube" transform="translate(-69.28,-120)"/>
      <use href="#cube" transform="translate(-69.28,0)"/>
      <use href="#cube" transform="translate(-69.28,120)"/>
      <use href="#cube" transform="translate(0,-120)"/>
      <use href="#cube" transform="translate(0,0)"/>
      <use href="#cube" transform="translate(0,120)"/>
      <use href="#cube" transform="translate(69.28,-120)"/>
      <use href="#cube" transform="translate(69.28,0)"/>
      <use href="#cube" transform="translate(69.28,120)"/>
      <use href="#cube" transform="translate(-34.64,-60)"/>
      <use href="#cube" transform="translate(-34.64,60)"/>
      <use href="#cube" transform="translate(-34.64,180)"/>
      <use href="#cube" transform="translate(34.64,-60)"/>
      <use href="#cube" transform="translate(34.64,60)"/>
      <use href="#cube" transform="translate(34.64,180)"/>
      <use href="#cube" transform="translate(103.92,-60)"/>
      <use href="#cube" transform="translate(103.92,60)"/>
      <use href="#cube" transform="translate(103.92,180)"/>
      <animateTransform attributeName="patternTransform" type="translate" from="0 0" to="-69.28 -120" dur="11s" repeatCount="indefinite"/>
    </pattern>
  </defs>
  <rect width="100%" height="100%" fill="url(#iso)"/>
</svg></div><span class="tag">isometric cubes</span>
css
.wrap{position:absolute;inset:0;overflow:hidden;background:#3a3a46}
.top{fill:#9d9db6}
.left{fill:#57576a}
.right{fill:#3a3a46}
.tag{position:absolute;left:10px;bottom:8px;padding:3px 9px;border-radius:999px;background:rgba(255,255,255,.85);
  color:#1a1a22;font:600 10px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.03em}

등각(아이소메트릭) 투영법 자체는 1822년 영국의 윌리엄 패리시가 소실점 없이 세 축을 똑같이 축소해 그리는 제도법으로 정식화했습니다. 지금 흔히 보는 "떨어지는 큐브" 착시 타일 자체는 그보다 앞서 19세기 미국 퀼트의 "텀블링 블록(tumbling blocks)" 패턴에서 이미 쓰이고 있었고, 20세기 빅토르 바자렐리 등 옵아트 작가들이 회화로 재조명했습니다. 웹 디자인에서는 2016~2020년 무렵 SaaS 랜딩 페이지의 아이소메트릭 일러스트 유행과 함께 배경 패턴으로도 널리 퍼졌습니다.

착시의 핵심은 순전히 명도 배치에 있습니다 — 같은 크기의 마름모 세 장을 120도씩 돌려가며 배치하되, 밝음·중간·어두움 세 톤으로 칠하면 뇌가 이를 "빛을 받는 윗면·옆면·그늘면을 가진 정육면체"로 해석합니다. 어느 면을 가장 밝게 칠하느냐에 따라 같은 격자가 "튀어나온 큐브"로도, "파인 구덩이"로도 보이는 양의적(bistable) 착시가 특징입니다.

SVG 로는 정육각형 하나를 중심점에서 세 마름모로 쪼갠 뒤(각 마름모는 중심과 육각형 변 두 개를 잇는 60/120도 마름모), 그 세 조각에 밝음·중간·어두움을 칠하고 벌집 격자로 반복합니다. 육각형 폭:행간 높이 비율이 √3:1.5 이어야 이웃 육각형이 빈틈없이 맞물립니다.

언제 쓰나

SaaS 히어로 배경, 옵아트 무드 그래픽, 게임/앱 아이콘 그리드에 씁니다. 명도 대비가 약하면 그냥 평평한 격자로 보이니 세 톤의 차이를 뚜렷이 두세요.