| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1592 人关注过本帖
标题:[求助]对象平移怎么实现
取消只看楼主 加入收藏
biggun1860
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-4-20
收藏
 问题点数:0 回复次数:5 
[求助]对象平移怎么实现

先定义好了如下一个二值矩阵
[0 1 1 0 0 1 0 1
0 1 0 0 0 1 0 0
1 1 0 0 1 0 0 1
0 0 0 1 1 0 0 0
1 1 0 0 0 1 0 0
0 1 0 0 0 1 1 1
0 0 1 1 0 1 0 0]
定义值为1的上下左右邻接成对象。如黑体即为一个对象
怎么实现这样的对象向上下左右中任一方向移动一格呢?

搜索更多相关主题的帖子: 对象 平移 
2006-04-20 22:11
biggun1860
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-4-20
收藏
得分:0 
恩,把同一个对象里的1朝一个方向一起移动一格

2006-04-21 09:18
biggun1860
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-4-20
收藏
得分:0 
不是“循环”方式。如最左边的1不能再左移
所有对象同步移动
每个对象移动后新组成的对象在同一时间步里不能移动

2006-04-21 11:20
biggun1860
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-4-20
收藏
得分:0 
举个例子说:
[0 1 1 0 0 1 0 1
0 1 0 0 0 1 0 0
1 1 0 0 1 0 0 1
0 0 0 1 1 0 0 0
1 1 0 0 0 1 0 0
0 1 0 0 0 1 1 1
0 0 1 1 0 1 0 0]
根据边界条件不能左移也不能上移
把黑体对象右移一格后得到
[0 0 1 1 0 1 0 1
0 0 1 0 0 1 0 0
0 1 1 0 1 0 0 1
0 0 0 1 1 0 0 0
1 1 0 0 0 1 0 0
0 1 0 0 0 1 1 1
0 0 1 1 0 1 0 0]

2006-04-21 12:43
biggun1860
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-4-20
收藏
得分:0 
其实只要1的个数不变,怎么理解都行

2006-04-21 12:48
biggun1860
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-4-20
收藏
得分:0 

是四邻域
这个问题起源于薄膜生长的模拟
先是原子沉积过程,得到前面说的二值矩阵
(实际的矩阵应该是200*200,原子数为5000,用1表示;无原子处用0表示)
按四邻域邻接的原子组成团簇,团簇不能再分离。
每一时间步里,以团簇为单位随机移动一格(方向可为上下左右,也可以静止),各团簇同步移动,组成新的团簇----当然在程序实现时是不可能真正同步并行移动的,可以自己变通一下,比如说每个团簇移动后若与其他团簇邻接则立即组成新的团簇,该新团簇在这个时间步里不能再移动,这样也就消除了重合问题(只要保持原子数--即1的个数--不变,这些规则可以自己改)
----前面表述不清,在次表示歉意,希望这次能说得明白一些


2006-04-22 16:37
快速回复:[求助]对象平移怎么实现
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.035257 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved