블로그 이미지
Leeway is... the freedom that someone has to take the action they want to or to change their plans.
maetel

Notice

Recent Post

Recent Comment

Recent Trackback

Archive

calendar

1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
  • total
  • today
  • yesterday

Category

2007. 6. 21. 16:19 Computation/Algorithm
Boids, developed by Craig Reynolds in 1986, is an artificial life program, simulating the flocking behaviour of birds.

As with most artificial life simulations, Boids is an example of emergent behaviour; that is, the complexity of Boids arises from the interaction of individual agents (the boids, in this case) adhering to a set of simple rules.

The movement of Boids can either be characterized as chaotic (splitting groups and wild behaviour) or orderly. Unexpected behaviours, such as splitting flocks and reuniting after avoiding obstacles, can be considered emergent.

The boids framework is often used in computer graphics, providing realistic-looking representations of flocks of birds and other creatures, such as schools of fish or herds of animals.

Boids work in a manner similar to cellular automata, since each boid "acts" autonomously and references a neighbourhood, as do cellular automata.

Craig W. Reynolds called the generic simulated flocking creatures boids. The basic flocking model consists of three simple steering behaviors which describe how an individual boid maneuvers based on the positions and velocities its nearby flockmates.

ref.
Conrad Parker  http://www.vergenet.net/~conrad/boids/
    Boids Pseudocode, the boids algorithm explained with the use of pseudocode

initialise_positions()

LOOP
draw_boids()
move_all_boids_to_new_positions()
END LOOP

	PROCEDURE move_all_boids_to_new_positions()

Vector v1, v2, v3
Boid b

FOR EACH BOID b
v1 = rule1(b)
v2 = rule2(b)
v3 = rule3(b)

b.velocity = b.velocity + v1 + v2 + v3
b.position = b.position + b.velocity
END

END PROCEDURE

'Computation > Algorithm' 카테고리의 다른 글

fractal flame  (0) 2007.12.29
steering vector  (0) 2007.06.25
Particle System  (0) 2007.04.30
Pseudo-random  (0) 2007.04.27
noise  (0) 2007.04.21
posted by maetel