Movement models代码分析3--WorkingDayMovement
来源:互联网 发布:期货研究员 知乎 编辑:程序博客网 时间:2024/06/10 18:13
This movement model makes use of several other movement models to simulate movement with daily routines. People wake up in the morning, go to work,go shopping or similar activities in the evening and finally go home to sleep.
public class WorkingDayMovement extends ExtendedMovementModel
五种模式
private static final int BUS_TO_WORK_MODE = 0;
private static final int BUS_TO_HOME_MODE = 1;
private static final int BUS_TO_EVENING_ACTIVITY_MODE = 2;
private static final int WORK_MODE = 3;
private static final int HOME_MODE = 4;
private static final int EVENING_ACTIVITY_MODE = 5;
newOrders(){} //用于切换模式
获得初始位置
子模式:
HomeActivityMovement
public class HomeActivityMovement extends MapBasedMovement
三种状态
private static final int WALKING_HOME_MODE = 0;
private static final int AT_HOME_MODE = 1;
private static final int READY_MODE = 2;
一天的长度: 86000
private DijkstraPathFinder pathFinder
public HomeActivityMovement(Settings settings) //设置home的坐标,获取时间差timeDifference
getInitialLocation() //获取初始位置
Path getPath(){} //
若为WALKING_HOME_MODE,则回家:
1.获取现在的坐标和家的坐标,
2. List<MapNode> nodes = pathFinder.getShortestPath(thisNode, destinationNode);
找到并返回两地图点间最近的路
3.找到路径后,添加所经节点到PATH,到家后
lastWaypoint = homeLocation.clone();mode = AT_HOME_MODE;
并在家随机走动
若不为WALKING_HOME_MODE,以速度1创建一条路径,添加新的节点到路径中,
mode = READY_MODE;return path;
generateWaitTime() //产生在家的等待时间
mode == AT_HOME_MODE时:
DAY_LENGTH - ((SimClock.getIntTime() + DAY_LENGTH + timeDifference) % DAY_LENGTH);
0 0
- Movement models代码分析3--WorkingDayMovement
- Movement models代码分析1--MovementModel,Path
- Movement models代码分析2--MapBasedMovement
- movement包中的类及代码分析
- Probabilistic Graphical Models 3 Template Models
- 3D models 加载
- ns-3 models
- Irrlicht 3D Engine 笔记系列之 教程4 - Movement
- MOVEMENT TYPE
- ROW MOVEMENT
- Tracking Movement
- ZQUOJ24282Maze movement
- Models--自动生成实体层代码
- Part Based Models demo程序分析
- 搭建Deformable Part Models源码+学习分析
- 3 linear models for regression
- Django开发博客-(3)Models
- ecos代码分析(3)
- 如何使用TestFlight进行Beta测试
- 分栏控制器UITabBarController
- <iOS>iOS中应用正则表达式
- CSS选择器
- Java学习笔记--导航
- Movement models代码分析3--WorkingDayMovement
- 带真实百分比的上传进度条控件
- Diving into OpenStack Network Architecture - Part 1
- 最简单的二分法
- 事件处理和手势及转场动画
- Android中Adapter数据适配器
- hadoop自定义数据类型
- Java SE__java代码注释规范
- iOS开发中ARC和MRC的区别--内存