双三次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>
<p>[ 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) ]
Original: https://www.cnblogs.com/brilliantM/p/14782187.html
Author: 帅气无敌朋子
Title: 双三次Bezier曲面算法
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/685971/
转载文章受原作者版权保护。转载请注明原作者出处!