网站地图
范文同学网


自动化 模具 机械 电子 通信 动画 英语范文 工程管理 金融范文 旅游管理 工业工程 生物工程 给排水范文 西门子PLC 历史学 三菱PLC
单片机 财务 会计 法律 行政 物理 物流范文 电子商务 制药工程 包装工程 土木工程 材料科学 汉语言范文 欧姆龙PLC 电压表 松下PLC
计算机 化工 数电 工商 食品 德语 国贸范文 人力资源 教育管理 交通工程 市场营销 印刷工程 机电一体化 数控范文 变电站 文化产业

  • 网站首页|
  • 文档范文|
  • 人工降重|
  • 职称文章发表|
  • 合作期刊|
  • 范文下载|
  • 计算机范文|
  • 外文翻译|
  • 免费范文|
  • 原创范文|
  • 开题报告

联系方式

当前位置:范文同学网 -> 免费范文 -> 计算机范文 -> 免费基于细胞自动机的生命活力模拟的实现(四)
计算机文章范文| ASP设计| Delphi| VB设计| JSP设计| ASP.NET| VB.NET| java设计| VC| pb| VS| dreamweaver| c#.net| vf| VC++| 计算机文档范文| 范文下载| 自动化范文
·电气自动化原创文章范文 ·学前教育专业原创文章范文 ·国际经济贸易原创文章范文 ·药学专业原创文章范文 ·英语专业原创文章范文 ·公共事业管理原创文章范文
·金融专业原创文章范文 ·广播电视编导原创文章范文 ·电子商务专业原创文章范文 ·法律专业原创文章范文 ·工商管理原创文章范文 ·汉语言文学原创文章范文
·人力资源管理原创文章范文 ·摄影专业原创文章范文 ·心理学专业原创文章范文 ·教育管理原创文章范文 ·市场营销原创文章范文 ·计算机专业原创文章范文
·物流管理专业原创文章范文 ·小学教育专业原创文章范文 ·行政管理专业原创文章范文 ·土木工程管理原创文章范文 ·财务会计专业原创文章范文 ·信息管理信息系统原创范文
·新闻学专业原创文章范文 ·眼视光技术原创文章范文 ·播音与主持原创文章范文 ·广告学专业原创文章范文 ·表演专业原创文章范文 ·动画专业原创文章范文
·视觉传达设计原创文章范文 ·数控技术专业原创文章范文 ·录音艺术原创文章范文 ·光机电应用技术原创范文 ·机电一体化原创文章范文 ·印刷技术专业原创文章范文
·动漫设计与制作原创范文 ·软件技术专业原创文章范文 ·书法学专业原创文章范文 ·应用电子技术原创文章范文 ·电子信息工程技术原创范文 ·机械专业原创文章范文
·酒店管理专业原创文章范文 ·旅游管理专业原创文章范文 ·文化产业管理专业原创范文 ·体育教育专业原创文章范文 ·通信工程专业原创文章范文 ·护理专业原创文章范文

原创文档范文 → 计算机专业原创文档范文 软件技术专业原创文档范文  现成文档范文 → 计算机文档范文

免费基于细胞自动机的生命活力模拟的实现(四)

本文ID:LW6234 ¥
巧,由于画布是黑色的,我们可以制作一个尺寸和个体图片尺寸一样大小的的黑色图片,把它覆盖在原来的区域,就等于把这个个体擦除了。这个方法不需要刷新整个屏幕,而且,只对小区域的图形进行操作,大大提高了系统的性能。下面是这个想法的算法实现(为了提高系统的性能,我使用了双缓冲技术): 算法描述: Begin (1)..
巧,由于画布是黑色的,我们可以制作一个尺寸和个体图片尺寸一样大小的的黑色图片,把它覆盖在原来的区域,就等于把这个个体擦除了。这个方法不需要刷新整个屏幕,而且,只对小区域的图形进行操作,大大提高了系统的性能。下面是这个想法的算法实现(为了提高系统的性能,我使用了双缓冲技术):
 算法描述:
 Begin
 (1)首先把cell里的信息复制到workcopy里。
 (2)载入你想在屏幕上显示的图片,建立虚拟画布。
 (3)对绘画区域上的位置逐个进行判断。如果这个位置下一代有而上一代没有的话,就绘制一个图形;如果这个位置下一代没有而上一代有的话,就擦除上面的图形。
 End
 请看通用模块显示部分算法流程图5

图5 通用模块显示部分算法流程图
 总结
 这个模块之所以有一定的通用性是因为它的显示不受任何规则的影响,也就是说它是一个独立的函数。绘制的个体也可以多种多样,不一定非要是一个小球,你甚至可以定义一个坦克的小图品,没有问题,只要您的图片是正方形的,而且图片的长度能满足下面这个公式:
 600 % 图片长度(像素点) == 0 (因为绘图区域的长度是600个像素点)。这就说明了它的两个组成部分都是独立的。如果您要实现的算法满足我上面列出的三个特征,您可以使用这个通用模块,并添加一些辅助的规则,轻易实现这个算法。
 2.2 生命游戏的实现
 算法描述(这里,离散个体这个称呼我们改成细胞):;
 Begin
 (1)初始化。把cell 数组的每一个元素都设置成0.设置相关的变量,如临时变量、记录坐标的变量等。
 (2)对cell 数组进行随机赋值,只能是0和1.
 (3)备份cell 数组的信息到workcopy 数组里。
 (4)对cell 数组的每个元素逐个计算。取得这个细胞上、下、左、右的坐标值。如果数组元素已遍历完,则直接到End.
 (5)利用这些坐标值求出生存邻居的个数
 (6)结合邻居个数和约束条件,如果细胞是活的,那么当它有2到3个邻居时就可以继续生存下去. 否则只能死亡或者当原来没有细胞生存时,当它的邻居是3时,也可以产生出一个细胞.其他情况一律死亡。把这些信息记录到cell数组上。返回到(4)。
 End
 收集邻居个数

 

图6 生命游戏中收集邻居个数的算法流程图

 


按规则演化

图7 生命游戏中细胞按规则演化的算法流程图
 注意:算法流程图中出现的变量名解释:
 h_i 是二维矩阵的行号;h_j是二维矩阵的列号; top 存储当前细胞上一行的行号坐标;
 bottom 存储当前细胞下一行的行号坐标; left 存储当前细胞前一列的列号坐标;
 right 存储当前细胞后一列的列号坐标;z是矩阵的边界
 处理了cell数组以后,我们就可以使用通用模块中的Display函数把它的状态绘制出来。至此,完成了生命游戏的程序设计。请看程序运行的截图 图8:

图8 生命游戏
 2.3 一维通用细胞自动机(CA)的实现
 生命游戏其实是一维细胞自动机的一个特殊的例子。它能实现比一维细胞自动机更生动直观和奇幻的图形。但是,由于一维细胞自动机规则简单、现象直观,故而人们对它进行了深入的研究,而且,沃夫拉姆的四种分类也是建立在一维细胞自动机的基础之上。它的理论基础可参照本范文第一章第二节。所以,有必要实现一维细胞自动机模型。
 一维细胞自动机的算法描述:
 Begin
 (1)随机生成第一代的细胞:先在绘制区域的最后一行,也就是矩阵数组的最后一行进行一次随机生成细胞操作。
 (2)从第二行开始,把整个区域往上挪一行
 (3)根据一维细胞自动机的规则和上一代的细胞状态,计算出下一代的细胞状态。并放置在cell数组的最后一行里。
 根据cell数组的信息,绘制出相应的图形并返回到(2)步骤。
 End
 在这里,我们有必要对一维细胞自动机的规则作出解释,请先参看第一章第三节对规则的解释,上面是以一维细胞自动机为例的,也详细阐述了其规则的原理。下面简单其规则产生的算法:
 一维细胞自动机规则生成算法描述:
 Begin
 (1)取得使用者给出规则的十进制表达形式。
 (2)使用相关的函数把十进制值转化成二进制(具体语言不一样,可参照本文档设计源程序的trun_this_on() 函数)。
 (3)把这个二进制值每一位分别拆开,放到数组里以便使用。
 End

 图9 一维细胞自动机演化规则号转化为二进制值的算法流程图
 

 图10 一维细胞自动机算法流程图
 注意:算法流程图中出现的变量名解释:f、k、a和b 是临时变量 ,abc是存放二进制位的一个数组。
 完成程序设计工作,请看程序运行截图 图11:

图11 一维细胞自动机
 2.4 分子热运动模拟
 由于上面的章节没有提到分子热运动,所以这里需要解释一下。我们还是使用原来的通用模块来对分子热运动这个物理现象进行模拟。这里,离散个体的称呼改成小分子。因为分子运动性质和上面的细胞有点区别,每个分子都必须有自己的运动方向和当前以及下一步的坐标,所以使用了一个结构体来存储这些信息。当然,我们对这群分子的状态的显示离不开cell数组,cell 属于通用模块的第一个组成部分。我们可以这样定义这个数据结构:
 public struct qiuti
 {
 public int x; //这个小分子当前的坐标值   
 public int y;
 public int fang; //指示这个小分子当前的的运动方向      
 }
 我们用上面的结构体定义一个结构体数组,来存储所产生的分子的信息(信息指这个分子下一步的坐标和方向)。
 public  qiuti[] fenzi = new  qiuti[15000];
 分子随机热运动模拟程序算法描述:
 (1)在cell数组上随机生成小分子的坐标和方向。
 (2)把这些信息记录在我们定义的结构体数组里。
 (3)把 cell 数组的信息复制到 workcopy 数组里去。
 (4)对结构体数组的每一个数据项都进行计算,给出分子下一步的方向和坐标。
 (5)调用通用模块显示出所有分子的状态,并返回(3)步骤。

 图12 分子热运动模拟算法流程图
 注意:算法流程图中出现的变量名解释:fenzi是

首页 上一页 1 2 3 4 5 6 7 下一页 尾页 4/8/8

免费基于细胞自动机的生命活力模拟的实现(四)相关范文
上一篇:免费基于JSP技术的猎头公司管理软.. 下一篇:免费手机吞吃蛇游戏的设计与开发
点击查看关于 免费 基于 细胞 动机 生命 活力 模拟 实现 的相关范文题目 【返回顶部】
精彩推荐
电气工程自动化原创范文  电子商务原创文章范文
人力资源专业原创文章范文 土木工程原创文章范文
工商管理专业原创范文    药学专业原创范文
汉语言文学专业原创范文  会计专业原创文章范文
计算机技术原创文章范文  金融学原创文章范文
法学专业原创文章范文   市场营销专业原创范文
信息管理专业原创文章范文 学前教育专业原创范文
公共事业管理专业原创范文 英语专业原创范文
教育管理专业原创范文   行政管理专业原创范文
热门范文

关于我们 | 联系方式 | 范文说明 | 网站地图 | 免费获取 | 钻石会员 | 硕士文章范文


范文同学网提供文档范文,原创文章范文,网站永久域名www.lunwentongxue.com ,lunwentongxue-范文同学网拼音首字母组合

本站部分文章来自网友投稿上传,如发现侵犯了您的版权,请联系指出,本站及时确认并删除  E-mail: 17304545@qq.com

Copyright@ 2009-2024 范文同学网 版权所有