SVG Graphics Geometry
Guide
css-matrix
Guide
css-matrix
  • Part 0. SVG 기초

    • SVG란 무엇인가
    • viewBox와 user space
    • transform attribute와 matrix
    • SVG 문서 구조와 기본 도형
  • Part 1. Path grammar

    • path d 명령어 — M, L, Z
    • H, V — 축 정렬 직선
    • C — cubic Bézier
    • Q — quadratic Bézier
    • S, T — smooth continuation
    • A — elliptical arc
    • path bounding box
  • Part 2. Stroke geometry

    • 점에서 stroke까지의 거리
    • join, cap, miter limit
    • stroke align과 outline 개념
    • miter length 공식
  • Part 3. Fill rules

    • nonzero vs evenodd
    • fill hit testing
  • Part 4. Path sampling

    • flatten tolerance
    • path length
    • point at length와 tangent
  • Part 5. Paint servers

    • linearGradient 좌표
    • clipPath와 mask 개념
  • Part 6. Path editor capstone

    • path handle 모델
    • handle hit testing
    • handle drag로 segment 갱신
    • mini path editor — SVG round-trip
  • Part 7. Fill & winding deep dive

    • winding vs ray casting
    • compound path — 여러 subpath
    • self-intersection
    • path boolean
    • fill vs stroke hit 우선순위
    • scanline parity
  • Part 8. Pattern & gradient

    • radialGradient
    • pattern tile
    • gradientUnits와 spreadMethod
  • Part 9. SVG filter & Figma effects

    • Figma DROP_SHADOW → SVG filter
    • filter chain 개요
    • blur · offset · merge
    • inner shadow
    • layer blur vs background blur
    • Figma effect 매핑표 전체
  • Part 10. Figma ↔ SVG bridge

    • vector network vs path d
    • fill · stroke export
    • boolean operations export
    • mask · clip export
  • Part 11. Icon design

    • pixel grid · optical alignment
    • fill vs stroke icons
    • symbol · sprite · currentColor
    • path simplification
  • Appendix A. SVG in CSS

    • currentColor · CSS theming
    • sprite data URI
    • SVG optimization pipeline
  • Appendix B. Engine extras

    • dash offset animation
    • adaptive flatten
    • arc → cubic 변환
    • multi-subpath editing
  • Part 12. Foundations primer

    • capability map
    • coordinate stack
  • Part 13. Figma ↔ SVG (deep)

    • Figma paint gap map
    • radial · angular gradient export
    • image · pattern fill
    • stroke align export
    • blend mode · layer opacity
  • Part 14. SVG spec breadth

    • markers — 화살표와 dash 끝
    • text · textPath
    • paint-order · opacity · filters
    • arc flatten 통합
  • Part 15. Curve calculus

    • de Casteljau subdivision
    • flatness와 chord error
    • 곡률 κ와 법선
    • arc center parameterization
    • G¹ smooth — S와 T
    • shoelace signed area
  • Part 16. Intersection & proximity

    • segment intersection
    • line ∩ cubic · curve ∩ curve
    • closest point on curve
  • Part 17. Offset curves

    • normal offset sampling
    • offset cusps
  • Part 18. Transform algebra

    • affine inverse & decompose
    • transform path vs group
  • Part 19. Rational curves

    • circle as cubic — κ constant
    • rational curves & exact arcs
  • Part 20. Tessellation & pixels

    • convex triangulation · ear clipping
    • evenodd parity → pixels
  • Part 21. Compositing math

    • Gaussian blur kernel
    • Porter–Duff & premultiplied α
  • Part 22. Math topic map

    • SVG 수학 주제 지도
  • Part 23. SVG animation

    • SMIL — animate 속성
    • SMIL — animateTransform
    • SMIL — animateMotion
    • stroke dash draw-on
    • CSS offset-path motion
    • path morph
    • JS motion along path
  • Part 24. Motion precision

    • uniform speed along path
    • cubic–cubic intersection
    • SVGPathElement length API
    • SMIL keyTimes & keySplines
    • degree elevation Q→C
  • Part 25. GPU mesh & WAAPI

    • triangulation with holes
    • WAAPI + SVG attributes
    • evenodd fill + triangle mesh

SVG 수학 주제 지도

Parts 15–22(강의 068–087)는 path grammar(Part 1–6) 다음 단계의 순수 기하·픽셀 수학입니다. 이 강의는 그 목차를 한곳에 모은 인덱스이고, 데모는 SVG_MATH_TOPIC_MAP 전체를 출력합니다.

Part별 로드맵

Part강의다루는 질문
15 Curve calculus068–073곡선을 어떻게 쪼개고, 얼마나 휘며, 면적은?
16 Intersection074–076선·곡선이 어디서 만나고, 가장 가까운 점은?
17 Offset077–078parallel curve, cusp, stroke 안쪽
18 Transform079–080역행렬, bake vs group
19 Rational081–082원·arc의 정확 표현
20 Tessellation083–084삼각형 mesh, evenodd 픽셀
21 Compositing085–086blur kernel, Porter–Duff
22 Map087(여기) 전체 색인

주제 → 강의 (core와 동기화)

svg-matrix-core의 SVG_MATH_TOPIC_MAP과 동일합니다.

lessontopicPart
068de Casteljau subdivision15
069flatness / chord error15
070curvature κ & normal15
071arc center parameters15
072G¹ smooth S/T15
073shoelace area15
074segment intersection16
075line ∩ cubic16
076closest point on curve16
077offset normals17
078offset cusps17
079affine inverse / decompose18
080transform path vs group18
081circle cubic κ19
082rational / exact arcs19
083convex triangulation20
084evenodd parity pixels20
085Gaussian blur kernel21
086Porter–Duff alpha21
087math topic map22
import { SVG_MATH_TOPIC_MAP } from "svg-matrix-core";

SVG_MATH_TOPIC_MAP.forEach(({ lesson, topic, part }) => {
  console.log(lesson, topic, part);
});

“막혔을 때” 빠른 길찾기

화면에 그리기/근사가 느리다        → 068–069, 052(adaptive flatten)
곡선이 튀어 보인다 / 법선 틀림     → 070, 018 vs cubicNormalAt
arc 편집·export                   → 071, 053, 082
핸들이 매끈하지 않다               → 072
면적·무게중심                     → 073
스냅·교차점                       → 074–076, 096
stroke 안쪽 / offset               → 077–078, 006
클릭이 어긋난다                    → 056, 079–080 (좌표계)
원이 각져 보인다                   → 081–082
GPU로 fill                        → 083–084, 100–102
그림자·blur 수식                  → 085, 031–039
합성·투명도                       → 086

시리즈 분담 (svg / css / webgl)

계열담당 예
svg-matrix (여기)d, winding, hit, filter markup, Figma bridge
css-matrixtransform on HTML, gradient spread, timing / easing, motion path CSS
webgl-matrixmesh, shader, NURBS, GPU path raster

094 JS motion은 svg sampling, 재생 타이밍은 css-matrix가 깊습니다.

데모에서 볼 것

  • monospace 표 20행 — lesson ID · topic · Part
  • readout: 20 math topics — Parts 15–22 (lessons 068–087)
  • 특정 주제를 찾았으면 사이드바에서 lesson-0XX로 이동

Core API

  • SVG_MATH_TOPIC_MAP — geometry.js
  • 플러그인·문서 생성기에서 “커리큘럼 검색” 인덱스로 재사용 가능

관련

  • 055 SVG 한 장 지도 — 전체 102강(Parts 0–25)
  • ROADMAP — 버전별 완료 표

오늘의 핵심

068–087은 편집기 엔진 레퍼런스입니다. path 문법(003–024)을 본 뒤, 막히는 질문 유형으로 이 표에서 lesson 번호만 찾으면 됩니다. 다음 심화 권장: 079–080 (방금 다룬 transform).

최근 수정: 26. 5. 17. PM 4:35
Contributors: jinho.park.s3, Cursor