🎓 SSU Graphics Midterm: Numerical Hard Mode
이 페이지는 단순 개념 이해를 넘어, **직접 손으로 계산해야 하는 정량적 문제(Numerical Problems)**들을 정복하기 위해 설계되었습니다. 숭실대 컴퓨터 그래픽스 시험의 핵심인 알고리즘 추적과 행렬 연산을 완벽히 마스터하세요.
🔢 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))
📐 2. 복합 변환 행렬 조립 (Matrix Composition)
행렬 곱셈의 순서와 각 성분의 의미를 묻는 문제입니다. 행렬은 오른쪽에서 왼쪽 방향으로 곱해짐을 잊지 마세요.
📝 Workshop: 2D Composite Transformation
문제: 점 에 대해 다음 변환을 순서대로 수행하는 합성 행렬 을 구하세요.
- 원점 기준 축 방향으로 2배 확대 ()
- 반시계 방향으로 회전 ()
- 축으로 5, 축으로 5만큼 이동 ()
Matrix Composition Challenge
합성 행렬 M을 구하기 위한 올바른 곱셈 순서는?
📝 Workshop: 피봇 점 기준 회전 (Pivot Rotation)
문제: 점 를 피봇 기준으로 반시계 회전시킵니다.
핵심 샌드위치:
Pivot Rotation Challenge
피봇 기준 회전의 올바른 합성 순서는?
🖼️ 3. 윈도우-뷰포트 매핑 (Window-Viewport Mapping)
월드 공간의 좌표를 화면 픽셀 좌표로 변환하는 비례식을 계산합니다.
Mapping & Clipping Numerical
Window: (0,0)~(10,10), Viewport: (100,100)~(300,300) 일 때, x축 방향의 배율 Sx는?
🎥 4. 3D 뷰잉 및 투영 (Viewing & Projection)
카메라 좌표계(UVN) 구축과 원근 투영 닮음비 계산 문제입니다.
🚀 The Grand Pipeline Workshop
Mathematical Transformation Journey
Model Space
오브젝트 자체의 로컬 좌표계입니다. (원점 기준)
Standard Formula
Vertex Real-time Value
(0.50, 0.50, 0.50)
World Space
World Matrix(M)를 곱해 전역 공간에 배치합니다.
Standard Formula
Vertex Real-time Value
(0.68, 0.50, 0.20)
View Space
View Matrix(V)를 곱해 카메라 기준으로 정렬합니다.
Standard Formula
Vertex Real-time Value
(0.68, 0.45, 0.29)
NDC Space
Projection Matrix(P)를 적용해 [-1, 1]로 압축합니다.
Standard Formula
Vertex Real-time Value
(3.72, 3.71, 0.29)
Screen Space
최종 픽셀 좌표로 변환하여 화면에 출력합니다.
Standard Formula
Vertex Real-time Value
1889px, -814px
Model & Rotation
World Placement
Camera Distance
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, ?). ?는?
👻 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 이면 갱신)
🧱 6. 개념 총정리: 분류·정의 (시스템 & 알고리즘)
시험에서 "이것은 오브젝트 공간 알고리즘인가 이미지 공간 알고리즘인가?", "이 투영의 시야 부피는?" 처럼 분류 를 묻는 문제가 자주 나옵니다.
Taxonomy Rapid-Fire
다음 중 '이미지 공간(Image Space) 은면 제거 알고리즘'이 아닌 것은?
💡 중간고사 필승 전략
- Bresenham 판별식 유도: 식을 의 부호에 따라 유도하는 과정을 종이에 3번 써보세요.
- 행렬 순서: 순서로 오른쪽에서 왼쪽으로 행렬이 합성됨을 명심하세요.
- 단위 주의: 각도(Degree vs Radian), 비트(Bit vs Byte) 단위를 꼼꼼히 확인하세요.
모든 수치 문제를 막힘없이 풀었다면, 당신은 이미 **A+**입니다! 🚀