- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、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;istep+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((i0))
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 =
您可能关注的文档
最近下载
- 第8课《我们受特殊保护》第3课时特殊关爱助我成长 课件 道德与法治六年级上册.ppt
- 室外电气管线技术交底.pdf VIP
- 2025至2030中国油气管道工程行业产业运行态势及投资规划深度研究报告.docx
- 填充改性讲义.ppt
- 《海洋石油工程设计指南》 第04册 平台结构设计完整版.doc VIP
- 第8课《我们受特殊保护》第3课时特殊关爱助我成长 课件 道德与法治六年级上册.pptx
- 2025人教版数学三年级上册 曹冲称象的故事1《质量单位的认识》(课件).pptx
- GBT 22239-2019 信息安全技术 网络安全等级保护 基本要求 v2.0.1.xlsx VIP
- 基于STM32的自动寻路消防小车的设计与实现.docx VIP
- 西师大版三年级上册数学应用题专项综合练习题.doc VIP
原创力文档


文档评论(0)