Categories: Tutorials


I tried to simulate the flow of people in the field using agent modeling.

First of all, I had a general understanding of the basic flow of people in this area through observation and records, as well as the impact of surrounding environmental factors on people.


The site is located at another entrence of NOVY SMICHOV, which is a big shopping center.




Start with the agent modeling, an agent-based model (ABM) is a class of computational models for simulating the actions and interactions of autonomous agents (both individual or collective entities such as organizations or groups) with a view to assessing their effects on the system as a whole.(WIKIPEDIA)


The image above consists of 4 parts,

1、Initial settings, such as sites、 number of spawn、2D or 3D

2、Move settings,  such as direction and speed

3、Behavioral settings, to contral how the dots move. There are many kinds of behavior , such as move to some attractions, path following.

4、Visual settings, we can keep the trails of the movements,  you can also change the color and types of these trails

After these parts are combined,  next is the engine and outputs.


There are a lot of passers-by on this street, but because the location of this entrance is very inconspicuous, many people who came for the first time can’t find it. There is also a park and a church to the east.



In this box, there are 150 random dots at the ground, they are “people who walking on the street”

And the initial speed、max speed、max force and velocity mutiplier.



These curves are ways for people to walk.

a.   Multi Path Tracking

It’s like the crawlers crawle along a path, the path is your curve.

Polylines: you can draw some curves, and these are the path the dots would follow

Threshold:  If the dot is a person , it’s the furthest distance that person can see the path and to move toward it.    (Input the distance threshold enabling agents to see shapes)

Projection Distance:When you at a path, you can see how far you can go along this path,so it’s like a distance to seek your next location.   (Input the projection distance of point ahead on the path to seek)

Radius: Input the radius of the shape, which could mean the width of these paths


The mesh is the outdoor ground for people walking,  but some of they can also go indoors.

b.   Mesh Crawl

Mesh:The mesh object to crawl on

Threshold & Projection Distance: they are almost the same as the  Path Tracking

Multiplier: Input the multiplier value

c.   Weaving Wandering

Expanded 2D Wandering Algorithm using step triggers to create a weaving type movement 2D Wandering Algorithm, Wandering is a type of random steering which has some long term order. Force Values from Move Settings have a strong effect on behavior


d.   Attracts a object towards a set of targets

Several attract points. The dots on the left represent the store, and the dots on the right represent the small square in front of the park and church.

The park is the biggest attraction, and the shopping center is the most concentrated attraction.

e.   Flocking behavior component

Flocking behavior is the behavior exhibited when a group of birds, called a flock, are foraging or in flight. There are parallels with the shoaling behavior of fish, the swarming behavior of insects, and herd behavior of land animals.

Imagine you are a bird in a group of birds, you would have a view angle and distance to see your partners, and you would keep a distance between eachother to avoid collision, and try to keep the same direction with you neighbors, and also fly together as a group to not fall behind.

Connect: Is the connections of each bird, if it’s  True, the birds would be connected with several lines ;if False means Do not draw connectivity

View Angle:  The view angle each bird can see

Search Radius: The distance each BIRD can see

Align Value:  keep the same direction with you neighbors   (Steer towards the average heading of local flockmates)

Separation Value:   keep a distance between eachother to avoid collision   (Steer to avoid crowding local flockmates)

Cohesion Value:  fly together as a group to not fall behind   (Steer to move toward the average position of local flockmates)



a.   Trail Data:

You can choose show the trails or do not show the trails, and also the length of the trails (Controls the Trail Data for the Visual Settings Component)

b.   Gradient Color:  The trails color can be gradient color, use 3 domains to contral the RGB color (Controls the Gradient Color trail options for the Visual Settings Component)

Graphic Polyline: The trails of the dots can also be shown as polylines, and you can choose any color you like (Controls the Graphic Polyline Color trail options for the Visual Settings Component )

Disco Colors: As it shows, it’s like a disco, enjoy the shining color !! (Controls the Disco Color trail options for the Visual Settings Component)


111yy 222yy 333yy

new 2

Bcak  to this site,

Suppose there are 150 people walking aimlessly on the street, and 150 people are purposefully walking on the street (such as going shopping or going to the park).

The first is the current situation of the site.




We can see that in front of the shopping center, there are many dots cross the road, which implies that the traffic here is very large, but the traffic is not convenient.

If we add a zebra crossing here ,and remove some parking areas to make the sidewalks on both sides be closer. Then the gif below is what it looks like.


We put the before.gif and the after.gif together, we can see after add a zebra crassing, it drive the vitality around.





File download link:agent modeling .3dm   agent modeling2 .gh

Thanks to