ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:331.32KB ,
资源ID:23664784      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/23664784.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(AnyLogic使用帮助文档.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

AnyLogic使用帮助文档.docx

1、AnyLogic使用帮助文档AnyLogic使用帮助文档一槪要本文档内容包含AnyLogic的简单介绍,AnyLogic使用入门以及在使用过程中常见的一 些问题。且所右内容仅针对pedestrian模型。二安装除按正常模式安装Anylogic以外,我们还需要额外添加一个shp文件导入控件,以及 安装 neatbean O控件的安装方法很简单,把InputShape_1.0.0.jar和openmap.jar复制到C:Program FilesAnyLogic 6 Professionalplugins卞即可(ft体路径请参考自己的anylogic安装路径)。三 创建1个简单的pedestria

2、n模型1打开 anylogic 程序 File-new-modeL 2输入模型文件相关信息,next。Klodel nwe : Hod12Location: |c:Doe55ts gdTavi. P包ck$&:nodel2The ollowing model will be created:C: VDocumeKts and SttinskLdModlsSNodel2VU(i(lel2. tip3 选择 use template to create model,并选择 Pedestrian Dynamics。Next。4 Add waiting area 和 Add service and q

3、ueue 都不勾选.Finish。 5运行程序观察效果。四基础对象介绍关于各个对彖的属性行为,仅说明一些比较常用的.构建1个完蔡的模型,以卜对象是必不町少的。PedConfiguration. PedGround. PedSource. PedSink, PedGoTb。下面一一介绍。1 PedConfiguratio nPedConfiguration主要标示模型中的一些配置信息。1)Time step, seco nds时间步长,即pedestrian每隔多久移动1次。0.3是通过社会调査获得的一个比较介理的数据。这个值越小,peds移动的更精 确,但足需要更多的计算。2)Animatio

4、n scale, pixels per meterPedConfiguration中需要格外关注一个数据,即多少像素为1米。模型中的单位分为像 素和米,所以在使用中需要注意他们之前的差别。3)Render ped asPed的显示样式。circle在表现上要好看一些,但是会让程序慢一 K Cross会让程序跑的快一些, point会更快,但是point无法表现出ped的大小。2P edGroundPedGround主要表示模型的模拟器坏境。町以简单的理解为墙的设置。1)b)c)d)e)f)g)h)i)j)k)Gap between tie and wall, meters系统自动生成的tie和

5、墙之间的距离。缺省值为0.3米。这个值必须人丁0。Maximum tie length, meters系统自动生成的tie的绘大长度。缺省值为5米。在某些模型里面,将该参数设置到最小,叮以显著提奇性能。Minimum angle between ties, radiantie之间的最小角度。单位为弧度.缺省值为0.3。由两点之间生成的tie,如果与角平分线之间的角度小于该值,将会被移除。Delete crossing ties是否删除相交的tie。Show nodes程序运行过程中,是否显示节点。Color for nodes节点颜色。Show edges是否显示边缘。Color for ed

6、ges边缘颜色.Show ties是否显示tieColor for tiestie的颜色Show obstacles显示障碍3)4)5)6)7)8)9)10)I) Color for obstacles障碍的颜色3PedSourcePedSource主要作用是生成ped。通常作为模型的起点。1)Arrival rate, peds per time unit按时间比率生成。如1000/hour()ob)Ped interarrival timeM隔时间生成。如:exponential ( LOGO / hour () )具体时间间隔由 AngLogic内部定义,该参数仅定义生成比率。c)Rat

7、e table, peds per minute生成比率Table Function提供.d)Arrival table生成比率右Table Function提供Table Function中一个条目(20, 10)表示第20s生成10个人。e)Manual (call inject () method)手动调用inject (int n)两数生成人。Group arrivals defined bygroup和ped的区别主要在于,ped每次生成时单个的。group生成每次生成是以 group的size大小的人为1个单位生成的。如group的size为10,则每次生成人 的时候都是10人。生

8、成模式与ped相同。Limited number of arrivals是否限制生成ped的数量。如果选择是,则需要输入人数上限。New pedped实例化。可以实例为new ped()或者ped的子类。Diameter, metersped的人小。单位为米。Comfortable speed, meters per sec-ped的速度,米/秒0默认值为uniform(0.5,1)Animation shape设定动画演示时的形状。具体用途还没摸索出來color设定生成的ped的颜色。默认情况卜为空,随机设置颜色。Arrival ground (PedGround)ped生成时所处的环境。A

9、ppears at (line, polyline)ped生成时所处的位置。Initial Spedd. meter per second初始速度。单位为米/秒。With offset, meters定义ped生成位豐位于线上的位置。缺省位置为uniform (OJength)o如果改成uniform(0.5*length.0.75*length).WiJ表示生成的均匀分布在线段/折线距离起点1/2 线段/折线长度到3/4长度的这一部分。起点为折线/线段上带+的点。14)initial directionSample Models。Pedestrian Dynamics的三个示例。五进阶功能。

10、这一块内容比较乱,基本上以我在做地铁疏散遇到的问题为主。1 path的画法可以这样理解,ped按path行走,实际是按于path关联的一连串ties行走。表示path 的polyline.以+点为起点,每条tie必须放在polyline的点上面。以上polyline2位path。左下带+的点为path起点,ped先到达Iine2上一点,再通过Iine3 上一点,以此来完成该patho Iine2和Iine3为ties。创建一个group.把这两条line加入这 个group,并把group名填入PedGround的Addtional ties,这些ties才被认可,可以起作 用。2 PedGo

11、to target缓冲区的实现。本身PedGoto有一个参数Target reach tolerance来实现该功能,但是由于实际效果来看, 该参数对point target效果很不错,但是对line target支持很不好。实现该方法时,需指定pedGoto can8l端【I连接的对象。方法一:自定义算法计算缓冲区。代码如2distanceLine(double ax, double ay, double bx, double by, double ex, double cy)double f = (bx-ax)*(cx-ax)+(by-ay)*(cy-ay); 到线ab的投彫点不庄线段ab

12、上.而H离a点最近if (fd) return distancePoints(bx, by, ex, cy); U c在ab线段上的投影点在线段ab上f = f/d;doubledistanceLine(double ax, double ay, double bx, double by)doxible fDistance = sqrt (pow ( (ax-bx) , 2) + pow ( (ay-by) , 2); return fDistance;该方法主要是计算ped与targetline的距离。如果距离小于某个值,判定ped已经实现该 pedGoto* 调用 PedGoto.canc

13、el (ped)进入下一个对象。方法二:利用PedArea自定义缓冲区。当ped进入PedArea以后,判定ped已经实现该pedGoto,调用PedGoto.cancel (ped) 进入下一个对象。3 PedArea的几个用途1) 电梯。PedArea 一个参数Ground is Moving可以设定地面的移动速度。2) 町以控制区域开关。Enable access control nf以控制区域开关.当选定该参数之后,町以调用 pedArea. setOpen (boolean sOpen)来设置区域开关。一个比较常见的用法就是当 区域内人数达到一定限制后,就不允许再继续进去了。3) 可

14、以实现靠边行走。Keep direction参数会给进入区域的每一个ped指定方法的加速度,该方向就是Keep direction的值,可以是下拉列表的east* west, sourth. north,也町以是特定的弧度值。4) 限制区域内peds的行走速度。可以通过Speed is Limited来限制ped的最大速度.5) 每个ped的速度增加百分比的速度。可以通过Speed is multiplied来给每个ped设定百分比。PedArea的缺陷。由于pedArea在计算时,会把当前pedGround里所有的ped都计算一遍,所以,当 pedArea的数量过多时,会极大地增加数据计算量

15、。4函数的用法。函数的用途主要体现在a杂数据的处理。比如main的初始化,比如多对象的选择。 函数的便用,在一定程度上可以大幅度的简化模型的复杂度,把流程柑同的对象画在同 -条流程图上面。下面举个例子,肖进入pedGoto的peds有同一个目的地,但是可以选择两条不同的路 径时,选择函数来实现路径的选择是一个很好的办法从General |拖一个Function控件到模型中。设置参数,返回值,然后编码。请注盘返回值类型必须与path的类型保持一致,都必须是ShapePolyLineo 5專件的用法。班件有三种模型,一个是时间模型,肖时间到了触发爭件。具体又町以分为Occurs once. Cyc

16、lic和user control。第二个是Rate,比率模型第三个是Condition,条件模型。 结合函数,基本可以满足我们的需求。6队列的实现。AnyLogic提供了一种队列的模型* PedService。PedService中有一个名为Service的 参数,参数类型为PedServiceSoPedServices具体实现队列模型。PedServices包含两种队列,一个是服务队列, Services.该队列存在两种模式,just delay. Delay and pass through就好比地铁买票和 过闸机。买票接受服务时,只需要站在原地和地铁工作人员交流就可以了,可以选择just

17、 delay模式,而过闸机接受的服务则是先刷卡,然后沿着闸机II过去,则ik Delay and pass through.PedServices的另外一个队列则是Queues,即排队队列。该队列存在两种选择模式, 一是选择队列的方式,Shortest queue, Closest queue, Manual 一个是选择服务队列的方式 Longest queue. Closest queue. Manual。町以根JI体的需求来选择。7环境切换。坏境的切换。例如从一楼定到一楼这种。两个坏境原本是ffl互独立的,町以通过Ped change ground来实现切换。该模型的参数设置很简单,仅De

18、stination ground 个。但在 在M的时候有些地方需要注意,切换ground前需要到达的目的地和两种环境的边缘保持一 定的空间,以方便进行切换。8导入shp文件。其中原点坐标X,原点坐标Y需要记录卜来,因为后续录像时会用到。比例鬧要与Ped Configuration中的Animation scale, pixels per meter 致。数据名称自定义。其他数据自 定义,相互关联不大。六 NetBeans 卜的 Anylogic己经冇了 AnyLogic,为何还需要一个专门把Anylogic中的代码拷贝到NetBeans卜”运 行?主要是因为之前我们重载的时候,都在netbea

19、ns中进行的。我们制作录像时,需要记 录毎个ped的坐标位置,还有其他一些信息,但是这里面有很多数据是我们无法育接调用 的,需要首先继承一些类,然后通过巫我等方法,使这些数据可以为我们所用。例如要获取ped的坐标,但足,在ped中,坐标变量是friendly类型的,所以我们就 需要在 com.xj.anylogic.libraries.pedestrian 包中创建一个 ped 的子类 MyPed.然后在 MyPed中新建一个public函数,返回ped的x, y坐标。这样就町以实现我们的婆求了。在使用既冇工程中的代码时,冇几个注盘点。1SimMain 中有个函数 chargePos(MyPe

20、d ped, double x, double y).该函数的作用是 将录像中的xy坐标还原为实际的xy坐标。我们在导入地图数据的时候,记录了一个原点坐 标,那么现在模型中的坐标只需要按照这个原点坐标进行偏移就M以还原为实际坐标了。2Simulation里面的Main全部改为SimMain.因为我们在SimMain里载了一些函数。3Simulation仅仅是一个模拟器的一些运行设置,可以不用拷贝。宜接使用工程原有的 代码。但是main的代码必须从AnyLogic从拷贝到NetBeans的工程中。为了拷贝方便, M以将NetBeans的包名称与AnyLogic的包名称保持一致。4ped等的子类,

21、应该放在com.xj.anylogic.libraries.pedestrian下面。并注盘修改代码 的 package. 改为 package com.xj.anylogic.libraries.pedestrian;5现在的NetBeans对AnyLogic的支持并不完美。在使用6.5的库的时候,并不支持PedSelectOutputo我们在建立模型的时候需要SelectOutput替代。6町以使用pv已的反编译器查看库的源代码。7当从别人那里拷贝NetBeans IfE到本地之后,请确认项目属性的项目文件夹是否一致 七 AnyLogic创建口己的对象AnyLogic现冇的对彖,不一定可以

22、完全满足我门的需求,在某些特定的需求之N 我 们需要创建属于自己的对彖,来实现我们的冃标。一个很简单的例子,我们需要在一个特定的多边形范W内随机生成指定数量的peds.而现右的对彖,都是在线或者点上生成。为了实现这一需求,我们需要自己创建一个新 的对彖。建立一个新的对彖,需要考虑是out还是in。我们创建的对象,没有进,只有出,所有 只有一个out端I。右键选项目名称new-Active Object Class。Name 定义 PedDispose。首先添加一个out端【1。将General中的port拖到界面中。命名为out。并将show name 的勾选去掉。在Constructor c

23、ode中填入OutPortPush( this ),指定该port的构造函数。 若是 in 端II,则填 lnPort( this).然后画PedDispose在模型中的显示图标。画一个圆,并用一条line连接起来。注意圆 和line都要勾选icon.Icon1卜面就要定义一些生成ped所相关的信息.创建一个参数。例如生成多少人。从general中拖Parameter控件到界而中。填写所需的一些参数设置。 Text-Ch电 ck ButtTLORadio ButtonO CmboO Edi table ComboO Sli ler-Hypsr Array Editor使用同样的方法添加其它参数

24、。在这里我们需要的有speed, diameter, color三种初 始属性。pedGround. pedConfig.初始配置信息。pedInitNumber. pedInitShape* 生成 ped数量和生成范出。onCreaterPed, onOut,生成ped和ped离开时自定义代码。创建一个变m, pedVector,用来保存生成的peds。叼 Show name I I Ignore Fu*blic 叼 Sho瞥 at rirObooLem Oint Odoublft Ostring Other; I VectorIxu tiJ Vue: new Vector ( ;创建 4

25、个函数 InitPed, GoOut. GoOutAIL PedDisposeCreate由于ped的成员变S都是friendly.只能在同一个包中访问,所以要实现该对象,必须 NetBeans的工程卜完成。public booleanPedDispose( ) if(pedlnitShape = null | pedConf = null) return false;ArrayList ary = pedIn itSha pe.getShapesO; for(int i = 0; i ary,size(): i+)/教室编码double xmin,xmax,yminymax,x1 ,yl;S

26、hape PolyLine pl = (Shape PolyLine)aryget(i); int n = pLgetNPointsO;xmin = xmax = pLx + pLgetPointDx(0); ymin = ymax = pLy + pLgetPointDy(O):for(int j=1; j n; j+)x1 = pl.x + p Lget Poin tDx(j); y1 = pLy+ pLgetPointDy(j); xmin = xmin x1 ? xmax :x1;ymin = ymin y1 ? ymax :y1:for(int p = 0; p 0)MyPed p = (MyPed)pedVectorget(O); this.GoOut(p):当端I丨port接受这个ped Z后.该p

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1