Previous chapter
Todayโs MAIN QUEST
B-Spline์ ๋ํด ์์๋ณด๊ณ , Bezier Curve์์ ์ฐจ์ด์ ์ ๋ํด ๊ณ ๋ฏผํด๋ณด์.
Continuity Analysis
C0 Continuity (Positional Continuity)
C1 Continuity (Velocity Continuity)
B-Splines
n์ฐจ Basisfunction์ ๋งค๊ฐ๋ณ์ t์ ์ํด ์ ์๋๋ค.
์ด๋ t (0~1)์ m๊ฐ์ knots๋ก ๊ตฌ์ฑ๋ ์ ์๋ค.
์ผ๋๋ฅผ ์ดํด๋ณด์.
๋ ๋์ ์ฐจ์์ ๋ํด์๋ ๋ค์๊ณผ ๊ฐ์ด ์ ์ํ๋ค.
์ด๋ ๊ฐ ์ ํ์์ ๊ณ์๊ฐ ์๋ฏธํ๋ ๊ฒ์ ๋ค์๊ณผ ๊ฐ๋ค
๋ฅผ ์ ๊ธธ์ด๋งํผ ๋๋๋ฉด ๊น์ง์ ๊ตฌ๊ฐ ์ค ํ์ฌ t๊ฐ ํด๋น ๊ตฌ๊ฐ์ ์ด๋ ๋น์จ์ ์์น์ ์๋์ง๋ฅผ [0,1]๊ตฌ๊ฐ์ผ๋ก ๋ํ๋ธ๋ค.
๋ง์ฐฌ๊ฐ์ง๋ก ๋ฅผ ์ ๊ธธ์ด๋งํผ ๋๋๋ฉด ๊น์ง์ ๊ตฌ๊ฐ ์ค ํ์ฌ t๊ฐ ํด๋น ๊ตฌ๊ฐ์ ์ด๋ ๋น์จ์ ์์น์ ์๋์ง๋ฅผ ์ด๋ฒ์๋ [1,0]๊ตฌ๊ฐ์ผ๋ก ๊ฑฐ๊พธ๋ก ๋ํ๋ธ๋ค.
์ฆ, ํด๋น Basis Function์ t์ ์์น์์ ๊ฐ ๊ฐ์ค์น์ ํฉ์ i๋ถํฐ i+p๊น์ง ๋ํ๊ฒ ๋ค๋ ์๋ฏธ์ด๋ค.
๊ทธ๋์ ๋ ์ ์๋ค ์ด๋์ ๋ณธ ๊ฒ ๊ฐ์ง ์๋?
๋ ์์ด ๋งค์ฐ ๋ฎ์ ๊ผด์์ ์ ์ ์๋ค.
knot ๋ฒกํฐ๋ฅผ ์ ๊ทํํ ํ, ์ด์ Basis๋ฅผ ์กฐํฉํ๋ค๋ ์์ด๋์ด๋ ๋ฒ ์ง์ด ์ปค๋ธ๋ฅผ ์ผ๋ฐํํ ๊ฒ๊ณผ ๊ฐ์ ์ด์ผ๊ธฐ๋ค!
์ด๋ฐ Basis Function์ ๊ฐ ์ ์ ๋ํด ๋ถ์ด๋ฉด B-Spline ์์ฑ์ด๋ค.
Knot๋ Control Point๊ฐ ์๋๋ค
์ด Spline์ ์ดํดํ๋๋ฐ ๊ฐ์ฅ ํ๋ค์๋ ๋ถ๋ถ์ด๋ค. knot๋ Control Point๊ฐ ์ด๋๊น์ง ์ํฅ์ ์ฃผ๋๊ฐ์ ๋ํ ์ด์ผ๊ธฐ์ง, Control Point๊ฑฐ๋, Control Point๊ฐ ํฌํจ๋ ์๋ธ Control Point๊ฐ ์๋๋ค!!
๊ฐ๋ น ์๋ฅผ ๋ค์ด๋ณด์.
์ด ์์ ์ ๋๋ก ์ดํดํด๋ณด์. 0์ฐจ์ผ ๊ฒฝ์ฐ์ Basis Function์ด๋ค. t๊ฐ ํด๋น ๋ฒ์์ ์์๋, Basis Function์ 1์ด๊ฑฐ๋ 0์ด๋ค. ์ด๋ knot vector์ ๊ฐ์๋ n+1๊ฐ. ์ฆ n๊ฐ์ ๊ตฌ๊ฐ์์ ๊ฐ i๋ฒ์งธ ๊ตฌ๊ฐ์ผ๋, T์ ์์น๋ ๊ฐ ์ปจํธ๋กค ํฌ์ธํธ๋ก ์ด์ฐ์ ์ธ ๋ถํฌ๋ฅผ ๋ณด์ธ๋ค.
5๊ฐ์ Control Point๊ฐ ์๋ Linear B-Spline์ ์ดํด๋ณธ๋ค. ์ฌ๊ธฐ์๋ Uniform์ด๋ผ ๊ฐ์ ํ๋ค.
์ ์ฌ๋ผ์ด๋์ฒ๋ผ, Basis Function์ ์ํด ๊ฐ ์ปจํธ๋กคํฌ์ธํธ๊ฐ ์ํฅ์ ์ฃผ๋ ๊ฐ์ ๊ทธ๋ํ๋ฅผ, ์ํฅ์ ์ฃผ๋ ๋ฒ์๋ ๊ทธ๋ํ๊ฐ ์์์ธ ๋ฒ์๋งํผ์ด๋ค.
Degree๊ฐ 1, ์ปจํธ๋กค ํฌ์ธํธ๊ฐ 5๊ฐ์ด๋ฏ๋ก, knot vector์ ์ฌ์ด์ฆ๋ 7์ด๋ค.
๋ค์ ์ฌ๊ท์ ์ผ๋ก ๋์๊ฐ๋ณด์.
๊ฐ ์ปจํธ๋กคํฌ์ธํธ์ ๋ํด์ 5๊ฐ์ Basis Function์ ๊ฐ์ง๊ธฐ ์ํด์๋, 0์ฐจ ์ผ ๋ 6๊ฐ์ 0์ฐจ Basis Function์ ๊ฐ์ ธ์ผ ํ๋ค. ์ด๋ฅผ ์ํด์๋ 7๊ฐ์ knot Vector๊ฐ ํ์ํ๋ค.
์ด๋, B0๋ฅผ ๋ฌด์ํ๊ณ B1๋ถํฐ ์์ํ๋ค๊ณ ๊ฐ์ ํ์.(์ ๊ทธ๋ํ๋ ์ฌ์ค Non Uniform์ด๋ค.)
B1์ด u1์ ๋์ฐฉํ๊ธฐ ์ ๊น์ง๋ Basis์ ์ดํฉ์ด 1์ด ๋์ง ์๋๋ค! Affine ์ขํ๊ณ๋ก ํ์ธํ์๋, ํด๋น ์ ์ u๊ฐ u1์ ๋์ฐฉํ๊ธฐ๊น์ง z=0์ถ์์ z=1์ธ์ถ์ผ๋ก ์์ํ ์ฌ๋ผ์ค๊ณ ์๋ค!!
๋ง์ฐฌ๊ฐ์ง๋ก B3์์ ๋๋๋ค๊ณ ๊ฐ์ ํ์๋, u3๋ถํฐ u4๊น์ง๋ z=1์์ z=0์ผ๋ก Linearํ๊ฒ ๋ค์ ๋ด๋ ค๊ฐ๋ ๋ชจ์ต์ ์ ์ ์๋ค.
์ด๊ฒ์ด Periodic B-spline์ด ์ ๋์ ์์๋ถํฐ ๊ทธ๋ ค์ง์ง ์๋ ์ด์ ๋ค.
๋ํ, ์ ๋์ ์ ์ฐ๊ฒฐํ์ ๊ฒฝ์ฐ ํด๋น Basis๊ฐ ์ํธ๋ณด์๋์ด ์คํ๋ผ์ธ์ด ์ฐ๊ฒฐ๋๋ค๋ ์ ์ด ์ด ์คํ๋ผ์ธ์ด Periodicํจ์ ๋ณด์ด๋ ๋ ๋ค๋ฅธ ์ด์ ์์ ๋ณด์ฌ์ค๋ค.
Uniform knot vector๋ ๋ฐ๋์ ๊ฐ์ ๊ฐ๊ฒฉ์ผ๋ก ์กด์ฌํ๋ค. Control Point ์์ ๋ฐ๋์ ์กด์ฌํ์ง ์์ผ๋ฉฐ, knot vector์ ๊ฐ์๋ degree + Control Point + 1๊ฐ๋ก ์ ํด์ง๋ค.
Bezier Curve VS B-Spline
์ด๋ ๊ฒ ๋ณด๋ฉด B์คํ๋ผ์ธ์ ๋ฒ ์ง์ ์ปค๋ธ๋ ์๋ฌด ๊ด๋ จ์๋ ์ ์ข
์ปค๋ธ์ธ ๊ฒ์ฒ๋ผ ๋ณด์ด์ง๋ง, ๋๋๊ฒ๋ B-Spline์ ์ผ์ข
์ Bezier Curve์ ์ผ๋ฐํ๋ ๋ฒ์ ผ์ด๋ผ๊ณ ํ ์ ์๋ค.
๊ณก์ ์ ์ด๋ ํ ์ง์ t์์ ์ขํ๊ฐ์ ๊ณ์ฐํ ๋, n๊ฐ์ Control Point์ ๊ฐ์ค์น์ ํฉ์ผ๋ก ๊ณ์ฐํ๋ค๋ ์ ์์ Bezier Curve์ B Spline์ ๊ฐ์ ํน์ง์ ๊ณต์ ํ๋ค.
Reference
Next chapter