ImageVerifierCode 换一换
格式:DOCX , 页数:9 ,大小:440.72KB ,
资源ID:25306292      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/25306292.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(三次Bezier曲线.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

三次Bezier曲线.docx

1、三次Bezier曲线三次Bezier曲线一、程序设计功能:1.设计绘图窗口,能实现数据的多次输入;2.具有多次绘图功能,能实现不同数据的绘图;3.具有清屏功能,在画完该次图形后,清除图像并重建坐标系,4.具有数据完整性检测功能,当数据输入不完整时,通过弹窗提示用户数据输入不完整。二、程序设计思想:先在草稿纸上求出三次Bezier曲线的各坐标参数前的系数表达式:a1 = -px(0) + 3 * px(1) - 3 * px(2) + px(3) b1 = 3 * px(0) - 6 * px(1) + 3 * px(2) c1 = -3 * px(0) + 3 * px(1) d1 = px(

2、0) a2 = -py(0) + 3 * py(1) - 3 * py(2) + py(3) b2 = 3 * py(0) - 6 * py(1) + 3 * py(2) c2 = -3 * py(0) + 3 * py(1) d2 = py(0)然后根据三次Bezier曲线的特点来定义为以u为变量的函数,然后根据取点速率的不同来绘制相应四个顶点的曲线。三、程序代码:Private Sub Command1_Click() = 2 = 12 此处定义绘制坐标系时的字体大小,因为后面程序要用到字体设置,故此处字体设置要重新声明,不可用系统默认的字体,否则再次绘制图形时,坐标由于字体过大而很难看

3、(-300, 300)-(300, -300) 定义PictureBox坐标系 (-300, 0)-(300, 0) (0, 300)-(0, -300) VB编译系统中,其默认的是在Form(窗体)中画图,当需要在其他属性框中画图时,需要加上其对应的属性框名称 = 270: = 40: X = 15: = 285: Y = 9 坐标上的数字字体小一些For i = -280 To 280 Step 40 (i, 0)-(i, 8) = i - 12: = -5: iNext iFor j = -280 To -40 Step 40 (0, j)-(8, j) = -28: = j + 10:

4、 jNext jFor j = 40 To 280 Step 40 (0, j)-(8, j) = -28: = j + 10: jNext j Dim px(4) As Double 定义控制点的x坐标的数组 Dim py(4) As Double 定义控制点的y坐标的数组 Dim a1, b1, c1, d1 As Double 定义x系数 Dim a2, b2, c2, d2 As Double 定义y系数 Dim x, y, u As Double 定义曲线中的自变量u和变量x,y If (Not IsNumeric(Text1) Or Not IsNumeric(Text2) Or

5、Not IsNumeric(Text3) Or Not IsNumeric(Text4) _ Or Not IsNumeric(Text5) Or Not IsNumeric(Text6) Or Not IsNumeric(Text7) Or Not IsNumeric(Text8) ThenMsgBox 对不起!系统检测到数据输入不完整,请您输入完整后绘图。谢谢配合!, , 友情提示Else px(0) = : py(0) = px(1) = : py(1) = px(2) = : py(2) = px(3) = : py(3) = = 18 设置字体,为显示输入的四个点设置字体大小 = p

6、x(0): = py(0): P; 0 P0单独打印 For i = 0 To 2 = (px(i), py(i)-(px(i + 1), py(i + 1), vbGreen: P; i + 1 P1,P2,P3用for循环打印 Next i For i = 0 To 3 绘制四个圆点,此处代码可优化,亦可用circle语句画小圆后填充颜色 = 7 (px(i), py(i)-(px(i) + 1, py(i) - 1) Next i a1 = -px(0) + 3 * px(1) - 3 * px(2) + px(3) 计算x和y的参数 b1 = 3 * px(0) - 6 * px(1)

7、 + 3 * px(2) c1 = -3 * px(0) + 3 * px(1) d1 = px(0) a2 = -py(0) + 3 * py(1) - 3 * py(2) + py(3) b2 = 3 * py(0) - 6 * py(1) + 3 * py(2) c2 = -3 * py(0) + 3 * py(1) d2 = py(0) For u = 0 To 1 Step 每当u增加求一次x和y x = a1 * u 3 + b1 * u * u + c1 * u + d1 求x的值 y = a2 * u 3 + b2 * u * u + c2 * u + d2 求y的值 If u

8、 = 0 Then = x 设置画线起点 = y Else = 3 -(x, y), RGB(255, 0, 0)连点成线 End If Next uEnd IfEnd SubPrivate Sub Command2_Click() 用于清空输入数据 = = = = = = = = End SubPrivate Sub Command3_Click() 清屏后再次绘制坐标系 = 2 = 12 此处定义绘制坐标系时的字体大小,因为后面程序要用到字体设置,故此处字体设置要重新声明,不可用系统默认的字体,否则再次绘制图形时,坐标由于字体过大而很难看 (-300, 300)-(300, -300) 定

9、义PictureBox坐标系 (-300, 0)-(300, 0) (0, 300)-(0, -300) VB编译系统中,其默认的是在Form(窗体)中画图,当需要在其他属性框中画图时,需要加上其对应的属性框名称 = 270: = 40: X = 15: = 285: Y = 9For i = -280 To 280 Step 40 (i, 0)-(i, 8) = i - 12: = -5: iNext iFor j = -280 To -40 Step 40 (0, j)-(8, j) = -28: = j + 10: jNext jFor j = 40 To 280 Step 40 (0,

10、 j)-(8, j) = -28: = j + 10: jNext jEnd SubPrivate Sub Form_Load() 预输入数据,避免调试时多次输入数据,其随窗体运行而显示 = -260: = -230 冒号用于多条语句并行书写,以减小代码所占空间 = 260: = -230 = 200: = 230 = -260: = 230End SubVB程序运行结果图片展示:第三次程序设计心得在三次Bezier曲线的程序设计中,明白了计算机对于图行处理的能力是相当强的。对于VB而言,其能根据取点速率的不同而精确确定相应图形的图像,能很好的满足人们在日常工作中的图像需求。在本次程序设计中花

11、费了大量时间在程序优化上,特别是在界面美化上。因为我始终觉得一个良好的可执行程序不仅要具有精确计算的能力及绘图能力,还应该具有良好的用户体验界面,真正让用户在使用该程序时能有愉悦爽朗的心情。这是我认为的CAD辅助设计的本质。在具体界面美化过程中,我查找了大量的背景图片,最后选定了一张自然风景为背景。因为一张好的背景图片不仅能给人良好的审美愉悦感,而且能让工作者在枯燥的工作中心生美意,同时能给予人心灵的绿意。这是我在CAD课程中所学到的课外知识。作为机械工作人员,不仅要具有严谨的工作思维,还要具有良好的审美观。这样才能让我们在工作中不缺乏美感,不感到枯燥,更不会让同学及朋友觉得我们思维机械。我所追求的是那种轻松学习,快乐工作的愉悦感。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1