🎓 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 알고리즘으로 선을 그립니다.

  • 초기 판별식
Quiz

Bresenham Step-by-Step

Q 1 / 4

초기 단계 p1 = 1일 때, 다음에 선택될 픽셀 좌표 (x2, y2)는?

📝 Workshop: Bresenham Circle Tracing

문제: 반지름 인 원을 Bresenham 원 알고리즘으로 그립니다. 시작점은 .

  • 초기 판별식:

업데이트 규칙:

  • : 다음 점 ,
  • : 다음 점 ,
Quiz

Bresenham Circle Step-by-Step

Q 1 / 5

p1 = -7 (음수)일 때 다음 픽셀 좌표 (x2, y2)는? (형식: (x, y))


📐 A-2. 복합 변환 행렬 조립 (Matrix Composition)

행렬 곱셈의 순서와 각 성분의 의미를 묻는 문제입니다. 행렬은 오른쪽에서 왼쪽 방향으로 곱해짐을 잊지 마세요.

📝 Workshop: 2D Composite Transformation

문제: 점 에 대해 다음 변환을 순서대로 수행하는 합성 행렬 을 구하세요.

  1. 원점 기준 축 방향으로 2배 확대 ()
  2. 반시계 방향으로 회전 ()
  3. 축으로 5, 축으로 5만큼 이동 ()
Quiz

Matrix Composition Challenge

Q 1 / 3

합성 행렬 M을 구하기 위한 올바른 곱셈 순서는?

📝 Workshop: 피봇 점 기준 회전 (Pivot Rotation)

문제: 점 피봇 기준으로 반시계 회전시킵니다.

핵심 샌드위치:

Quiz

Pivot Rotation Challenge

Q 1 / 4

피봇 기준 회전의 올바른 합성 순서는?


🖼️ A-3. 윈도우-뷰포트 매핑 (Window-Viewport Mapping)

월드 공간의 좌표를 화면 픽셀 좌표로 변환하는 비례식을 계산합니다.

Quiz

Mapping & Clipping Numerical

Q 1 / 3

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

오브젝트 자체의 로컬 좌표계 (원점 기준).

Formula
실시간 좌표
(0.50, 0.50, 0.50)

World Space

Model Matrix M 을 곱해 전역 공간에 배치.

Formula
실시간 좌표
(0.68, 0.50, 0.20)

View Space

View Matrix V 로 카메라 기준으로 재정렬.

Formula
실시간 좌표
(0.68, 0.45, 0.29)

NDC Space

Projection 적용 + 원근 분할 → [-1, 1] 정규화.

Formula
실시간 좌표
(3.72, 3.71, 0.29)

Screen Space

최종 픽셀 좌표로 변환하여 화면에 출력.

Formula
실시간 좌표
1889px, -814px
29°
0.0
5.0
Quiz

3D Viewing & Projection Master

Q 1 / 3

Eye=(0,0,5), At=(0,0,0) 일 때, 카메라 좌표계의 n 벡터(Z축)는 (0, 0, ?) 입니다. ?는?

📝 Workshop: UVN 카메라 기저 전체 계산

문제: , , 일 때 카메라의 직교 기저 을 구하세요.

Quiz

UVN Basis Construction

Q 1 / 4

1단계: n = (Eye - At) 정규화. 결과 n = (0, 0, ?). ?는?


👻 A-5. 은면 제거 및 가시성 (Visibility)

Z-Buffer 알고리즘의 수치 업데이트를 다룹니다.

Quiz

Z-Buffer & Visibility Quiz

Q 1 / 2

Z-Buffer의 초기값이 1.0이고, 현재 픽셀의 깊이가 0.7입니다. 새로운 물체의 깊이가 0.4라면 화면의 색상은 갱신되나요? (Yes/No)

📝 Workshop: Z-Buffer 다중 업데이트 추적 (수업 컨벤션)

시나리오: 하나의 픽셀 에 세 개의 폴리곤 조각이 겹쳐 렌더링됩니다. 수업 컨벤션: 큰 z = 앞쪽. Z-Buffer 초기값 , 갱신 규칙은 z > Depth 일 때.

렌더링 순서(입력 순): 깊이 -5, 색상 A 깊이 -1, 색상 B 깊이 -3, 색상 C.

Quiz

Z-Buffer Multi-Step Update

Q 1 / 4

① 적용 후 Z-Buffer 값은? (수업 컨벤션: z > Depth 이면 갱신)


🧱 A-6. 개념 총정리: 분류·정의 (시스템 & 알고리즘)

시험에서 "이것은 오브젝트 공간 알고리즘인가 이미지 공간 알고리즘인가?", "이 투영의 시야 부피는?" 처럼 분류 를 묻는 문제가 자주 나옵니다.

Quiz

Taxonomy Rapid-Fire

Q 1 / 6

다음 중 '이미지 공간(Image Space) 은면 제거 알고리즘'이 아닌 것은?


💡 중간고사 필승 전략 (Part A)

  1. Bresenham 판별식 유도: 식을 의 부호에 따라 유도하는 과정을 종이에 3번 써보세요.
  2. 행렬 순서: 순서로 오른쪽에서 왼쪽으로 행렬이 합성됨을 명심하세요.
  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) 입니다.

V0V1V2P
E(V1,V2,P) → w0
9450
E(V2,V0,P) → w1
9450
E(V0,V1,P) → w2
10800
inside?
YES
Barycentric
λ0 = 0.32
λ1 = 0.32
λ2 = 0.36
Σ = 1.00
V0 / w0 = area(V1,V2,P)
V1 / w1 = area(V2,V0,P)
V2 / w2 = area(V0,V1,P)
Quiz

Rasterization Numerical

Q 1 / 5

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. 파라메트릭 곡선 — 평가와 연속성

Quiz

Parametric Curves Numerical

Q 1 / 6

공통 틀 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, 각 계수를 바꿔 하이라이트가 어떻게 변하는지 보세요.

35°
32
0.70
0.60
0.12
Diffuse
Kd(N·L)
Specular
Ks(V·R)ⁿ
Ambient
Ka·La

shininess ↑ → 하이라이트가 작고 날카로워짐. Ks=0 으로 두면 무광(Lambertian), Ka 만 남기면 빛을 등진 면도 검지 않게 됩니다.

Quiz

Illumination & Shading Numerical

Q 1 / 6

난반사 Id = Kd·Lc·(N·L). N=(0,0,1), L=(0,0,1) 단위벡터, Kd=0.8, Lc=1.0 일 때 Id는?

🧶 B-4. 텍스처 매핑 — UV·필터링·맵 종류

Quiz

Texture Mapping Numerical

Q 1 / 6

1280×960 이미지에서 UV (0.5, 0.25)에 대응하는 픽셀 좌표 (px, py)의 px는?


💡 기말고사 필승 전략 (Part B)

  1. edge function ↔ barycentric ↔ 텍스처/노멀 보간 이 한 줄기임을 기억: 래스터화(10장)의 도구가 텍스처(13장)·셰이딩(12장)까지 관통합니다.
  2. 원근 보정 보간: 속성을 z로 나눠 보간 후 Z를 곱한다 — "그냥 보간은 틀린다"가 단골 함정.
  3. Phong 식 3항 을 통째로 외우고, shininess n의 효과(좁고 날카로운 하이라이트)를 말로 설명할 수 있게.
  4. 셰이딩 3종 표 (Flat=폴리곤 / Gouraud=정점·색보간 / Phong=픽셀·노멀보간)와 각 단점.
  5. 곡선 위계 Hermite/Bezier ⊂ B-spline ⊂ NURBS, 그리고 보간 vs 근사 / 지역 vs 전역 제어.
  6. ⚠️ 레이트레이싱은 보지 않아도 됩니다 — 남는 시간을 위 5개에 쓰세요.

모든 수치 문제를 막힘없이 풀었다면, 당신은 이미 **A+**입니다! 🚀