贝塞尔曲线及插值

贝塞尔曲线及插值

ID:11453263

大小:133.00 KB

页数:12页

时间:2018-07-12

贝塞尔曲线及插值_第1页
贝塞尔曲线及插值_第2页
贝塞尔曲线及插值_第3页
贝塞尔曲线及插值_第4页
贝塞尔曲线及插值_第5页
资源描述:

《贝塞尔曲线及插值》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、贝塞尔曲线及插值2010-07-0121:41        贝塞尔曲线介绍可参考中文维基百科,图文并茂,这里就不啰嗦了http://zh.wikipedia.org/zh-cn/%E8%B2%9D%E8%8C%B2%E6%9B%B2%E7%B7%9A     这里主要讲一下如何在excel及vb中实现贝塞尔曲线插值,程序来源于互联网(程序作者:海底眼(Mr.DragonPan在excel中用宏实现),本文作为少量修改,方便在vb中调用,经运行证明是没错的,下面程序可作成一个模块放到vb或vba中调用:      -----------------

2、--------------------------------------------------------------------'  Excel的平滑线散点图,可以根据两组分别代表X-Y坐标的散点数值产生曲线图'  但是,却没有提供这个曲线图的公式,所以无法查找曲线上的点坐标'  后来我在以下这个网页找到了详细的说明和示例程序'  ..............................................................................'  http://www.xlrotor.com/Sm

3、ooth_curve_bezier_example_file.zip'  ..............................................................................'  根据其中采用的算法,进一步增添根据X坐标求Y坐标,或根据Y坐标求X坐标,更切合实际需求'  这个自定义函数按照Excel的曲线算法(三次贝塞尔分段插值),计算平滑曲线上任意一点的点坐标''  Excel的平滑曲线的大致算法是:'  给出了两组X-Y数值以后,每一对X-Y坐标称为节点,然后在每两个节点之间画出三次贝塞尔

4、曲线(下面简称曲线)'  贝塞尔曲线的算法网上有很多资源,这里不介绍了,只作简单说明'  每条曲线都由四个节点开始,计算出四个贝塞尔控制点,然后根据控制点画出唯一一条曲线'  假设曲线的源数据是节点1,节点2,节点3,节点4(Dot1,Dot2,Dot3,Dot4)'  那么贝塞尔控制点的计算如下               '  Dot2是第一个控制点,也是曲点的起点,Dot3是第四个控制点也是曲线的终点''  第二个控制点的位置是:'    过第一个控制点(Dot2,起点),与Dot1,Dot3的连线平行,且与Dot2距离为1/6*线段Dot1

5、_Dot3的长度'      假如是图形的第一段曲线,取节点1,1,2,3进行计算,即Dot2=Dot1'      且第二个控制点与第一控制点距离取1/3*

6、Dot1_Dot3

7、,而不是1/6*

8、Dot1_Dot3

9、'      假如1/2*

10、Dot2_Dot3

11、<1/6*

12、Dot1_Dot3

13、'      那么第二个控制点与第一控制点距离取1/2*

14、Dot2_Dot3

15、,而不是1/6*

16、Dot1_Dot3

17、''  第三个控制点的位置是:'      过第四个控制点(Dot3,终点),与Dot2,Dot4的连线平行,且与Dot3距离为1/6*

18、D

19、ot2_Dot4

20、'      假如是图形的最后一段曲线,取节点Last-2,Last-1,Last,Last进行计算,即Dot4=Dot3'      且第三个控制点与第四控制点距离取1/3*

21、Dot2_Dot4

22、,而不是1/6*

23、Dot2_Dot4

24、'      假如1/2*

25、Dot2_Dot3

26、<1/6*

27、Dot2_Dot4

28、'      那么第二个控制点与第一控制点距离取1/2*

29、Dot2_Dot4

30、,而不是1/6*

31、Dot2_Dot4

32、'...................................................

33、............................................'  这个自定义函数的计算流程是'  Step1:检查输入的X-Y数值是否有错误,如(输入不够三个点,X-Y的数量不一致,起始搜索节点超过范围等等)'  Step2:从参数指定的节点开始,计算出四个贝塞尔控制点,得到贝塞尔插值多项式方程,'   然后代入已知的待求数值,看它能不能满足f(t)=0有解(即曲线包含待查数值)'  Step3:如果f(t)=0有解,根据解出来的t值计算X-Y坐标,退出程序,否则继续检查下一段曲线'  Step4:如果所有分段曲线都不包

34、含待查数值,退出程序'..................................................

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

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

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