正弦曲线实验报告Visual c++可视化程序设计[实用论文].docVIP

正弦曲线实验报告Visual c++可视化程序设计[实用论文].doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
正弦曲线实验报告Visualc可视化程序设计[实用论文]

华 南 师 范 大 学 数 学 科 学 学 院 实 验 报 告 实验名称 实验物体沿正弦曲线运动 课程名称 Visual c++可视化程序设计 1.实验目的 (1)初步熟悉应用windows API函数进行编程的入门,编写简单的Windows应用程序,建立窗口、句丙,认知消息循环、画笔、画刷,建立坐标。 (2)实验物体沿正弦曲线运动,该物体为一个大小渐变以及颜色都会变化的小球,变化的的转折点是正弦曲线一个完整周期(2∏)里的四分之一,二分之一,和四分之三处(即∏/4; ∏/2; 3∏/4处) (3)通过放胶片电影的原理实现物体沿正弦曲线运动。胶片电影有原理是在规定时间(一般为1秒)播放24幅连续的画面,由于人的视觉暂留,所以人们在观看电影时,看到的就不是一幅一幅的画面,而是丰富精彩的场景。本程序通过调用sleep(100)函数使程序暂停0.1秒。当i100时调用InvalidateRect刷新用户区发送WM_PAINT消息,这样使得WM_PAINT处理程序不断被调用,像电影播放原理那样呈现动态效果。 2.实验环境(软件、硬件及条件) 硬件:基于CPU:P4 的lenove品牌PC机硬盘40G,内存512MB 软件Winxp操作系统.visual c++6.0编译平台 3.实验方法 (1)生成正弦曲线。把正弦曲线的横坐标分成100等分点,坐标计算如下: for(int j=0;j100;j++) { lpSin[j].x=(long)(j*2*Pi/100*60); lpSin[j].y=(long)(dfRange*sin(j*2*Pi/100)); } 振幅dfRange取为100。 (2)实现小球沿正弦曲线运动。具体做法是,数组lpSin[100]的100个位置中,分成四份,每份25个位置,每一个值是圆心移动的坐标位置。定义一个全局变量i在每个周期中记录和变动当前圆心的位置从而改变整个圆的位置。做法如下: long i=0,j=0,a=0;通过WM-PAINT处理调用BeginPaint函数获取设备环境句柄,全局变量i自增,在正弦曲线一个完整周期(2∏)里的四分之一时,编写代码如下: if(i25) { hPen=CreatePen(PS_DASH,1,RGB(255,0,0)); hBrush=CreateHatchBrush(HS_BDIAGONAL,RGB(255,0,0)); lRadious=(long)(dfRange*0.2+i%25*dfRange*0.4/25); } 实现红色小球渐变过程。 在正弦曲线一个完整周期(2∏)里的四分之二时,编写代码如下: else if(i50) { hPen=CreatePen(PS_DASH,1,RGB(0,255,0)); hBrush=CreateHatchBrush(HS_DIAGCROSS,RGB(0,255,0)); lRadious=(long)(dfRange*0.2+24%25*dfRange*0.4/25-i%25*dfRange*0.4/25); } 实现绿色小球渐变过程。 在正弦曲线一个完整周期(2∏)里的四分之三时,编写代码如下: else if(i75) { hPen=CreatePen(PS_DASH,1,RGB(0,0,255)); hBrush=CreateHatchBrush(HS_CROSS,RGB(0,0,255)); lRadious=(long)(dfRange*0.2+24%25*dfRange*0.4/25-24%25*dfRange*0.4/25-(i-25)%50*dfRange*0.4/25); } 实现蓝色小球渐变过程。 在正弦曲线一个完整周期(2∏)里的最后一个周期中,编写代码如下:else { hPen=CreatePen(PS_DASH,1,RGB(255,255,0)); hBrush=CreateHatchBrush(HS_VERTICAL,RGB(255,255,0)); lRadious=(long)(dfRange*0.2+24%25*dfRange*0.4/25-24%25*dfRange*0.4/25-49%50*dfRange*0.4/25+i%25*dfRange*0.4/25); } 实现黄色小球渐变过程。 (3)在认知程序的基础上实现小圆的往复循环运动,具体做法是:改为long i=0,j=0,a=0; ,把i++;改为 if(a%2==0) { i++; if(i==99) a++; } else { i--; if(i=

文档评论(0)

baoyue + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档