개발하는 리프터 꽃게맨입니다.
[그래픽스] 구형 선형 보간으로 회전 보간 본문
어떤 두 사원수를 특정 비율로 보간해보겠습니다.
이런 식으로 선형보간을 할 수도 있지만, 회전은 원 궤적으로 발생하기에
정확한 보간을 나타내지는 못합니다.
좀 더 좋은 결과를 귀해서 구형 선형 보간을 구현해보겠습니다.
그렇다면 구형 선형 보간을 구현하는 계수를 찾아봅시다.
q1과 직교하는 회전 사원수를 q3이라고 할 떄
qt는 위와같이 나타낼 수 있을 겁니다.
그렇다면 q3를 구해봅시다.
삼각함수를 이용하여 q3와 방향이 동일한 벡터를 얻을 수 있고
해당 벡터를 이용하여 q3벡터를 얻어주도록 합시다.
최종적으로 위와같이 qt를 얻어낼 수 있습니다.
한 가지 생각할 점은 큰 각을 기준으로 보간을 수행할 것인가
작은 각을 기준으로 보간을 수행할 것인가입니다.
이는 bool 형 flag를 세워서 분기처리해주면 됩니다.
주의할 점은 사원수에 저장된 각도의 값은 항상 절반이라는 겁니다.
그렇다면 360도를 회전시킬 수 있는 회전사원수는 반원 위에 나타낼 수 있습니다.
만약, 두 회전 사원수가 만들어내는 각 중 짧은 각으로만 보간을 수행하고 싶다면
두 사원수가 이루는 각이 90도 미만인지 먼저 확인해야하고
90도를 초과할 경우 q1을 반전시켜서 보간을 해주면 됩니다.
만약, 긴 각으로 보간을 수행하고 싶으면 반대로하면 되겠죠?
코드는 다음과 같습니다.
'컴퓨터 그래픽스' 카테고리의 다른 글
직접 만든 그래픽 엔진으로 여러가지 출력 (1) | 2024.09.05 |
---|---|
[그래픽스] 짐벌락 없는 사원수 회전 (0) | 2024.08.20 |
[그래픽스] 삼각형 클리핑 (1) | 2024.08.19 |
[그래픽스] 가시부피와 절단 (0) | 2024.08.15 |
[그래픽스] 깊이 구현 (0) | 2024.08.14 |