컴퓨터 그래픽스는 영화나 게임에서 실제 세상보다 과장하여 표현하여 몰입감을 증가시킨다.
Geometric Modeling Methods
1. Constructive Solid Geometry
합집합, 차집합, 교집합을 이용한 방식 -> CAD/CAM(캐드)에서 자주 사용
장점 : function을 이용하여 모델을 구현할 수 있다.
-> 2가지 모델을 합치는 경우에도 각각의 함수를 합치는 방식으로 구현한다. 함수1+함수2 => 함수3
2. Bezier Curved Surface
- 1차 Bezier Curves => 직선
- 2차 Bezier Curves => 곡선
- 3차 Bezier Curves => 매끄러운 곡선을 그리기 우히ㅏㄴ 방식
3. Simplification Surfaces(간략화) -> 삼각형의 개수를 줄인다(로우 폴리곤화)
4. Subdivision Surfaces(분할화) -> 삼각형의 개수를 늘린다(고품질화)
Geometry Processing
1. Mesh upsampling (or subdivision)
원본이랑 비슷한지 수학적으로 말할 수 있는 근거 -> 미분을 2번해도 연속성을 유지한다.
Loop Subdivision
- Approximation(근사값)이어야한다. interpolation(평균)이 아니다.
- 삼각형 1개를 정삼각형 4개로 나눈다. (변의 중간에 버틱스를 추가하여 나눔)
-> 원본 형태를 유지하면서 부드럽게 만들기 위함
- 가중치를 다르게 주는 것이 중요하다. (가중치는 합이 무조건 1이 되어야 한다.)
삼각형을 구성할 때 항상 새로 생긴 버틱스끼리만 연결한다.(split 시켰을 경우)
edge가 연결이 됐을 경우 old 버틱스와 연결이 되었는지를 확인해서 연결된 경우 flip을 이용해 처리한다.
catmull-clark 알고리즘
-> quad 모델에서의 알고리즘
1. 사각형 안에서 각 모서리의 vector 값을 평균 내 사각형의 중간을 잡는다.
2. 두 사각형의 f값과 모서리를 가지고 중간 점을 구한다.
-> 한 점과 연결된 선이 4개여야만 사용이 가능하다.
-> 미분을 두 번 하더라고 연속성 유지 가능
날카롭게 보이는 부분에 대해서는 가중치를 수정하는 방식으로 표현한다.
2. Mesh downsampling (or simplification) -> 최대한 외형 유지
Mesh Decimation(삼각형 개수 줄이기) -> 저사양 PC를 위한 방식
1. Vertex decimation -> 퀄리티가 떨어지기에 많이 사용하지 않음
- 버틱스를 지우는 방식
2. Edge decimation -> 가장 추천하는 방식
- 엣지를 삭제하는 방식
거리에따른 simplification을 이용한 방식으로 최적화하는 방식을 가장 많이 사용한다.
목표 : 원본 형태를 유지하면서 최대한 삼각형 줄이기
Greedy algorithm -> 특정 문제에 대하여 optimal solution을 구하기 위해 사용되는 알고리즘
3. Mesh regularization -> 삼각형을 최대한 정삼각형으로 만들어주는 기술(삼각형의 연속성을 위하여)
삼각형의 두 점을 기준으로 원을 그리고 나머지 한 점이 원에 내접하면 정삼각형에 가깝다.
확률적으로 6개의 삼각형이 연결되면 안정적이다. 5개까지는 가능하지만 3개정도로 되면 모양이 무너질수있다.
->스무딩을 사용했을 경우 모양이 이상해진다. 최대한 정삼각형을 유지하는것이 좋다.
Isotropic remeshing -> 등방성형태로 remeshing
-> Edge flips를 이용하면 좋다. -> 근처 연결된 삼각형이 6개 이상이면 flip
-> 그 후 각 삼각형의 중앙으로 선을 옮겨주면 정삼각형 형태가 된다.
Isotropic remeshing algorithm
-> 길이가 3/4보다 길면 분리한다
-> 기리가 3/4보다 작으면 지운다.
'학교수업' 카테고리의 다른 글
윈도우즈 프로그래밍 3주차 (0) | 2022.03.17 |
---|---|
UNIX서버 2주차 (0) | 2022.03.16 |
게임공학개론 2주차 (0) | 2022.03.16 |
인공지능개론 2주차 (0) | 2022.03.14 |
컴퓨터구조 2주차 (0) | 2022.03.13 |