컴퓨터 그래픽스의 개요

수업 1주차. 컴퓨터 그래픽스가 무엇인지, 어떻게 발전해 왔는지, 어떤 분류 체계로 이해하면 좋은지, 그리고 3차원 그래픽스가 화면에 도달하기까지 거치는 세 단계를 정리합니다.


1. 컴퓨터 그래픽스의 발전

1.1 1950~1960년대: 시작

  • 1950년대 초: Line Printer, Teletype 같은 문자 단말의 시대. MIT의 Whirlwind 컴퓨터 가 최초로 CRT 모니터를 디스플레이로 사용.
  • 1963년 — Sketchpad: MIT 박사과정이던 Ivan Sutherland 가 개발한 최초의 상호대화식(interactive) 그래픽스 시스템. 컴퓨터 그래픽스의 실질적 출발점.
    • CRT Vector Display (Random-Scan) Monitor, Light pen, Command button 사용.
    • "Modern Interactive Graphics 의 시초" 로 평가받음.
  • 1960년대 말: DVST (Direct View Storage Tube) 를 이용한 CAD 시스템, Tektronix 4010 등 상용화 시작.
  • 1969년 — The Sword of Damocles: Sutherland 가 개발한 최초의 가상현실(VR) Head-Mounted Display(HMD). 입체 디스플레이 + 헤드 트래킹.

1.2 1970년대: CAD의 확산과 래스터 등장

  • 60년대에 태동한 CAD 시스템이 본격적으로 산업에 도입 (예: 비행기 제조사의 3D 설계).
  • Raster-Scan Monitor 의 개발 → 이후 컬러 그래픽스와 3차원 그래픽스 분야 발전의 토대.

1.3 1980년대: HCI와 개인용 컴퓨터

  • HCI(Human-Computer Interaction) 기술의 발전 — Window · Menu · Icon · Mouse. 대표 예: Smalltalk-80.
  • PC의 Raster-Scan Monitor 보급.
  • Color Graphics, 광선 추적법(Ray Tracing) 기법 등장.
  • Graphics Art, WYSIWYG (What You See Is What You Get) 출판 환경.

1.4 1990년대: 3D 시대

  • 3D Graphics 의 본격 발전.
  • 3차원 그래픽 가속기 (Graphics Accelerator) 등장 — Rendering, Texture Mapping 하드웨어화.
  • Parallel Processor, Pipeline Architecture 를 통한 대규모 병렬 처리.
  • 영화·광고·게임 시뮬레이션 분야에서 폭발적으로 활용.
  • VR(Virtual Reality)와 Internet 환경: VRML, X3D 같은 웹 3D 포맷.

1.5 2000년대 이후: 범용·모바일·웹

  • PC 환경에서도 실시간 3차원 그래픽 및 애니메이션 가능.
  • GPGPU (General-Purpose computing on GPU) — 수많은 코어를 그래픽이 아닌 범용 계산에 활용.
  • 모바일 환경: OpenGL ES.
  • 웹 환경: WebGL, HTML5 Canvas (이 수업의 실습 환경이기도 함).

2. 그래픽스 표현의 분류

2.1 입력 차원과 출력 방식

  • 2D 그래픽스는 2차원 좌표, 3D 그래픽스는 3차원 좌표로 주어집니다.
  • 결과물은 픽셀 로 표현되며, 각 픽셀은 적색(R) · 녹색(G) · 청색(B) 의 밝기값 배합으로 색이 결정됩니다.

2.2 벡터 그래픽스 (Vector Graphics)

  • 객체를 수학적 함수·수식 으로 표현해 저장.
  • 파일 크기가 래스터 방식보다 작다.
  • 확대해도 화질 저하가 없다 — 수식을 다시 계산하면 되므로 해상도 독립적.
  • 예: SVG (Scalable Vector Graphics)
    <svg width="200" height="200">
      <ellipse cx="110" cy="50" rx="70" ry="40" style="fill:blue"/>
      <polygon points="130,40 140,190 50,190" style="fill:green"/>
    </svg>
    

2.3 래스터 그래픽스 (Raster Graphics)

  • 비트맵 그래픽스 라고도 함.
  • 출력 장치에 표시하기 위해 그래픽 데이터를 픽셀 단위로 저장.
  • 파일 크기는 출력 장치의 해상도에 비례.
  • 화면을 확대하면 화질이 떨어진다 (계단 현상).

2.4 래스터화와 벡터화

  • 래스터화 (Rasterization): 벡터 그래픽 데이터를 래스터로 변환. 일반적인 렌더링 과정이 이에 속함.
  • 벡터화 (Vectorization): 래스터 데이터를 벡터로 변환. 3D 의료 CT 영상을 3D 벡터 데이터로 바꾸는 Marching Cube Method 가 대표적.

2.5 용도별 비교

차원벡터 그래픽스래스터 그래픽스
2D응용: 디자인·인쇄
표현: 2D 벡터 데이터 조합·수식
도구: Adobe Illustrator, Corel Draw
응용: 사진·영상 처리
표현: 픽셀 단위의 2D 배열
도구: Adobe Photoshop
3D응용: CAD, 영화, 광고, 가상현실
표현: 3D 벡터 데이터 조합·수식
도구: Maya, Softimage, 3DMax
응용: 영상처리·의료·과학
표현: 복셀(Voxel) 단위의 3D 배열
도구: 3차원 초음파, 3차원 CT

3. 3차원 그래픽스의 처리 과정 ⭐️

수업 전체의 뼈대가 되는 3단계 파이프라인.

  1. 물체의 기하학적 형상을 모델링(Modeling)
  2. 3차원 물체를 2차원 평면에 투영(Projection)
  3. 생성된 3차원 물체에 색상과 명암을 부여하는 렌더링(Rendering)

3.1 모델링 (Modeling)

3차원 좌표계에서 물체의 모양을 수학적으로 표현하는 과정. 네 가지 주요 방식:

방식특징
와이어프레임 (Wireframe) 모델모서리(edge)만 선으로 표현. 계산 가볍고 구조 파악에 유리. 표면 정보 없음
다각형 표면 (Polygon Surface) 모델삼각형·사각형 폴리곤의 집합으로 표면을 표현. 실시간 렌더링의 표준
솔리드 (Solid) 모델내부가 꽉 찬 입체로 표현. CAD·제조·의료 시뮬레이션에 필수
3차원 스캔에 의한 모델링실물을 3D 스캐너로 읽어 좌표 데이터화. 포인트 클라우드 기반

3.2 투영 (Projection)

3D 객체를 2D 화면에 투영. 두 가지 방식:

  • 평행 투영 (Parallel Projection): 투영선이 서로 평행. 거리와 무관하게 객체 크기가 유지. 설계·도면용.
  • 원근 투영 (Perspective Projection): 투영선이 한 점(시점, COP)으로 수렴. 멀리 있는 객체가 작게 보임. 현실감 있는 표현.

3.3 렌더링 (Rendering)

색상과 명암·질감을 더해 3차원적 현실감을 부여하는 과정.

  • 은면의 제거 (Hidden Surface Removal): 가려진 면을 걸러내 시간 절약.
  • 쉐이딩 (Shading), 텍스처 매핑 (Texture Mapping), 그림자 (Shadow).
  • 광선 추적법 (Ray Tracing): 픽셀마다 광선을 쏘아 반사·굴절까지 계산하는 고품질 렌더링.

4. 그래픽스 · 이미지처리 · 애니메이션 · 가상현실

4.1 Rosenfeld 의 구분 ⭐️

Rosenfeld 는 세 학문의 입출력 관계로 정확히 구분했습니다.

분야입력출력
컴퓨터 그래픽스텍스트 (프로그램·그래픽스 명령·자료 구조)그림 (이미지)
이미지 처리 (Image Processing)그림그림 (재생·보정·합성)
컴퓨터 비전 (Computer Vision)그림텍스트 (해석·인식 결과)

즉 그래픽스 = 생성/합성, 이미지처리 = 재생/변환, 컴퓨터비전 = 해석.

4.2 애니메이션 (Animation)

  • 일련의 정지 이미지를 초당 15 프레임 이상 연속적으로 보여주어 움직임을 느끼게 하는 기법.
  • 원리: 인간의 잔상효과.
  • 미리 만들어 둔 그림을 순서대로 디스플레이.

4.3 가상현실 (Virtual Reality)

  • 3차원 가상공간과 객체를 구축, 관찰자(Viewer) 가 시점·움직임을 바꾸며 체험.
  • 실시간(초당 15 frame 이상) 재구성 이 필수 → 그래픽스 가속기 같은 빠른 프로세서 필요.
  • 메타버스: 가상의 3차원 공간에서 현실 세계를 반영해 그래픽으로 표현.

5. 컴퓨터 그래픽스의 활용

수업 슬라이드에서 10가지 분야를 제시합니다.

#분야대표 예
1CAD (Computer Aided Design)부품·기계·전자회로 설계, 자동차·비행기·선박 Wireframe 모델, 건축 설계
2애니메이션 & 시뮬레이션애니메이션 영화, Flight Simulator, 물리 시스템 behavior 연구
3디자인 & 아트상업 디자인 (Commercial Art), 창작 미술 (Creative Art)
4게임 & 엔터테인먼트영화, 뮤직비디오, TV. 2D 게임 → 3D → VR/AR
5프리젠테이션 & 데이터 시각화Graph/Chart/Business graphics, 과학·재무 모델의 Visualization
6멀티미디어웹페이지, 디지털 방송, 휴대폰 UI, 사이버 클래스, 아바타
7GUI (Graphical User Interface)Window · Icons · Menu (WIMP 패러다임)
8전자 출판Document Preparation System, DTP, PDF, E-Book
9공간 정보GIS, 차량 내비게이션, C3I/C4I (Military/Police/Emergency). 효시는 50년대 중반 SAGE 방공시스템
10이미지 처리Feature Detection, Pattern Recognition, 3D Reconstruction (MRI, CT)

📝 Checkpoint: 개요 퀴즈

Quiz

1963년 MIT의 Ivan Sutherland가 개발한, '최초의 상호대화식(Interactive) 그래픽스 시스템'으로 평가받는 작품은?

Quiz

Rosenfeld의 구분에 따르면 '그림을 입력받아 텍스트(해석 결과)를 출력'하는 분야는?

Quiz

벡터 그래픽스의 특징으로 옳지 않은 것은?

Quiz

3차원 그래픽스의 처리 과정 3단계의 올바른 순서는?

Quiz

다음 중 '솔리드(Solid) 모델'과 '와이어프레임(Wireframe) 모델'의 가장 큰 차이는?

Quiz

2000년대 이후 웹 브라우저에서 GPU를 직접 활용해 3D 그래픽을 렌더링하기 위해 도입된 JavaScript API의 이름은?


🔗 다음 학습

역사와 큰 그림을 잡았다면, 이제 실제 하드웨어와 시스템 으로 내려갑니다.