⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 crowdsim.java

📁 MASON代表多主体邻里或网络仿真(Multi-Agent Simulator of Neighborhoods or Networks)。它是乔治梅森大学用Java开发的离散事件多主体仿真核心库
💻 JAVA
字号:
package sim.app.crowd3d;import sim.engine.*;import sim.util.*;import sim.field.continuous.*;import ec.util.*;public class CrowdSim extends SimState    {    public double spaceHeight = 20;    public double spaceWidth = 20;    public double spaceDepth = 20;    public int boidCount =0;    public int STEPS_BETWEEN_INSERTS = 200;    public Continuous3D boidSpace = new Continuous3D(Agent.SIGHT, spaceWidth, spaceHeight, spaceDepth);                    public static void main(String[] args)        {        doLoop(CrowdSim.class, args);        System.exit(0);        }        public CrowdSim(long seed)        {        super(new MersenneTwisterFast(seed), new Schedule(2));        Agent.MAX_FN_VAL = Math.min(spaceHeight, Math.min(spaceWidth, spaceDepth))/2;        }        private void spawnBoid()        {        Agent boid = new Agent();        boidSpace.setObjectLocation(boid,                                    new Double3D(       random.nextDouble()*spaceWidth,                                                        random.nextDouble()*spaceHeight,                                                        random.nextDouble()*spaceDepth));        boid.setStopper(schedule.scheduleRepeating(boid));        boidCount++;        }    private void killBoid()        {        Agent victim = (Agent)boidSpace.allObjects.objs[(int)(random.nextDouble()*boidCount)];        victim.stop();        boidSpace.remove(victim);                        }            public void start()        {        super.start();  // clear out the schedule                boidSpace = new Continuous3D(Agent.SIGHT, spaceWidth, spaceHeight, spaceDepth);//*        Steppable spawner = new Steppable(){public void step(SimState state){spawnBoid();}};//        Steppable killer = new Steppable(){public void step(SimState state){killBoid();}};        schedule.scheduleRepeating(Schedule.EPOCH,1,spawner,STEPS_BETWEEN_INSERTS);/*/  for(int i=0;i<10;++i)  spawnBoid();//*/        }    }                    

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -