This browser does not have a Java Plug-in.
Get the latest Java Plug-in here.

Pedestrian newPedestrian; //Pedestrian class ArrayList pedestrianList; //List with all pedestrians ArrayList graphList; //will contain values of graph, graphList.size() is current time frame ArrayList doorList; //List with all doors DynamicField dField; //field with traces of pedestrians EdgeField eField; //field for reducing probability to walk toward corners and edges ObstacleField oField; //field with probabilities zero for walls PedestrianField pField; //field with probabilities zero for occupied cells StaticField sField; //field with values for distance to door boolean simulationRun =false; //starts simulation if true, boolean showDField =true; //displays dynamic field if true, boolean showEField=false; //displays edge field if true int gridColumns; int gridLines; int cellSize=4; float density=0.2; float weightD=0.5; float weightE=0.3; float weightS=0.5; float diffusion=0.5; //range from 0 to 6 float decay=3; //range from 0 to 6 int windowPositionColumn; int windowPositionLine; int amount; void setup() { createSliders(); floorPlan = loadImage("GR_4.jpg"); //loading and reading floor plan image(floorPlan, 0, 0); loadPixels(); gridColumns=floorPlan.width; gridLines=floorPlan.height; windowPositionColumn=180; windowPositionLine=(400-gridLines*cellSize); dField=new DynamicField (gridColumns,gridLines); //creating fields oField=new ObstacleField (gridColumns,gridLines,floorPlan); eField=new EdgeField (gridColumns,gridLines,oField); pField=new PedestrianField(gridColumns,gridLines); createDoorList(); sField=new StaticField (gridColumns,gridLines,doorList,oField); graphList= new ArrayList(); background(255,255,255); //drawing initial window,graph and values window = createGraphics(gridColumns*cellSize,gridLines*cellSize, JAVA2D); graph = createGraphics(720,130, JAVA2D); values = createGraphics(160,130, JAVA2D); PFont font = loadFont("SempliceRegular-8.vlw"); drawInitialGraph(font); values.beginDraw(); values.textFont(font, 8); values.endDraw(); window.beginDraw(); displayStaticField(); displayObstacleField(); window.endDraw(); image(window,windowPositionColumn,windowPositionLine); } void draw() { if (simulationRun==true) //true when start button clicked { if(pedestrianList.size()!=0 && graphList.size()<=695) //checks if all pedestrians evacuated or max time reached { image(window,windowPositionColumn,windowPositionLine); window.beginDraw(); movePedestrianList(); if(showDField==true) { displayDynamicField(); } if(showEField==true) { displayEdgeField(); } displayPedestrianList(); window.endDraw(); GraphValue newgraphValue = new GraphValue(pedestrianList.size(),amount); graphList.add(newgraphValue); NumberFormat nf = NumberFormat.getNumberInstance(); nf.setMaximumFractionDigits(2); nf.setMinimumFractionDigits(2); graph.beginDraw(); graph.stroke(0); graph.line(25,105,graphList.size()+25,105); graph.stroke(255); graph.fill(255); graph.rect(graphList.size()-70, 108, 100,12); graph.fill(0); graph.textAlign(RIGHT); graph.text(nf.format(graphList.size()*0.3/60)+" MINUTES",graphList.size()+25,117); displayGraph(); graph.endDraw(); image(graph,windowPositionColumn-25,420); if(pedestrianList.size()==0 || graphList.size()>=695) { save("den"+density+"wS"+weightS+"wD"+weightD+"dif"+diffusion+"time"+graphList.size()+".jpg"); } }//end of check "ifSimulationRun" } //end of check draw /*****************Methods*********************************************************************** void controlEvent(ControlEvent theEvent) void drawInitialGraph() void showValues() void creadeSliders() void displayPedestrianList() void movePedestrianList() void createRandomPedestrianList() void createDoorList() void displayObstacleField() void displayStaticField() void displayDynamicField() void displayEdgeField() void displayGraph() void controlEvent(ControlEvent theEvent) void drawInitialGraph() void showValues() void creadeSliders() void displayPedestrianList() void movePedestrianList() void createRandomPedestrianList() void createDoorList() void displayObstacleField() void displayStaticField() void displayDynamicField() void displayEdgeField() void displayGraph()

Source code: _080701_pedestrian_movement_school Cell Door DynamicField EdgeField GraphValue ObstacleField Pedestrian PedestrianField StaticFieldMixed

Built with Processing by Anne Femmer

This website has been archived and is no longer maintained.