Vadere基本操作与界面
启动Vadere
启动过程
Vadere是一款基于Java的人群仿真软件,可以通过以下步骤启动:
安装Java环境:确保您的计算机上安装了Java运行环境(JRE)或Java开发工具包(JDK)。您可以在Oracle官网下载最新版本的Java。
下载Vadere:访问Vadere的官方GitHub仓库(Vadere GitHub),下载最新版本的Vadere软件。您可以选择下载源代码或预编译的二进制文件。
解压文件:将下载的压缩文件解压到一个指定的目录。
启动Vadere:进入解压后的目录,找到
Vadere.jar文件,双击运行或在命令行中输入以下命令:java -jar Vadere.jar
启动参数
Vadere支持多种启动参数,以满足不同的仿真需求。以下是一些常用的启动参数:
-h:显示帮助信息。
-s:指定要加载的场景文件。
-o:指定输出文件的目录。
-r:指定结果文件的路径。
-v:显示Vadere的版本信息。
例如,如果您有一个名为example.scenario的场景文件,并希望将结果输出到output目录,可以使用以下命令启动Vadere:
java -jar Vadere.jar -s example.scenario -o output界面布局
主界面
Vadere的主界面分为几个主要部分,每个部分都有特定的功能:
菜单栏:位于顶部,包含文件、编辑、视图、仿真、帮助等选项。
工具栏:位于菜单栏下方,包含常用的仿真操作按钮,如启动、暂停、停止等。
场景视图:位于主界面的中心,显示当前场景的布局和动态。
属性面板:位于右侧,显示选定对象的属性和设置。
控制台:位于底部,显示仿真过程中的日志和错误信息。
菜单栏
文件菜单
新建场景:创建一个新的场景文件。
打开场景:加载一个已有的场景文件。
保存场景:保存当前场景文件。
另存为:将当前场景文件另存为一个新的文件。
导出结果:将仿真结果导出为指定格式的文件。
编辑菜单
撤销:撤销上一次操作。
重做:重做上一次撤销的操作。
复制/粘贴:复制和粘贴场景中的对象。
属性:打开选定对象的属性设置窗口。
视图菜单
平移:在场景视图中移动视图。
缩放:放大或缩小场景视图。
全屏:切换到全屏模式。
仿真菜单
启动仿真:开始仿真过程。
暂停仿真:暂停当前的仿真。
停止仿真:停止当前的仿真并重置。
重置仿真:重置仿真到初始状态。
步进仿真:手动步进仿真过程,每次步进一个时间步。
帮助菜单
用户手册:打开Vadere的用户手册。
关于:显示Vadere的版本信息和开发者信息。
工具栏
工具栏包含一些常用的仿真操作按钮,如下所示:
启动仿真:绿色的播放按钮,点击后开始仿真。
暂停仿真:黄色的暂停按钮,点击后暂停仿真。
停止仿真:红色的停止按钮,点击后停止仿真并重置。
重置仿真:蓝色的重置按钮,点击后将仿真重置到初始状态。
步进仿真:手动步进仿真过程,每次步进一个时间步。
场景视图
场景视图是Vadere的核心部分,显示当前场景的布局和动态。您可以在这个视图中添加、移动和删除对象,如行人、障碍物、出入口等。
操作方法
添加对象:在工具栏中选择相应的对象工具,然后在场景视图中点击以添加对象。
移动对象:在场景视图中点击并拖动对象进行移动。
删除对象:选中对象后,按删除键或右键选择删除选项。
属性面板
属性面板显示当前选中对象的属性和设置,您可以在这里调整对象的各种参数,如位置、大小、速度等。
常用属性
行人属性:
位置:设置行人的初始位置。
速度:设置行人的移动速度。
目标:设置行人的目标位置。
障碍物属性:
位置:设置障碍物的初始位置。
大小:设置障碍物的大小。
类型:设置障碍物的类型(如静态、动态)。
出入口属性:
位置:设置出入口的初始位置。
大小:设置出入口的大小。
类型:设置出入口的类型(如入口、出口)。
控制台
控制台显示仿真过程中的日志和错误信息,帮助您调试和优化仿真。
日志级别
控制台支持不同的日志级别,包括:
INFO:普通信息。
WARNING:警告信息。
ERROR:错误信息。
示例:创建一个简单的仿真场景
以下是一个简单的示例,展示如何使用Vadere创建一个包含一个入口、一个出口和几个行人的仿真场景。
新建场景:
- 选择“文件”菜单中的“新建场景”选项,创建一个新的场景文件。
添加入口:
在工具栏中选择“入口”工具。
在场景视图中点击一个位置,添加入口。
在属性面板中设置入口的大小和位置。
添加出口:
在工具栏中选择“出口”工具。
在场景视图中点击一个位置,添加出口。
在属性面板中设置出口的大小和位置。
添加行人:
在工具栏中选择“行人”工具。
在场景视图中点击多个位置,添加行人。
在属性面板中设置行人的初始位置、速度和目标。
启动仿真:
点击工具栏中的“启动仿真”按钮,开始仿真过程。
观察场景视图中的行人动态。
示例代码:创建一个简单的仿真场景
以下是一个简单的XML场景文件示例,展示如何定义一个包含入口、出口和行人的场景。
<!-- example.scenario --><scenario><topography><dimensions><x>50</x><y>50</y></dimensions><obstacles><!-- 添加一个障碍物 --><obstacle><id>1</id><shape><type>RECTANGLE</type><position><x>10</x><y>10</y></position><size><x>10</x><y>10</y></size></shape></obstacle></obstacles><sources><!-- 添加一个入口 --><source><id>1</id><position><x>10</x></position><size><y>10</y></size><pedestrianProfile><speed>1.5</speed></pedestrianProfile><distribution><type>UNIFORM</type><minRate>0.5</minRate><maxRate>1.0</maxRate></distribution></source></sources><targets><!-- 添加一个出口 --><target><id>1</id><position><x>40</x><y>40</y></position><size><x>10</x><y>10</y></size></target></targets></topography><pedestrians><!-- 添加一个行人 --><pedestrian><id>1</id><position><x>12</x><y>12</y></position><speed>1.5</speed><targetId>1</targetId></pedestrian><!-- 添加更多行人 --><pedestrian><id>2</id><position><x>15</x><y>15</y></position><speed>1.5</speed><targetId>1</targetId></pedestrian></pedestrians></scenario>解释
topography:定义场景的地形,包括尺寸、障碍物、入口和出口。dimensions:定义场景的宽度和高度。obstacles:定义场景中的障碍物,每个障碍物有一个唯一的ID和形状参数。sources:定义场景中的入口,每个入口有一个唯一的ID、位置、大小和行人的属性配置。targets:定义场景中的出口,每个出口有一个唯一的ID、位置和大小。pedestrians:定义场景中的行人,每个行人有一个唯一的ID、初始位置、速度和目标ID。
示例:使用Vadere的API创建场景
如果您希望使用Vadere的API来创建场景,可以参考以下Java代码示例:
importorg.vadere.state.simulation.Topography;importorg.vadere.state.simulation.Pedestrian;importorg.vadere.state.simulation.Source;importorg.vadere.state.simulation.Target;importorg.vadere.state.simulation.Obstacle;importorg.vadere.state.types.ObstacleType;importorg.vadere.state.types.TargetType;importorg.vadere.state.types.PedestrianProfile;importorg.vadere.util.geometry.shapes.VRectangle;importorg.vadere.util.geometry.shapes.VPoint;publicclassVadereExample{publicstaticvoidmain(String[]args){// 创建一个新的地形Topographytopography=newTopography(50,50);// 添加一个障碍物VRectangleobstacleShape=newVRectangle(newVPoint(10,10),10,10);Obstacleobstacle=newObstacle(1,obstacleShape,ObstacleType.STATIC);topography.addObstacle(obstacle);// 添加一个入口VRectanglesourceShape=newVRectangle(newVPoint(10,10),10,1);Sourcesource=newSource(1,sourceShape,newPedestrianProfile(1.5),0.5,1.0);topography.addSource(source);// 添加一个出口VRectangletargetShape=newVRectangle(newVPoint(40,40),10,10);Targettarget=newTarget(1,targetShape,TargetType.GATE);topography.addTarget(target);// 添加行人Pedestrianpedestrian1=newPedestrian(1,newVPoint(12,12),1.5,1);topography.addPedestrian(pedestrian1);Pedestrianpedestrian2=newPedestrian(2,newVPoint(15,15),1.5,1);topography.addPedestrian(pedestrian2);// 保存场景文件topography.saveToFile("example.scenario");}}解释
Topography:表示仿真场景的地形。VRectangle:表示矩形形状的障碍物、入口和出口。Obstacle:表示场景中的障碍物。Source:表示场景中的入口。Target:表示场景中的出口。Pedestrian:表示场景中的行人。saveToFile:将创建的场景保存到一个文件中。
结尾
通过以上内容,您应该能够理解如何启动Vadere、使用其基本界面功能以及创建一个简单的仿真场景。接下来,我们将深入探讨更高级的仿真技术和API使用方法。