《曲线和曲面》word版

《曲线和曲面》word版

ID:29645453

大小:633.50 KB

页数:56页

时间:2018-12-21

《曲线和曲面》word版_第1页
《曲线和曲面》word版_第2页
《曲线和曲面》word版_第3页
《曲线和曲面》word版_第4页
《曲线和曲面》word版_第5页
资源描述:

《《曲线和曲面》word版》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、曲线和曲面第一节Hermite多项式1.1三次Hermite多项式Hermite多项式是非常有用的曲线形式。三次Hermite多项式就是一类常用的曲线,因为它们提供了对形状的局部控制,并且提供了C1连续性。若给定参数方程f(t)在起点和终点的位置、和一阶导数、,则可以利用下式构造一个三次Hermite多项式:(1)式中式(t)就是对于函数f(t)的Hermite插值多项式,矩阵H称为Hermite矩阵绘制三次Hermite曲线,用户必须指定位置和导数。一种方式是通过用户通过鼠标确定曲线的起点和终点的位置,并给出起点和终点的导数,可给出三次Hermite多项式所需的插值

2、信息。1.2Hermite曲线绘制的程序设计根据给出的三次Hermite多项式,利用逐点绘制的方法即可实现三次Hermite多项式的绘制。程序“Hermite”的设计步骤如下:(1)创建工程名称为“Hermite”单文档应用程序框架。(2)添加消息处理函数。利用ClassWizard(类向导)为应用程序添加与菜单项相关的消息处理函数,ClassName栏中选择CHermiteView,根据表1建立如下的消息映射函数,ClassWizard会自动完成有关的函数声明。表1菜单项的消息处理函数标示符ID消息消息处理函数CHermiteViewWM_LBUTTONDOWNOn

3、LButtonDown(UINTnFlags,CPointpoint);CWM_LBUTTONUPOnLButtonUp(UINTnFlags,CPointpoint);HermiteViewCHermiteViewWM_MOUSEMOVEOnMouseMove(UINTnFlags,CPointpoint);(1)添加函数。在工程中添加应用函数的方法,这里先在HermiteView.h中声明需要使用的函数名称,然后再在HermiteView.cpp中定义此函数。//HermiteView.h:interfaceoftheCHermiteViewclass//////

4、/////////////////////////////////////////////////////////////////////////constintN=3;//N次Hermite曲线constintnpoints=50;//由npoints+1个点构成的折线逼近Hermite曲线classPoint//二维平面点Point类{public:doublex,y;//二维平面中的点坐标为双精度浮点小数Point(){x=0;y=0;};//构造函数Point(double_x,double_y){x=_x;y=_y;};//构造函数Point(CPointp

5、){x=p.x;y=p.y;};//构造函数inlinePointoperator=(Pointp){x=p.x;y=p.y;return(*this);};//Point对象的赋值运算inlinePointoperator=(CPointp){x=p.x;y=p.y;return(*this);};//CPoint对象的赋值运算inlinePointoperator+=(Pointp){x+=p.x;y+=p.y;return(*this);};//重载+=运算inlinePointoperator+=(CPointp){x+=p.x;y+=p.y;return(*

6、this);};//重载+=运算inlinePointoperator-=(Pointp){x-=p.x;y-=p.y;return(*this);};//重载-=运算inlinePointoperator-=(CPointp){x-=p.x;y-=p.y;return(*this);};//重载-=运算inlinePointoperator*=(doubles){x*=s;y*=s;return(*this);};//重载*=运算inlinePointoperator/=(doubles){x/=s;y/=s;return(*this);};//重载/=运算inli

7、nePointoperator+(Pointp){Pointt;t.x=x+p.x;t.y=y+p.y;return(t);};//重载+运算inlinePointoperator+(CPointp){Pointt;t.x=x+p.x;t.y=y+p.y;return(t);};//重载+运算inlinePointoperator-(Pointp){Pointt;t.x=x-p.x;t.y=y-p.y;return(t);};//重载-运算inlinePointoperator-(CPointp){Pointt;t.x=x-p.x;t.y=y-p.y

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。