- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
Bezier曲线实验报告
1015403072任茜
一、实验目的
.
1、了解服装CAD中Bezier曲线的应用。
2、掌握Bezier曲线的基本原理和方法,了解Bezier曲线的特点。
3、运用VisualBasic6.0软件编写程序实现曲线的成功绘制,并认
识Bezier曲线的形状及特点。
二、实验原理
在空间给定n+1个点P0,P1,P2,,,Pn,称下列参数曲线为n次的Bezier曲线。
其中Ji,n(t)是Bernstein基函数,即
一般称折线P0P1P2…Pn为曲线P(t)的控制多边形;称点P0,P1,P2,…,Pn为P(t)的控制顶点。
在空间曲线的情况下,曲线P(t)=(x(t),y(t),z(t))和控制顶点Pi=(Xi,Yi,Zi)的关系用分量写出即
当t在区间[0,1]上变动时,就产生了Bezier曲线。若只考虑x和y,就是平面上的Bezier曲线。
以三次Bezier曲线为例,它可用矩阵形式表示如下
三、实验程序
Privatept()Asmypoint
PrivateSubForm_Load()
ReDimpt(1)
EndSub
PrivateSubPicture1_MouseDown(ButtonAsInteger,ShiftAsInteger,xAsSingle,yAsSingle)
DimsAsInteger
pt(UBound(pt)).x=x
pt(UBound(pt)).y=y
Picture1.Circle(x,y),15
s=Val(UBound(pt))
SelectCases
Case1
Case2
Case3
Case4
Case5
Case6
Case7
Case8
Case9
Case10
Case11
EndSelect
IfUBound(pt)1Then
Picture1.Line(pt(UBound(pt)-1).x,pt(UBound(pt)-1).y)-(pt(UBound(pt)).x,
pt(UBound(pt)).y)
EndIf
ReDimPreservept(UBound(pt)+1)
EndSub
PrivateSubCommand1_Click()
Dimi%,t#
Dimj,nAsInteger
Dims,x,yAsSingle
n=UBound(pt)-1-1
Forj=1To1000
x=0
y=0
Fori=0Ton
t=j/1000
x=x+pt(i+1).x*B(i,n,t)
y=y+pt(i+1).y*B(i,n,t)
Nexti
Picture1.PSet(x,y)
Nextj
EndSub
PrivateFunctionfact(nAsInteger)
DimiAsInteger
DimsAsLong
s=1
Fori=1Ton
s=s*i
Nexti
fact=s
EndFunction
PrivateF
文档评论(0)