构造一条三次Bezier曲线
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了构造一条三次Bezier曲线相关的知识,希望对你有一定的参考价值。
题目:
给定四点P1(0,0,0),P2(1,1,1),P3(2,-1,-1),P4(3,0,0),用其作为特征多边形来构造一条三次Bezier曲线,并计算参数为0,1/3,2/3,1的值。
计算机专业 图形学 毕业清考例题 请各位答题时本着真诚负责的精神来 这次考试要是过不了 我就死惨了!就拿不到学位证啦~~~
叩谢各位大侠!悬赏!
双三次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)
\\]
以上是关于构造一条三次Bezier曲线的主要内容,如果未能解决你的问题,请参考以下文章