🎓 SSU Graphics 시험 대비: Numerical Hard Mode
이 페이지는 단순 개념 이해를 넘어, **직접 손으로 계산해야 하는 정량적 문제(Numerical Problems)**들을 정복하기 위해 설계되었습니다. 숭실대 컴퓨터 그래픽스 시험의 핵심인 알고리즘 추적과 행렬 연산을 완벽히 마스터하세요.
구성: 한 페이지에 중간·기말 대비를 모두 담았습니다.
- Part A — 중간고사 범위 복습 (1~7주차: Bresenham·변환·뷰잉·은면제거)
- Part B — 기말고사 집중 (10~13주차: 래스터화·곡선·셰이딩·텍스처)
⚠️ 레이트레이싱(14장)은 기말 시험범위에서 제외입니다 — 개념만 참고.
🅰️ Part A — 중간고사 범위 복습
1~7주차 핵심 수치 문제. 기말에서도 변환·뷰잉·래스터화의 토대가 되니 한 번 더 점검하세요.
🔢 A-1. 알고리즘 수치 추적 (Bresenham & DDA)
알고리즘의 매 단계(Step)마다 변하는 판별식과 좌표값을 정확히 계산할 수 있어야 합니다.
📝 Workshop: Bresenham Line Tracing
문제: 점 에서 까지 Bresenham 알고리즘으로 선을 그립니다.
- 초기 판별식
Bresenham Step-by-Step
초기 단계 p1 = 1일 때, 다음에 선택될 픽셀 좌표 (x2, y2)는?
📝 Workshop: Bresenham Circle Tracing
문제: 반지름 인 원을 Bresenham 원 알고리즘으로 그립니다. 시작점은 .
- 초기 판별식:
업데이트 규칙:
- : 다음 점 ,
- : 다음 점 ,
Bresenham Circle Step-by-Step
p1 = -7 (음수)일 때 다음 픽셀 좌표 (x2, y2)는? (형식: (x, y))
📐 A-2. 복합 변환 행렬 조립 (Matrix Composition)
행렬 곱셈의 순서와 각 성분의 의미를 묻는 문제입니다. 행렬은 오른쪽에서 왼쪽 방향으로 곱해짐을 잊지 마세요.
📝 Workshop: 2D Composite Transformation
문제: 점 에 대해 다음 변환을 순서대로 수행하는 합성 행렬 을 구하세요.
- 원점 기준 축 방향으로 2배 확대 ()
- 반시계 방향으로 회전 ()
- 축으로 5, 축으로 5만큼 이동 ()
Matrix Composition Challenge
합성 행렬 M을 구하기 위한 올바른 곱셈 순서는?
📝 Workshop: 피봇 점 기준 회전 (Pivot Rotation)
문제: 점 를 피봇 기준으로 반시계 회전시킵니다.
핵심 샌드위치:
Pivot Rotation Challenge
피봇 기준 회전의 올바른 합성 순서는?
🖼️ A-3. 윈도우-뷰포트 매핑 (Window-Viewport Mapping)
월드 공간의 좌표를 화면 픽셀 좌표로 변환하는 비례식을 계산합니다.
Mapping & Clipping Numerical
Window: (0,0)~(10,10), Viewport: (100,100)~(300,300) 일 때, x축 방향의 배율 Sx는?
🎥 A-4. 3D 뷰잉 및 투영 (Viewing & Projection)
카메라 좌표계(UVN) 구축과 원근 투영 닮음비 계산 문제입니다.
The Grand Pipeline — Model → Screen
6주차Model Space
오브젝트 자체의 로컬 좌표계 (원점 기준).
World Space
Model Matrix M 을 곱해 전역 공간에 배치.
View Space
View Matrix V 로 카메라 기준으로 재정렬.
NDC Space
Projection 적용 + 원근 분할 → [-1, 1] 정규화.
Screen Space
최종 픽셀 좌표로 변환하여 화면에 출력.
3D Viewing & Projection Master
Eye=(0,0,5), At=(0,0,0) 일 때, 카메라 좌표계의 n 벡터(Z축)는 (0, 0, ?) 입니다. ?는?
📝 Workshop: UVN 카메라 기저 전체 계산
문제: , , 일 때 카메라의 직교 기저 을 구하세요.
UVN Basis Construction
1단계: n = (Eye - At) 정규화. 결과 n = (0, 0, ?). ?는?
👻 A-5. 은면 제거 및 가시성 (Visibility)
Z-Buffer 알고리즘의 수치 업데이트를 다룹니다.
Z-Buffer & Visibility Quiz
Z-Buffer의 초기값이 1.0이고, 현재 픽셀의 깊이가 0.7입니다. 새로운 물체의 깊이가 0.4라면 화면의 색상은 갱신되나요? (Yes/No)
📝 Workshop: Z-Buffer 다중 업데이트 추적 (수업 컨벤션)
시나리오: 하나의 픽셀 에 세 개의 폴리곤 조각이 겹쳐 렌더링됩니다. 수업 컨벤션: 큰 z = 앞쪽. Z-Buffer 초기값 , 갱신 규칙은 z > Depth 일 때.
렌더링 순서(입력 순): ① 깊이 -5, 색상 A → ② 깊이 -1, 색상 B → ③ 깊이 -3, 색상 C.
Z-Buffer Multi-Step Update
① 적용 후 Z-Buffer 값은? (수업 컨벤션: z > Depth 이면 갱신)
🧱 A-6. 개념 총정리: 분류·정의 (시스템 & 알고리즘)
시험에서 "이것은 오브젝트 공간 알고리즘인가 이미지 공간 알고리즘인가?", "이 투영의 시야 부피는?" 처럼 분류 를 묻는 문제가 자주 나옵니다.
Taxonomy Rapid-Fire
다음 중 '이미지 공간(Image Space) 은면 제거 알고리즘'이 아닌 것은?
💡 중간고사 필승 전략 (Part A)
- Bresenham 판별식 유도: 식을 의 부호에 따라 유도하는 과정을 종이에 3번 써보세요.
- 행렬 순서: 순서로 오른쪽에서 왼쪽으로 행렬이 합성됨을 명심하세요.
- 단위 주의: 각도(Degree vs Radian), 비트(Bit vs Byte) 단위를 꼼꼼히 확인하세요.
🅱️ Part B — 기말고사 집중 (10~13장)
중간 이후 범위. 래스터화 · 파라메트릭 곡선 · 조명/셰이딩 · 텍스처 매핑 의 정량 문제와 핵심 분류를 집중 훈련합니다. ⚠️ 레이트레이싱(14장)은 시험범위 제외 — 아래에 포함하지 않았습니다.
🔺 B-1. 래스터화 — Edge Function & Barycentric
edge function 부호로 내부 판정, 부분삼각형 넓이로 무게중심좌표를 구하는 흐름을 손으로 따라가세요.
Edge Function & Barycentric Coordinates
drag삼각형의 세 꼭지점(V0, V1, V2)과 점 P 를 드래그하세요. 세 edge function 부호가 모두 같으면 P 는 삼각형 내부이고, 세 부분삼각형 넓이의 비가 곧 무게중심좌표 (λ0, λ1, λ2) 입니다.
λ1 = 0.32
λ2 = 0.36
Σ = 1.00
Rasterization Numerical
edge function E(a,b,c) = (c.x−a.x)(b.y−a.y) − (c.y−a.y)(b.x−a.x). a=(0,0), b=(4,0), c=(1,2)일 때 E의 값은?
〰️ B-2. 파라메트릭 곡선 — 평가와 연속성
Parametric Curves Numerical
공통 틀 P(u)=U·M·G 에서 곡선 '종류'를 결정하는 행렬 기호는? (영문 한 글자)
💡 B-3. 조명과 셰이딩 — Phong 계산
Phong Illumination — 실시간 셰이딩 구체
live구체의 각 픽셀에 Phong 모델 I = Kd·Lc(N·L) + Ks·Lc(V·R)n + Ka·La 를 직접 계산합니다. 광원 각도와 shininess, 각 계수를 바꿔 하이라이트가 어떻게 변하는지 보세요.
shininess ↑ → 하이라이트가 작고 날카로워짐. Ks=0 으로 두면 무광(Lambertian), Ka 만 남기면 빛을 등진 면도 검지 않게 됩니다.
Illumination & Shading Numerical
난반사 Id = Kd·Lc·(N·L). N=(0,0,1), L=(0,0,1) 단위벡터, Kd=0.8, Lc=1.0 일 때 Id는?
🧶 B-4. 텍스처 매핑 — UV·필터링·맵 종류
Texture Mapping Numerical
1280×960 이미지에서 UV (0.5, 0.25)에 대응하는 픽셀 좌표 (px, py)의 px는?
💡 기말고사 필승 전략 (Part B)
- edge function ↔ barycentric ↔ 텍스처/노멀 보간 이 한 줄기임을 기억: 래스터화(10장)의 도구가 텍스처(13장)·셰이딩(12장)까지 관통합니다.
- 원근 보정 보간: 속성을 z로 나눠 보간 후 Z를 곱한다 — "그냥 보간은 틀린다"가 단골 함정.
- Phong 식 3항 을 통째로 외우고, shininess n의 효과(좁고 날카로운 하이라이트)를 말로 설명할 수 있게.
- 셰이딩 3종 표 (Flat=폴리곤 / Gouraud=정점·색보간 / Phong=픽셀·노멀보간)와 각 단점.
- 곡선 위계 Hermite/Bezier ⊂ B-spline ⊂ NURBS, 그리고 보간 vs 근사 / 지역 vs 전역 제어.
- ⚠️ 레이트레이싱은 보지 않아도 됩니다 — 남는 시간을 위 5개에 쓰세요.
모든 수치 문제를 막힘없이 풀었다면, 당신은 이미 **A+**입니다! 🚀