evenodd parity → pixels
014 fill hit과 scanline은 같은 evenodd 규칙 — edge를 지날 때마다 parity flip.
데모에서 볼 것
- 사각 polygon (200,120)–(440,300)
- 테스트 점 (320, 210) — 중심
- 초록 = inside, 빨강 = outside (
evenoddParityFromRayCast) - readout:
inside center lobe+ scanline 설명
import { evenoddParityFromRayCast } from "svg-matrix-core";
evenoddParityFromRayCast({ x: 320, y: 210 }, polygon);
// true | false
scanline (개념)
import { classifyPointInPath } from "svg-matrix-core";
for (let x = 0; x <= width; x += step) {
const c = classifyPointInPath({ x, y }, segments, "evenodd");
if (c.inside) spans.push(x);
}
030 scanline 데모 · bow-tie는 025, 027.
GPU vs CPU
| CPU | GPU | |
|---|---|---|
| preview | parity / scanline | — |
| realtime | — | triangulation (083, 100) |
Core API
| 함수 | 역할 |
|---|---|
evenoddParityFromRayCast | 점 ∈ polygon (evenodd) |
classifyPointInPath | segment graph + rule |
관련
오늘의 핵심
fill-rule = 기하 API와 픽셀 래스터가 공유하는 규칙 — self-intersect는 evenodd가 직관적입니다.