📄 2.7.2 b样条曲线生成.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0058)http://www.ekany.com/wdg98/cg/contents/chapter2/les272.htm -->
<HTML><HEAD><TITLE>2</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="MSHTML 6.00.2800.1106" name=GENERATOR></HEAD>
<BODY>
<H3 align=justify><B><FONT face=楷体_GB2312 size=4>2.7.2 B样条曲线生成</FONT></B></H3>
<P align=justify><FONT face=楷体_GB2312><FONT size=4>设<FONT face=宋体 size=3><IMG
height=21 src="2.7.2 B样条曲线生成.files/Image144.gif"
width=129>为给定空间的</FONT><I>n</I>个点,<I>T={t<SUB>i</SUB>}</I>,,<IMG height=25
src="2.7.2 B样条曲线生成.files/Image145.gif"
width=62>,i=0,±1,±2,…,为参数<I>t</I>轴上的一个分割,称下列参数曲线</FONT></FONT></P>
<P><FONT face=楷体_GB2312 size=4><IMG height=45
src="2.7.2 B样条曲线生成.files/Image146.gif" width=248>(2-7-1)</FONT></P>
<P align=justify><FONT face=楷体_GB2312><FONT
size=4>为<I>k</I>阶(或k-1次)B样条曲线,其中<I>B<SUB>i,k</SUB>(t)</I>为<I>k</I>阶<I>B</I>样条基函数:</FONT></FONT></P>
<P align=justify><FONT face=楷体_GB2312 size=4> <FONT size=3><IMG height=50
src="2.7.2 B样条曲线生成.files/Image147.gif" width=208></FONT></FONT></P><FONT face=宋体
size=3>
<P></FONT><FONT face=楷体_GB2312 size=4> <FONT size=3><IMG height=45
src="2.7.2 B样条曲线生成.files/Image148.gif" width=421></FONT></FONT></P>
<P align=justify><FONT face=楷体_GB2312><FONT size=4>在上述递推关系中如遇<FONT face=宋体
size=3><IMG height=41 src="2.7.2 B样条曲线生成.files/Image149.gif"
width=14>,则取其结果为</FONT>0。称折线<I>P<SUB>1</SUB>P<SUB>2</SUB>…P<SUB>n</SUB></I>为<I>P(t)</I>的控制多边形,点集{<I>P<SUB>i</SUB></I>}为<I>P(t)</I>的控制顶点,<I>t<SUB>i</SUB></I>为节点,T称为节点向量。</FONT></FONT></P>
<P align=justify><FONT face=楷体_GB2312><FONT size=4>B</FONT>样条曲线的计算可采用如下方法:对<FONT
size=4><FONT face=宋体 size=3><IMG height=24
src="2.7.2 B样条曲线生成.files/Image150.gif" width=77></FONT> (<FONT face=宋体
size=3><IMG height=21 src="2.7.2 B样条曲线生成.files/Image151.gif"
width=64></FONT>),令</FONT></FONT></P>
<P><FONT face=楷体_GB2312 size=4><IMG height=85
src="2.7.2 B样条曲线生成.files/Image152.gif" width=346></FONT></P>
<P align=justify><FONT face=楷体_GB2312><FONT
size=4>则(2-7-1)式可表示成</FONT></FONT><FONT face=System></P></FONT>
<P><FONT face=楷体_GB2312 size=4><IMG height=49
src="2.7.2 B样条曲线生成.files/Image153.gif" width=273></FONT></P>
<P align=justify><FONT face=楷体_GB2312 size=4>反复运用此公式,可得<IMG height=26
src="2.7.2 B样条曲线生成.files/Image154.gif"
width=104>,于是<I>P(t)</I>的值可以通过递推关系式(2.13)求得,这就是著名的deBoor算法。</FONT></P>
<P align=justify><FONT face=楷体_GB2312><FONT size=4>对于四阶B样条曲线,由de
Boor算法易知下列公式成立:</FONT></FONT></P>
<OL>
<LI><FONT face=楷体_GB2312 size=4><IMG height=26
src="2.7.2 B样条曲线生成.files/Image155.gif" width=117></FONT> </LI></OL>
<BLOCKQUOTE>
<P><FONT face=楷体_GB2312 size=4><IMG height=26
src="2.7.2 B样条曲线生成.files/Image156.gif" width=136></FONT></P></BLOCKQUOTE>
<OL start=2>
<LI><FONT face=楷体_GB2312 size=4><IMG height=26
src="2.7.2 B样条曲线生成.files/Image157.gif" width=188></FONT> </LI></OL>
<BLOCKQUOTE>
<P><FONT face=楷体_GB2312 size=4><IMG height=26
src="2.7.2 B样条曲线生成.files/Image158.gif" width=217></FONT></P></BLOCKQUOTE>
<P><FONT face=楷体_GB2312 size=4> </FONT></P>
<P align=justify><FONT face=楷体_GB2312><FONT size=4>由于P(t)在区间(<IMG height=24
src="2.7.2 B样条曲线生成.files/Image159.gif"
width=76>)上是三次多项式,所以以上两个性质表明:这段曲线可以表示为Bezier曲线,控制顶点为<IMG height=26
src="2.7.2 B样条曲线生成.files/Image160.gif" width=53>,<IMG height=26
src="2.7.2 B样条曲线生成.files/Image161.gif" width=53>,<IMG height=26
src="2.7.2 B样条曲线生成.files/Image162.gif" width=62>,<IMG height=26
src="2.7.2 B样条曲线生成.files/Image163.gif" width=62>。</FONT></FONT></P>
<P align=justify><FONT face=楷体_GB2312><FONT
size=4>可见,可以用deBoor算法将B样条曲线转化为若干段Bezier曲线。于是可以将B样条曲线的生成问题转化为Bezier曲线的生成问题。</FONT></FONT><FONT
face=System size=5><B></P></B></FONT><FONT face=宋体>
<P align=justify></FONT><FONT face=楷体_GB2312 size=4> </FONT></P>
<P><A href="http://www.ekany.com/wdg98/cg/contents/chapter2/les271.htm"><FONT
face=楷体_GB2312><上一节〉</FONT></A><FONT face=楷体_GB2312> <A
href="http://www.ekany.com/wdg98/cg/contents/chapter2/les273.htm">〈下一节〉</A>
<A
href="http://www.ekany.com/wdg98/cg/tutorial/chapter2/lesson2-7.htm">〈返回〉</A></FONT></P></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -