Search
๐Ÿ„โ€โ™‚๏ธ

Ch.11 Surfaces

course
last review
mastery
rookie
progress
not started
date
2023/10/03
4 more properties
Previous chapter

Todayโ€™s MAIN QUEST

์ง€๊ธˆ๊นŒ์ง€ ์ •์˜ํ•œ ๊ณก์„ ์„ ํ™œ์šฉํ•˜๊ณ , ์ฐจ์›์„ ํ™•์žฅํ•˜์—ฌ ๊ณก๋ฉด์„ ์ •์˜ํ•˜์ž.

Surface

P(u)=โˆ‘k=0npkBk,n(u)P(u) = \sum^{n}_{k=0}p_kB_{k,n}(u)
P(u,v)=โˆ‘j=0mโˆ‘k=0npj,kBj,m(v)Bk,n(u)P(u,v) =\sum^{m}_{j=0} \sum^{n}_{k=0}p_{j,k}B_{j,m}(v)B_{k,n}(u)
v์˜ ๊ณก์„ ์ด ๋งŒ๋“ค์–ด๋‚ด๋Š” ์ ์„ Control Point๋กœ ํ•˜๋Š” ์ƒˆ๋กœ์šด ๊ณก์„ .

Strategy

์œ„ ๊ณก๋ฉด์ด ์–ด๋–ค ๊ณก๋ฉด์ธ์ง€ ๋งž์ถฐ๋ณด์ž.
์–‘ ๋ Control Point์— ๊ณก์„ ์˜ ๋์ด ์—ฐ๊ฒฐ๋˜์–ด์žˆ๊ธฐ ๋•Œ๋ฌธ์— Bezier Curve์ž„์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.
ํ˜น์€ NURB๊ฑฐ๋‚˜.
์–‘ ๋ ์ ์— ์—ฐ๊ฒฐ๋˜์–ด์žˆ์ง€ ์•Š๋‹ค๋ฉด Uniform B-Spline์ผ ๊ฒƒ์ด๋‹ค.

Control Patch

์ค‘์š”ํ•œ ์ ์€ ๋ชจ๋“  u์™€ v๊ฐ’์— ๋Œ€ํ•ด ์–ด๋Š ํ•œ ๋ณ€์ˆ˜์˜ ๊ฐ’์ด ์ •ํ•ด์งˆ ๊ฒฝ์šฐ, ๋‚จ์€ ๊ฐ’์— ๋Œ€ํ•ด์„œ Bezier Curve๊ฐ€ ์„ฑ๋ฆฝํ•œ๋‹ค๋Š” ์ ์ด๋‹ค.
์ฆ‰, ๋ชจ๋“  Subsection์ด ๋ฒ ์ง€์–ด ์ปค๋ธŒ๋‹ค.
Control Point๋“ค์˜ ์กฐํ•ฉ์œผ๋กœ ํ‘œํ˜„๋˜๋Š” 3์ฐจ์› ์ขŒํ‘œ ๊ฐ’์„ Control Patch๋ผ๊ณ  ํ•œ๋‹ค.

Cubic Bezier Patch

PijP_{ij}์— ๋Œ€ํ•ด 4*4๊ฐœ์˜ Bezier Patch๋Š” ์ปจํŠธ๋กค ํฌ์ธํŠธ๋ฅผ ๊ฐ€์ง„๋‹ค.
j๋ฒˆ์งธ Control Point P0j,P1j,P2j,P3jP_{0j},P_{1j},P_{2j},P_{3j}๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์‹์„ ๋”ฐ๋ฅธ๋‹ค. j๊ฐ€ ๊ณ ์ •๋˜๊ณ , i๊ฐ€ ๋ฐ”๋€๋‹ค.
Bi(u)=nCi(1โˆ’u)iunโˆ’iB_i(u)=nC_i(1-u)^iu^{n-i}
P(u)=โˆ‘iPijBi(u)P(u) = \sum^{}_{i}P_{ij}B_i(u)
P(u,v)=โˆ‘ijBi(u)(pijBj(v))P(u,v) =\sum^{}_{ij}B_{i}(u)(p_{ij}B_{j}(v))
๊ทธ๋Ÿผ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์‹์ด ๋‚˜ํƒ€๋‚œ๋‹ค. j๊ฐ€ ๊ณ ์ •๋˜์—ˆ์„๋•Œ, ๊ณ ์ •๋œ j ๊ฐ’์— ๋Œ€ํ•œ ์ƒˆ๋กœ์šด ์ปจํŠธ๋กค ํฌ์ธํŠธ i๋ฅผ ๋งŒ๋“ค์–ด๋‚ด๊ณ , ๊ทธ ์ปจํŠธ๋กค ํฌ์ธํŠธ๋ฅผ ํ™œ์šฉํ•ด ๋‹ค์‹œ u์— ๋Œ€ํ•ด ๊ณ„์‚ฐํ•œ๋‹ค.
์ด๋Ÿฐ ๋ฐฉ์‹์„ Bicubic Tensor Product Patch๋ผ๊ณ  ํ•œ๋‹ค.
โ€ข
Bezier์˜ ๊ฒฝ์šฐ์— 4๊ฐœ์˜ ์ฝ”๋„ˆ ์ปจํŠธ๋กค ํฌ์ธํŠธ๋ฅผ ๋ฐ˜๋“œ์‹œ ์ง€๋‚œ๋‹ค.
โ€ข
์ค‘์•™์˜ 4๊ฐœ์˜ ์ปจํŠธ๋กค ํฌ์ธํŠธ๋Š” ์ค‘๊ฐ„์— ์žˆ๋Š” ๋ชจ์–‘๋งŒ ๋ฐ”๊พธ์ง€ ๊ฐ€์žฅ์ž๋ฆฌ์˜ ๋ชจ์–‘์„ ๋ฐ”๊พธ์ง€ ์•Š๋Š”๋‹ค. ๊ฐ€์žฅ์ž๋ฆฌ๋Š” ๊ฐ€์žฅ์ž๋ฆฌ์˜ ํฌ์ธํŠธ๋กœ ๋ณ€ํ™”์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.
โ—ฆ
์ค‘๊ฐ„ํฌ์ธํŠธ๋กœ ์ „๋ฐ˜์ ์ธ ์ปคํ”„์˜ ๊ณก๋ฅ ์„ ์ •ํ•˜๊ณ , ๊ฐ€์žฅ์ž๋ฆฌ๋กœ ๊ณก๋ฉด์˜ ๋ชจ์–‘์„ ์ •ํ•œ๋‹ค.

Continuity

Bezier Patch๋Š” C2 Continuity๋ฅผ ๋ณด์žฅํ•˜๊ธฐ ๋งค์šฐ ์–ด๋ ต๋‹ค.

Drawing

Basis Function์„ ์‚ฌ์šฉํ•ด์„œ Bezier Surface Patch๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. P๊ฐ€ ์ œ์–ด์ ์˜ ํ–‰๋ ฌ์ด๋ผ๊ณ  ๊ฐ€์ •ํ•˜์ž.
P=[Pij]P = \begin{bmatrix}P_{ij}\end{bmatrix}
์ด์ œ ๋Œ€์‘๋˜๋Š” Bezier Surface Patch๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
P(u)=Uโ‹…MBโ‹…MgeomP(u)=[u3ย u2ย uย 1]M[P0P1P2P3]P(u) = U \sdot M^B \sdot M_{geom}\\ P(u) = \begin{bmatrix}u^3\ u^2 \ u \ 1\end{bmatrix}M\begin{bmatrix}P_0\\ P_1 \\ P_2 \\ P_3\end{bmatrix}
P(u,v)=Uโ‹…MBโ‹…[P0(v),P1(v),P2(v),P3(v)]TP(u,v) = U \sdot M^B \sdot \begin{bmatrix}P_0(v), P_1(v),P_2(v),P_3(v)\end{bmatrix}^T
P(u,v)=Uโ‹…MBโ‹…(Vโ‹…MBโ‹…Q)TP(u,v) = U \sdot M^B \sdot (V \sdot M^B \sdot Q)^T
P(u,v)=โˆ‘j=0mโˆ‘k=0npj,kBj,m(v)Bk,n(u)=UMBPijMBTVTP(u,v) =\sum^{m}_{j=0} \sum^{n}_{k=0}p_{j,k}B_{j,m}(v)B_{k,n}(u) = \bold{U}\bold{M}_B\bold{P}_{ij}\bold{M}^T_B\bold{V}^T

Subdivision Surface

Next chapter