SniKuz
스니커즈 정리공간
SniKuz
  • 정리공간 (116)
    • 강의 (35)
      • OS (12)
      • 컴퓨터구조 (5)
      • 컴퓨터네트워크 (6)
      • 컴퓨터 그래픽스 (12)
    • 프로젝트 (8)
      • 애니메이션 스티커(Android) (1)
      • 2023GMTK (1)
      • OTT 게임 (2)
      • 3D MORPG (4)
    • Unity (3)
      • Memory (3)
    • 디자인패턴 (8)
    • 활동 정리 (4)
    • 알고리즘 (48)
    • 기타기록 (6)
      • 여행,음식 (4)
      • 잡다지식 (2)

블로그 메뉴

  • ✨ 깃허브

공지사항

인기 글

태그

  • ISTQB
  • 니
  • programmers

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
SniKuz

스니커즈 정리공간

Subdivision Curves and Surfaces
강의/컴퓨터 그래픽스

Subdivision Curves and Surfaces

2024. 4. 1. 10:51

목차

  • 개요
  • Corner Cutting (Chaikin's Algorithm)
  • Cubic Corner Cutting, in Mesh
  • Triangular Subdivision
  • Butterfly Scheme

 

Subdivision Curves and Surfaces

개요

polyline, polygon이 주어졌을 때, 재귀적으로(recursively) polyline / polygon의 점들을 수정해서 점차 부드러운 형태를 만드는 곡선/곡면 생성 기법입니다. 일반적으로 디자인에서 subdivision이후 수정이 힘들어 보통 마지막에 하는 것 같습니다.

곡선/곡면이 다항식 함수 대신 procedure 형태로 정의됩니다.

 

 

Corner Cutting (Chaikin's Algorithm)

Subdivision scheme의 한 종류로 주어진 다가형의 모서리를 ¼ 씩 깎는 방식입니다.
정확히는 Corner Cutting은 n : m으로 깎는 방법 중 항상 3 : 1 즉 ¼로 깎는 경우를 Chaikin's Algorithm이라 합니다.

n번 재

Corner Cutting in Mesh (Doo-Sabin subdivision)

Doo-Sabin subdivision은 Chaikin's algorithm의 Surface 버전이며 그 결과가 대부분 uniform quadratic B-Spline surface입니다.

 

 

Cubic Corner Cutting & in Mesh

3점을 가지고 커팅하며 최종적으로 Uniform 3차 B-Spline 곡선으로 수렴합니다.

Catmull-Clark subdivison은  surface 버전이며 uniform cubic B-Spline surface로 수렴합니다.

 

 

Triangular Subdivision

오직 triangular meshes (control nets)에서만 작동하며, 삼각형을 더 작은 삼각형의 조합으로 쪼개는 방식입니다.
모든 삼각형 표면은 4개의 새로운 삼각형 표면으로 쪼개집니다.
이때 2가지 종류의 정점이 있는데 쪼개지기 전 삼각형과 정점을 공유하는 old vertices와 
이전 삼각형 old edges 위에 새로 생긴 3개의 new vertices입니다.

Rule : 재귀적으로 삼각형을 쪼갤 때, 새로운 정점 new vertex는 이전 old vertices의 가중치에 평균이라는 규칙을 가지고 있습니다.
가중치 리스트는 subdivision mask 혹은 stencil이라 부릅니다.

반복과

 

 

Butterfly Scheme

Interpolatory(보간) Scheme로 subdivision되어 만들어진 곡선이 원래 polygon의 점들을 지나는 특성입니다.
Butterfly Scheme는 삼각형 대상이 나비처럼 생겨서 붙은 이름으로, negative 가중치도 추가해 가중치를 조절할 수 있습니다.

반복과정

저작자표시 (새창열림)

'강의 > 컴퓨터 그래픽스' 카테고리의 다른 글

Illumination Models & Shading  (0) 2024.04.04
Meshes  (0) 2024.04.02
Surfaces  (0) 2024.03.15
Curve  (1) 2024.03.07
Viewing Transformation  (0) 2024.01.25
    '강의/컴퓨터 그래픽스' 카테고리의 다른 글
    • Illumination Models & Shading
    • Meshes
    • Surfaces
    • Curve
    SniKuz
    SniKuz
    게임과 관련된 개발, 디자인 등등 + 일상공간

    티스토리툴바