Search
๐Ÿ•บ

Ch.15 Animation InterPolation

course
last review
mastery
intermediate
progress
not started
date
4 more properties
Previous chapter

Interpolation

๋ชจ์…˜์บก์ณ๋‚˜ Keyframe ์‚ฌ์ด์˜ ์˜์ƒ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ๊ธฐ์ˆ 

Problems

ํ‚คํ”„๋ ˆ์ž„์ด ๋˜๋Š” ํฌ์ธํŠธ๋ฅผ ๋ช‡๊ฐœ ์ฃผ์–ด์ง„๋‹ค. ์ด ์ฃผ์–ด์ง„ keyframe์„ ์ง€๋‚˜๋Š” smoothํ•œ ๊ฒฝ๋กœ๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค!
๋”ฐ๋ผ์„œ ๋ชฉ์ ์€ ์˜ค๋ธŒ์ ํŠธ์˜ ํฌ์ง€์…˜์„ ํ‚คํ”„๋ ˆ์ž„์˜ ํฌ์ง€์…˜์— ๋งž๊ฒŒ ์ค‘๊ฐ„ ๊ฒฝ๋กœ๋ฅผ ๋ถ€๋“œ๋Ÿฝ๊ฒŒ ๋งŒ๋“ค์–ด์ค˜์•ผ ํ•œ๋‹ค.

Constraints

๋น„ํ–‰๊ธฐ๊ฐ€ ์„ ํšŒํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ž.
์‹œ์ž‘๊ณผ ๋ ์†๋„๊ฐ€ 0์ผ ๊ฒฝ์šฐ, ํŠน์ • ์‹œ์ ๊นŒ์ง€๋Š” ๊ฐ€์†, ์ดํ›„์—๋Š” ๊ฐ์†์ด ๋“ค์–ด๊ฐˆ ๊ฒƒ์ด๋‹ค.
๋ถ€๋“œ๋Ÿฝ๊ฒŒ ๊ฐ€๋Š” ๊ฒƒ๋งŒ ์ค‘์š”ํ•œ ๊ฒƒ์ด ์•„๋‹Œ ์†๋ ฅ๊นŒ์ง€ ์ผ์น˜ํ•ด์•ผํ•œ๋‹ค.

New Problem : Curve by Distance

p = P(u)์ผ๋•Œ, u๋Š” ์• ๋‹ˆ๋ฉ”์ด์…˜์˜ ์ž…์žฅ์—์„œ๋Š” ํฐ ์˜๋ฏธ๊ฐ€ ์—†๋‹ค. NURBS๋กœ ๊ตฌํ˜„ํ–ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ด๋ณด์ž. u๊ฐ€ 0.5์ผ๋•Œ ๋ฐ˜๋“œ์‹œ ๊ณก์„ ์˜ ์ค‘๊ฐ„์ง€์ ์„ ์˜๋ฏธํ•˜์ง€ ์•Š๋Š”๋‹ค.
๋”ฐ๋ผ์„œ ์šฐ๋ฆฌ๋Š” ๊ฑฐ๋ฆฌ์— ๋Œ€ํ•œ u๊ฐ’์„ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. u=U(s)u = U(s)
๋˜ํ•œ ์†๋„ ๋˜ํ•œ ์ œ์–ดํ•ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํŠน์ • ์‹œ๊ฐ„ t์— ๋Œ€ํ•œ ์œ„์น˜ s๋ฅผ ํ†ตํ•ด ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค. s=S(t)s=S(t) s=โˆซvtย dts =\int vt \ dt
์ฆ‰, ์• ๋‹ˆ๋ฉ”์ด์…˜์˜ Interpolation์€ ์‹œ๊ณต๊ฐ„์— ๋Œ€ํ•œ ์‹์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. p=P(U(S(t)))p=P(U(S(t)))
์–ด๋Š ํƒ€์ด๋ฐ(t)์— โ†’ ์–ด๋Š ๊ฑฐ๋ฆฌ(s)์— ์žˆ์–ด์•ผ ํ•˜๋ฉฐ โ†’ ์ด๋Š” ๋ณด๊ฐ„์‹ ํŒŒ๋ผ๋ฏธํ„ฐ u๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค.

Interpolation vs Approximation

๊ทธ๋ ‡๋‹ค๋ฉด ์ปดํ“จํ„ฐ ์• ๋‹ˆ๋ฉ”์ด์…˜์œผ๋กœ๋Š” ์•ž์„œ ๋ฐฐ์šด ๋‘๊ฐ€์ง€ ๋ฐฉ์‹ ์ค‘ ์–ด๋Š ๊ฒƒ์ด ๋” ํŽธํ• ๊นŒ?
โ€ข
ํ‚ค ํ”„๋ ˆ์ž„์€ ๋‚ด๊ฐ€ ์ด ์žฅ๋ฉด์—์„œ ์บ๋ฆญํ„ฐ๋‚˜ ์˜ค๋ธŒ์ ํŠธ๊ฐ€ ์–ด๋–ป๊ฒŒ ์žˆ์–ด์•ผ ํ•˜๋Š”์ง€๋ฅผ ์•Œ๋ ค์ฃผ๋Š” ๋ฐฉ์‹์ด๋‹ค. โ†’ ํ•ด๋‹น ํฌ์ธํŠธ๋Š” ๋ฐ˜๋“œ์‹œ ์ง€๋‚˜์•ผ ํ•จ!
๋”ฐ๋ผ์„œ Interpolation์ด ๋” ์‚ฌ์šฉํ•˜๊ธฐ ํŽธํ•  ๊ฒƒ์ด๋‹ค.

Interpolation

Generation :: ์ƒ์„ฑ ๋ฐฉ๋ฒ•

โ€ข
Linear Interpolation
โ—ฆ
์ง์„ ์œผ๋กœ ๋ณด๊ฐ„ ํ•˜๋ฏ€๋กœ ์‹์ด ๋งค์šฐ ์‰ฝ์ง€๋งŒ, ์ ๊ณผ ์  ์‚ฌ์ด์˜ ์†๋„๊ฐ€ ๋ถˆ์—ฐ์†์ ์ด๋ผ ๊ฐ์ง„ ์• ๋‹ˆ๋ฉ”์ด์…˜์ด ์ƒ๊ธด๋‹ค.
โ€ข
Non-Linaer Interpolation
โ—ฆ
์• ๋‹ˆ๋ฉ”์ด์…˜์ด ๋ถ€๋“œ๋Ÿฝ์ง€๋งŒ ์‹์ด ์–ด๋ ค์›Œ์ง„๋‹ค.
โ—ฆ
์ผ๋ถ€ ๊ณก์„ ์„ ์—ฐ๊ฒฐํ•˜๋Š” ํฌ์ธํŠธ์—์„œ๋Š”

Continuity :: ์—ฐ์† ๊ฐ€๋Šฅ์„ฑ

Control :: ํŽธ์ง‘ ๊ฐ€๋Šฅ์„ฑ

โ€ข
Local Control
โ—ฆ
ํŠน์ • ํฌ์ธํŠธ๋ฅผ ๋ณ€๊ฒฝํ–ˆ์„ ๋•Œ ํ•ด๋‹น ์ฃผ๋ณ€๋งŒ ๋ณ€๊ฒฝ
โ€ข
Global Control
โ—ฆ
ํŠน์ • ํฌ์ธํŠธ๋ฅผ ๋ณ€๊ฒฝํ–ˆ์„ ๋•Œ ์ „์ฒด์ ์œผ๋กœ ๋ณ€๊ฒฝ๋จ. ์ „์ฒด ๊ณก์„ ์ด ๋ณ€ํ™”ํ•˜๋ฏ€๋กœ ์ž์—ฐ์Šค๋Ÿฌ์šด ์›€์ง์ž„์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.
์œ„ ์กฐํ•ฉ์„ ๊ณ ๋ คํ•ด ์šฐ๋ฆฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ Interpolation์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.

What to give

Just the points

Tangents

Interior Control Points

Just Beginning and Ending tangents

์ด์™ธ์—๋„ ์—ฌ๋Ÿฌ ๋ฐฉ๋ฒ•์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋‹ค.

Lagrange Polynomial :: Representitive

k๊ฐœ์˜ ์ ์ด ์žˆ๋‹ค๊ณ  ์น  ๋•Œ
L(x)=โˆ‘j=0kyjย โˆ0โ‰คm<k,mโ‰ jxโˆ’xmxjโˆ’xmL(x)=\sum^{k}_{j=0}y_j \ \prod_{0\leq m <k,m\neq j}\frac{x-x_m}{x_j-x_m}

ADVANTAGE

์ ์ด ๋งŽ์ด ์žˆ์„ ๋•Œ์—๋„ ๋ณด๊ฐ„์„ ์•„์ฃผ ์‰ฝ๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค.

DISADVANTAGE

์•ˆ์ชฝ ์ ์— ๋น„ํ•ด ๋ฐ”๊นฅ์ ์— ๋Œ€ํ•ด์„œ๋Š” ๋ณ€ํ™”๊ฐ’์ด ์‹ฌํ•˜๊ฒŒ ํŠˆ ์ˆ˜ ์žˆ๋‹ค.

Universial Polynomial Curve

P=UTMB=FB=UTAP = U^T M B = FB = U^T A

Matrices

P=[u3u2u1][โˆ’0.51.5โˆ’1.50.51โˆ’2.52โˆ’0.5โˆ’0.500.500100][P0P1P2P3]P = \begin{bmatrix}u^3 & u^2 & u & 1\end{bmatrix}\begin{bmatrix} -0.5 & 1.5 & -1.5 & 0.5 \\ 1 & -2.5 & 2 & -0.5 \\ -0.5 & 0 & 0.5 & 0 \\ 0 & 1 & 0 & 0\end{bmatrix}\begin{bmatrix}P_0\\ P_1 \\ P_2 \\ P_3\end{bmatrix}

Motion Control

Reparameterizing by Arc Length

๋น„๊ต์  ๊ฐ„๋‹จํ•œ ๊ณก์„ ์— ๋Œ€ํ•ด์„œ๋Š” ๊ธธ์ด๋ฅผ ์‰ฝ๊ฒŒ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค.
P(u)=au3+bu2+cu+ds=โˆซu1u2โˆฃdPduโˆฃย dudPdu=(dx(u)dudy(u)dudz(u)du)P(u)=au^3+bu^2+cu+d \\s=\int^{u_2}_{u_1}|\frac{dP}{du}| \ du \\\frac{dP}{du} = \begin{pmatrix} \frac{dx(u)}{du} & \frac{dy(u)}{du} & \frac{dz(u)}{du}\end{pmatrix}
ํ•˜์ง€๋งŒ ๋ณต์žกํ•œ ์‹์ผ ์ˆ˜๋ก ๊ณ„์‚ฐ์ด ๋ณต์žกํ•ด์ง€๊ณ  ์ ๋ถ„๊ฐ€๋Šฅ์„ฑ๋„ ์ ์  ์ค„์–ด๋“ค๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ๋“  ์‹์— ๋Œ€ํ•ด analyticํ•˜๊ฒŒ Arc Length๋ฅผ ๊ณ„์‚ฐํ•  ์ˆ˜๋Š” ์—†๋‹ค.

SuperSampling

์ ๊ณผ ์  ์‚ฌ์ด์— ์ž‘์€ ํฌ์ธํŠธ๋กœ ๊ท ์ผํ•˜๊ฒŒ ๋‚˜๋ˆˆ ํ›„, ํ•ด๋‹น ํฌ์ธํŠธ๊ฐ„์˜ ์ง์„ ๊ฑฐ๋ฆฌ๋ฅผ ์ƒ˜ํ”Œ๋งํ•˜๋ฉด Arc Length์— ๊ทผ์‚ฌํ•œ ๊ฐ’์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค!
๋‹ค๋งŒ ์ƒ˜ํ”Œ๋ง ๊ฐ„๊ฒฉ์„ ์ž˜ ์„ค์ •ํ•ด์•ผํ•œ๋‹ค. ๋„ˆ๋ฌด ์ ๊ฒŒ ๋˜๋ฉด ์›๋ž˜ ๋ชจ์–‘์„ ํ‘œํ˜„ํ•  ์ˆ˜ ์—†์œผ๋ฉฐ, ๋„ˆ๋ฌด ๋งŽ์ด ์ƒ˜ํ”Œ๋งํ•˜๋ฉด
์ฆ‰, ํ…Œ์ŠคํŠธ๋ฅผ ๊ฑฐ์ณ์„œ subdivide๋ฅผ ๊ฑฐ์ณ์•ผ ํ•˜๋ฏ€๋กœ ๊ท€์ฐฎ์•„์ง€๊ฒŒ๋œ๋‹ค.

Quadrature

Next chapter