CODEONWORT

큐빅 베지어의 일부를 표현하는 큐빅 베지어 본문

Season 1/수학

큐빅 베지어의 일부를 표현하는 큐빅 베지어

codeonwort 2011. 8. 19. 00:25


위 그림은 푸른여우와붉은포도님의 프로그램을 찍은 것입니다
 

큐빅 베지어는 다음 식으로 표현되는 곡선이다.

위키피디아에서 가져옴 http://en.wikipedia.org/wiki/Bezier_Curve

P0, P1, P2, P3은 처음의 그림에서 순서대로 왼쪽 아래, 왼쪽 위, 오른쪽 위, 오른쪽 아래의 점에 해당한다. P0, P1, P2, P3과 이들로부터 만들어지는 큐빅 베지어의 식을 아는 상태에서 0 <= s <= e <= 1 에 대해 B(s) ~ B(e) 사이의 곡선만을 나타내는 큐빅 베지어 b(t)를 만드는 점 p0, p1, p2, p3을 찾는 게 목적이다. 과정도 결과도 컴퓨터로 계산하기 편한 쪽으로 진행하겠다. p0 = b(0) = B(s) 이고 p3 = b(1) = B(e)임을 당장 알 수 있다. 비례를 따지면 b(t) = B(s + (e-s)t) 라는 것도 알 수 있다. p1, p2만 알아내면 되는데 위 식을 가지고 노가다를 뛸 필요 없이 꼼수를 쓰자.

일단 위 식에서 B, P0, P1, P2, P3을 b, p0, p1, p2, p3으로 치환한다. 그러면 b(t)의 식을 얻는다. 이제 b(0.5)를 계산해본다.


다음으로 b(0.25)를 계산한다.


b(0.5)와 b(0.25)는 무시하고 좌변에는 p1, p2만 남겨 식을 정리하면


단순한 연립방정식이다. 풀자
 


3 Comments
댓글쓰기 폼