科学计算与模拟讲稿.docVIP

  1. 1、本文档共16页,可阅读全部内容。
  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文档。上传文档
查看更多
《科学计算与模拟》编程讲稿 一、平台介绍 在本平台下学习计算与模拟编程,是按照中国数字教学工作室创立的独特的学习方法和模式来进行的,与通常学院式的学习方式完全不同。这是每一个初学者必须清楚了解的,否则将事倍功半。 本工作室创立的独特的学习方法和模式有如下几个要点: 1. 从操作使用样例入门,以样例为模板进行修改或添加,为了保持原样例文件完整无损,请使用复制后的样例文件来做学习用的工作文件; 2. 修改或添加的方法是参看输出功能函数表或样例文件,直接复制所需的程序段到当前使用的工作文件中,当你能熟练地成功实现20个样例的修改或添加,你就会初步掌握独立编程的技巧了; 3. 右方参数及程序控制界面的设置直接在记事本文件controls 和WizSoft中输写汉字或数字,我们称之为“加减法”,请记住“加减法”是学习本平台的基本方法; 4. step是本平台自带的当前时间,它代替了一个时间的循环运行,程序员还可以仿照 step自行定义或添加其他的自动循环变量如step1、t等等; 5. 完成一个程序后,可重新命名并保存,再从样例中选择一个文件复制作为工作文件。 在实际操作中请按如下步骤进行: 1. 从样例中选择一个文件复制作为工作文件; 2. 打开工作文件包,用鼠标双击WizSoft.dsw, 随即进入VC++; 3. 初学者对源程序绝对不能分散注意力,而只要专门关注绘制场景部分: //绘制场景 void demoApp::RenderScene int sceneIndex ***************** ***************** 而其余部分可暂时不去理会它,这一点要切切记住!上面程序中大括号内的内容是我们必须学会的,一般来说它有四个部分: (1)变量定义;(2)变量赋值;(3)循环计算;(4)结果输出。 下面举例说明 (1)变量定义 Point3f p , q[2],s[100][100]; //定义三维的点、点组、平面网格点。 Color4f color , color1[2], color2[100][100]; //定义四维的颜色(红、黄、蓝、透明度) Orient direct; //定义方向() int i,j; //定义整型变量 float a, b, PI 3.1415926; //定义实型变量 (2)变量赋值 点的赋值 p 0.0f, 0.0f, -60.0f ; 或者 p.x 0.0f; p.y 0.0f; p.z -60.0f; 颜色的赋值 color 1.0f, 0.7f, 0.8f, 1.0f ; 或者 color.r 1.0f; color.g 0.7f; color.b 0.8f; color.alpha 1.0f; 方向的赋值 direct 0.0f, 0.0f ; 或者 direct.theta 0.0f; direct.pha 0.0f; //角度 (3)循环计算 for i 0;i step+1;i++ p[i].x -90+i*0.1*P_radius; p[i].y 65; p[i].z 0; q[i].x -90; q[i].y 65-i*0.1*P_omega-0.0005*V*i*i; q[i].z 0; s[i].x p[i].x+q[i].x+90; s[i].y p[i].y+q[i].y-65; s[i].z 0; v1 0.1*P_omega+0.01*V*i; v2 0.1*P_radius; v sqrt 0.01*P_radius*P_radius+pow 0.1*P_omega+0.01*V*i,2 ; glt::DisableLight ; if i 0 draw::Line s[i-1],s[i],color2 ; // 画轨迹 glt::EnableLight ; draw::Balls 1,p+int step , X, 32, 32, color ; //画当前位置 draw::Balls 1,q+int step , X, 32, 32, color3 ; draw::Balls 1,s+int step , X, 32, 32, color2 ; (4)结果输出:请参看样例或输出函数表,并从中复制所选择的函数到当前工作文件中。注意画当前对象位置请在循环括号外输出;画轨迹请在循环内输出(见上(3)中的例子)。 4. 选择可调参数连接滑动条或设置控制键 滑动条变量名为P_radius,P_omega ,V ,X 4。如要增加,可自己取名,但要在程序最前面中定义。如: float M,

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档