⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 2.7曲线生成与求交.htm

📁 计算机图形学教程计算机图形学教程
💻 HTM
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0058)http://www.ekany.com/wdg98/cg/contents/chapter2/les271.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><B>
<H2 align=justify><FONT face=楷体_GB2312 size=5><FONT size=5>2.7</FONT><FONT 
size=5>曲线生成与求交</FONT></FONT></H2>
<H3 align=justify><FONT face=楷体_GB2312 size=4>2.7.1 Bezier曲线生成</FONT></B></H3>
<P align=justify><FONT face=楷体_GB2312><FONT 
size=4>在空间给定<I>n+1</I>个点<I>P<SUB>0</SUB>,P<SUB>1</SUB>,P<SUB>2</SUB>,…,P<SUB>n</SUB></I>,称下列参数曲线为<I>n</I>次的Bezier曲线。</FONT></FONT><FONT 
face=System></P></FONT>
<P><FONT face=楷体_GB2312 size=4><IMG height=45 
src="2.7曲线生成与求交.files/Image107.gif" width=225></FONT></P>
<P align=justify><FONT face=楷体_GB2312><FONT size=4>其中<FONT face=宋体 size=3><IMG 
height=24 src="2.7曲线生成与求交.files/Image108.gif" 
width=45>是</FONT>Bernstein基函数,即</FONT></FONT></P><I>
<P><FONT face=楷体_GB2312 size=4><IMG height=26 
src="2.7曲线生成与求交.files/Image109.gif" width=144>,<IMG height=44 
src="2.7曲线生成与求交.files/Image110.gif" width=96>,  i=</FONT></I><FONT 
face=楷体_GB2312><FONT size=4>0,1,…<I>,n </I></FONT></FONT></P>
<P align=justify><FONT face=楷体_GB2312><FONT 
size=4>一般称折线<I>P<SUB>0</SUB>P<SUB>1</SUB>P<SUB>2</SUB>…P<SUB>n</SUB></I>为<I>P(t)</I>的控制多边形;称<I>P<SUB>0</SUB>,P<SUB>1</SUB>,P<SUB>2</SUB>,…P<SUB>n</SUB></I>各点为<I>P(t)</I>的控制顶点。</FONT></FONT></P>
<P align=justify><FONT face=楷体_GB2312><FONT size=4>Bezier</FONT><FONT 
size=4>曲线<I>P(t)</I>与其控制多边形的关系可以这样认为:如图2.7.1所示,控制多边形<I>P<SUB>0</SUB>P<SUB>1</SUB>P<SUB>2</SUB>…P<SUB>n</SUB></I>是<I>P(t)</I>的大致形状的勾画;<I>P(t)</I>是对<I>P<SUB>0</SUB>P<SUB>1</SUB>P<SUB>2</SUB>…P<SUB>n</SUB></I>的逼近。</FONT></FONT></P>
<P align=justify><FONT face=楷体_GB2312><FONT 
size=4>在实际应用中经常要将一段Bezier曲线分成两段。分成两段的曲线显然都是参数多项式曲线,它们可以表示成Bezier曲线的形式。怎样从原控制多边形求得分成的两段曲线的控制多边形可由Bezier曲线的离散性解决。</FONT></FONT></P><FONT 
face=System>
<P align=justify> </P></FONT>
<P align=center><FONT face=楷体_GB2312 size=4><IMG height=204 
alt="2_7_1.gif (3081 bytes)" src="2.7曲线生成与求交.files/2_7_1.gif" 
width=248></FONT></P>
<P align=center><FONT face=楷体_GB2312 size=4>图2.7.1</FONT></P>
<P align=justify><FONT face=楷体_GB2312 size=4>Bezier曲线的离散性(证明略) 
Bezier曲线P(t)经中点分割得到的两段曲线<IMG height=45 src="2.7曲线生成与求交.files/Image111.gif" 
width=106>和<IMG height=45 src="2.7曲线生成与求交.files/Image112.gif" 
width=104></FONT></P>
<P align=justify><FONT face=楷体_GB2312 size=4>可表示为:</FONT></P>
<P><FONT face=楷体_GB2312 size=4><IMG height=90 
src="2.7曲线生成与求交.files/Image113.gif" width=377></FONT></P>
<P align=justify><FONT face=楷体_GB2312><FONT size=4>其中<FONT size=3><IMG height=25 
src="2.7曲线生成与求交.files/Image114.gif" width=26>和<IMG height=25 
src="2.7曲线生成与求交.files/Image115.gif" width=37>由下列递推关系确定</FONT></FONT></FONT></P>
<P><FONT face=楷体_GB2312 size=4><IMG height=66 
src="2.7曲线生成与求交.files/Image116.gif" width=272></FONT></P>
<P align=justify><FONT face=楷体_GB2312><FONT size=4>其中</FONT> <FONT 
size=4><I>i=r,r+1,…,n</I>。</FONT></FONT></P>
<P align=justify><FONT face=楷体_GB2312><FONT 
size=4>将分割成的两段曲线继续不断地分割下去,所生成的控制顶点序列将收敛于曲线<I>P(t)</I>。,这一点称为Bezier曲线的收敛性。容易证明上述分割可推广为将<I>P(t)</I>分割为两段曲线<IMG 
height=24 src="2.7曲线生成与求交.files/Image117.gif" width=102>和<IMG height=24 
src="2.7曲线生成与求交.files/Image118.gif" 
width=98>。Bezier曲线具有的收敛性质,保证了在适当次数的分割之后,分得的每一段曲线都能由其两端点的连线所代替。所以可以利用Bezier曲线的离散性和收敛性来来生成Bezier曲线。对Bezier曲线进行适当次数的离散,当曲线和控制多边形两端点连线的距离小于给定的某个正数时,就可以用控制多边形的端点连线来代替曲线进行显示了。</FONT></FONT></P>
<P align=justify><FONT face=楷体_GB2312><FONT 
size=4>由于计算曲线与控制多边形端点连线比较麻烦,我们利用</FONT>Bezier<FONT 
size=4>曲线的凸包性质得到:</FONT></FONT></P>
<P align=justify><FONT face=楷体_GB2312><FONT 
size=4>d(P(t),P<SUB>0</SUB>P<SUB>n</SUB>)≤max(d(P<SUB>1</SUB>,P<SUB>0</SUB>P<SUB>n</SUB>),…,d(P<SUB>n-1</SUB>,P<SUB>0</SUB>P<SUB>n</SUB>))</FONT></FONT></P>
<P align=justify><FONT face=楷体_GB2312><FONT 
size=4>上式表明:Bezier曲线到控制多边形端点连线的距离不大于其它控制顶点到控制多边形端点连线的距离的最大值。由于不等式的右边计算比较简单,所以常用它来估计Bezier曲线到控制多边形端点连线的距离。</FONT></FONT></P>
<P> </P>
<P><A href="http://www.ekany.com/wdg98/cg/contents/chapter2/les263.htm"><FONT 
face=楷体_GB2312>&lt;上一节〉</FONT></A><FONT face=楷体_GB2312>&nbsp;&nbsp;&nbsp; <A 
href="http://www.ekany.com/wdg98/cg/contents/chapter2/les272.htm">〈下一节〉</A> 
&nbsp;&nbsp;&nbsp; <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 + -