雙三次Bezier曲面算法


雙三次Bezier曲面

定義

  • 雙三次Bezier曲面由u,v方向的兩組三次Bezier曲線交織而成,控制網格由16和控制點構成。

\[p(u,v)= \left[\begin{matrix} u^3 & u^2 & u & 1 \end{matrix}\right] \left[\begin{matrix} -1 & 3 & -3 & 1 \\ 3 & -6 & 3 & 0 \\ -3 & 3 & 0 & 0 \\ 1 & 0 & 0 & 0 \end{matrix}\right] \left[\begin{matrix} P_{0,0} &P_{0,1} & P_{0,2} & P_{0,3}\\ P_{1,0} & P_{1,1} & P_{1,2} & P_{1,3} \\ P_{2,0} & P_{2,1} & P_{2,2} & P_{2,3} \\ P_{3,0} & P_{3,1} &P_{3,2} & P_{3,3} \end{matrix}\right] \left[\begin{matrix} -1 & 3 & -3 & 1 \\ 3 & -6 & 3 & 0 \\ -3 & 3 & 0 & 0 \\ 1 & 0 & 0 & 0 \end{matrix}\right] \left[\begin{matrix} u^3\\ u^2 \\ u \\ 1 \end{matrix}\right] \]

  • 簡寫為

\[P(u,v)=UMPM^TV^T \]

遞歸細分

  • 采用四叉樹遞歸划分法細分曲面

曲面片的法向量

  • 曲面上一個細分點的\(u\)方向切向量為\(p_u\)\(v\)方向上的切向量為\(p_v\)

\[p_u=\frac{\partial p(u,v)}{\partial u}, p_v=\frac{\partial p(u,v)}{\partial v} \]

細分點在面上的法向量為:

\[N=\frac{\partial p(u,v)}{\partial v}\times \frac{\partial p(u,v)}{\partial v} \]

  • 雙三次曲面上法向量:

\[ p^`_u(u,v)= \left[\begin{matrix} 3u^2 & 2u & 1 &0 \end{matrix}\right]MPM^TV^T \]

\[ p^`_v(u,v)=UMPM^T \left[\begin{matrix} 3u^2 & 2u & 1 &0 \end{matrix}\right]^T \]

\[N=p^`_u(u,v)\times p^`_v(u,v) \]


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM