Real-time Crowd Movement On Large Scale Terrains

Size: px
Start display at page:

Download "Real-time Crowd Movement On Large Scale Terrains"

Transcription

1 Real-time Crowd Movement On Large Scale Terrains Wen Tang, Tao Ruan Wan* and Sanket Patel School of Computing and Mathematics, University of Teesside, Middlesbrough, United Kingdom *Department of Electronic Imaging and Media Communications, University of Bradford, Bradford, United Kingdom Figure 1: The movement of large crowds on large scale terrains can be generated using the integrated simulation framework. Abstract Crowds are described as complex adaptive systems in Artificial Intelligence. The generation of crowd in real-time simulations is beyond the manual design capability. In this paper, we present an integrated animation framework for simulating the adaptive movement behaviours of crowds on large terrains. A simulation system that is developed based on the framework can be used as a powerful animation and design tool to produce realistic crowd movements procedurally. The framework integrates efficient terrain rendering techniques and path planning algorithms to enable the simulation system to handle large terrain data sets and search optimal paths for crowds to progress on complex terrains. A novel local alignment algorithm is developed, which utilises a set of conventional behavioural rules to produce robust realtime coordinated motions of crowds with respect to environmental situations. Key words: autonomous virtual agents, procedure animation, real-time crowd simulation. 1. Introduction Described as complex adaptive systems in general AI studies, crowd of humans or animals presents intricate manner and adapts its immediate environmental situation instinctively. A simulation system that produces believable simulations of crowds in a realistic virtual environment can be a powerful complementary verification tool to create the realisation of the apparently complex adaptive behaviours of crowds. At the same time, the system also provides means for computer animation design since simulating large crowd behaviours is beyond the animator s manual design capability. Interactive simulations are important to many computer graphics applications, for example computer games. Crowd simulation involves many different aspects of computer graphics, such as visual representations and behaviour models of the crowd. One of the common unsolved tasks is to simulate the coordinated movement of a large crowd with respect to complex dynamic environments, involving not only the additional rendering cost, but also the position update

2 and collision detection test for the crowd. Real-time simulations for interactive systems, for example for computer games or collaborative virtual environments in the work place, would impose extra constraints to further complicate the process. In this paper we present a feasible virtual reality simulation framework that can handle the movements of crowds on large terrains in real time. The crowds are not only capable of performing a given motion task, but also can deal with new environmental situations profoundly on their own. Our simulation framework integrates real-time path planning algorithm to search optimal collision free paths for the crowds to progress on large complex terrains. A dynamic LOD data structure is used in order to render the terrains efficiently [2]. A rule-based system with spatial data structure is employed for locality queries and more importantly a novel local alignment algorithm is developed to produce realistic coordinated motion of crowds with ability to alter the motion state of each agent according to the immediate local environment. Given a large terrain in a 3D virtual environment and large crowds, the method produces robust simulations. Over 1,000 agents as simple graphics representations can be generated in real-time, while hundreds of agents represented as detailed mesh model of virtual characters can also be handled. The next section of the paper reviews related work in crowd simulation. In section three, we describe the implementations of terrain rendering algorithms. Crowd behaviour modelling based on our new local alignment algorithm and real-time path planning algorithms are presented in section four. Behavioural rules are presented in section five. The subsequent section shows simulation results. Finally, in section seven, we conclude the paper and present discussions on future work. 2. Related work Coordinated movements of a large crowd are best procedurally generated [1]. Procedure modelling techniques free animators from the need to specify every detail of each virtual agent s motion manually and allow the agent to determine its own actions extemporaneously. Grouped together by a large number of individuals and each of them maintaining its own motion state with the rest of the group accordingly, a crowd can be generally treated as a micro-structure system i.e. particle system [2]. Each of the particles in the crowd detects its environment and reacts intelligently. Depending on the fundamental algorithms used within a computer simulation system to describe the particles physical movements, different behavioural patterns can be exhibited by the crowd. As a whole, the combined behaviour of each individual in the crowd is a complex parallel-distributed system. Dynamic fluid models for simulating crowds are popular approaches used in Civil Engineering [3] [4]. Focused on motion flow descriptions, the fluid models may be sound from an engineering perspective, but computationally expensive and lack the descriptions of the behaviour characteristics of crowds. In computer graphics community, Reynolds proposed an approach that utilises simple rules that every micro-structure/agent/particle in the crowd has to follow [1]. This approach has been regarded as rule based simulation method and generated some interesting computer animations [5] for Hollywood feature films. Rules can be quite different depending on simulation tasks. Rule-based behaviour animation techniques can be used effectively to model the coordinated movements of a large crowd. In addition to behaviour rules, the movement of each agent in a large crowd has to be collision free with respect to the environment and to other nearby agents. Recently, real-time visualisation of densely populated urban environments has been reported [6]. A simple and fast collision detection algorithm is developed to handle the movements of virtual humans in an urban environment [6]. The method uses a look-up table with heights which can be used for preventing the virtual humans from colliding with buildings. The look-up table is also used for adjusting and determining the elevation of the virtual humans on the model without having to query the geometrical database. Our simulation is also produced by using a terrain height lookup table for determining and adjusting the elevation of virtual agents on the terrain surface. On the other hand, path searching and planning are needed for a crowd to navigate on large terrains. Our system utilises a spatial data structure to store the topology information of the large terrains for efficient locality queries. In addition to the data structures, a novel local alignment algorithm is developed for altering the motion behaviours of each agent according to its immediate local environment. According to the changes of the immediate local terrain topology, a crowd is expected to reorganise its motion behaviours accordingly. In order to manoeuvre through various environmental situations, a large crowd has to use the most optimal course which would lead the least energy cost for each agent in the crowd. It is evident that rendering for real-time crowd simulation becomes one of the major issues. We employ a binary tree data structure for real-time terrain generation [7] [8] [9]. Therefore, we are able to construct and render large complex terrains with continuous level of details by traversing through the binary triangle tree data structure. The integrated framework provides efficient and feasible methods for interactive crowd simulation.

3 3. Generation of large terrains with BSP tree data structure Terrain is generated based on information extracted from a height-map, and then converted to a polygon mesh. Starting with a user defined size, the terrain is constructed by splitting the initial square structure into adjacent triangles with various sizes to represent terrain details. Triangles of different sizes are stored into binary tree data structure to represent various levels of details. The height of the terrain at a particular point is obtained by converting the grey scale value of the corresponding position on the height map. For a local area in a terrain, the more rumple it is, the more triangles are needed for its representation. During the simulation process, the terrain topology can be updated and continuously optimised according to camera movement and required graphics display frame rate There are basically two types of terrain image maps: the actual height map for the terrain and the terrain type map, for example green represents grass, yellow represents rock and blue as water. Figure 2 demonstrates a terrain example generated by our system and its wire frame representation. The top image of Figure 2 shows a terrain with mountain covered by snow at the high ground while low ground and flat areas are green with grass. A wire-framed representation is shown in the bottom image of Figure 2 to demonstrate that different level of details of the triangle mesh structures are used to construct the environment. Bigger and less detailed meshes are used for far distant mountain while finer meshes are for the areas closer to camera or more rumple ground. Since optimisation on terrain rendering would save necessary processes later on AI implementations, the terrain data has been further partitioned using an Octtree data structure. This data structure is a separate data structure to the binary triangle tree data structure and is used for detecting the camera position. Each of the tree nodes has a bounding box to be computed against view frustum for optimised view frustum culling. This second level rendering optimisation enables very high rendering frame rate at average of 60 FPS with a single object doing A* searching on the terrain. Simulating a crowd moving over a large terrain is basically a position update process which determines and adjusts the elevation of every agent of the crowd on the surface of the terrain and coordinates the movements of the agent groups in a cost effective way. In this case, the navigation problem has been reduced from six degrees of freedom to three. Calculating the contact points on the terrain for the agents by using collision detection algorithms can be a quite straightforward task, however this can be expensive and inefficient for interactive applications. A flat terrain surface with a constant altitude would make collision detection task trivial, but it lacks of realism. Although a terrain model specifies a surface in 3D space, it is essentially a 2D array of elevation data in nature due to the use of 2D terrain height maps. Any point located at (x,z) on the terrain map can be found by a lookup table referencing the 2D height map to find its height value. We simply implement a simulation solution by keeping the agents always above the ground using this simple intersection tests. 4 Coordinated movements of crowds and path planning 4.1 Path planning Figure 2. A terrain example generated by our system Navigating a large crowd on complex terrains means planning optimal paths for the crowd. Given a goal, agents of a crowd should be moving toward the goal in a cost effective way as we do in reality. Such movements

4 deliver a sense of intelligence. Many actions could be taken when agents are navigating on a large complex terrain, for example, avoiding rivers, high mountains, and rough ground etc. The instinct reactions of the agents to their environment would make crowd simulations believable and realistic. At a global level, a modified A* path planning algorithm is used for searching an obstacle free path with the least cost for the agents from a starting point to the goal point. In order to find an optimal path as quickly as precisely as possible, a general A* algorithm normally works on fine defined lattices that cove the region of the algorithm searches for. The grid-system will be based upon points distributed with linear distances in a square format. Each point will have a maximum of eight neighbouring points as shown in Figure 3. Arrows indicate the search directions. If one particular point is deactivated then connection to the point direction is made invalid (the dark shaded cell), for example in a case where there is an obstacle or at a point on the terrain is too high to make an economic movement or in contrast, the point is under a water level. The simulation framework takes advantage of the grid nature of the terrain height map which suits well for the A* algorithm to perform. Details of the A* algorithms are described the reference [10]. Two node lists are created representing the map locations and costs. One is called OPEN list and another set called CLOSED. Each time through the main loop, the program selects the best element from OPEN, which is the node with the lowest cost, and then looks at its neighbours. The searched node is put into the CLOSE set, and the program then put any unvisited neighbours into the OPEN set. The cost of a node is the sum of the current cost of walking from the start to that node and the heuristic estimation of the cost from the node to the goal. The bottom image of Figure 3 demonstrates an A* search example. For a specific large terrain, a grid mesh that has the same size as the terrain is attached to the terrain mesh. The grids consist of all the areas in which the agents can move into. We can design a highly optimised grid according to the need of a specific simulation to cover only minimal amount of polygons or otherwise to encode the grid with more polygon details in order to produce more accurate agent movements. Grid points of areas which are covered by water or at high ground are deactivated as shown in Figure 4, so that search connections to these areas are invalid, therefore restricting the movements of the agents in a predefined process. Figure 4: Grid points representing the areas covered by water or high ground are restricted areas for agent movements. Figure 3: An A* grid with an agent current position (the dot) and its eight neighbouring cells (shaded area) and an A* search example 4.2 A local alignment algorithm for movement adjustments Figure 5: A group of agents following a searched path. A path found by the A* algorithm, indicated as the line in Figure 5, is assigned to a selected leader of a crowd, and rest of the members of the crowd following the leader s action based on a set of behaviour rules. A set of sub-goals shown as boxes along the path, are

5 assigned at a threshold distance along the entire path. The inserted subgoals are used to speed up the simulations since not only the path searching algorithm can work progressively to achieve real-time search procedure, but also as agents need to manoeuvre through different terrain situations, sub-goals allow the assessment of the immediate local situation of the agents to be carried out. A balance between the efficiency and accuracy of the algorithm has to be taken into account. Too many subgoals could slow down the decision making process as the program performs local alignment calculations around each subgoal. In contrast, few subgoals would lead erroneous or unrealistic movements of the crowd. Each subgoal is a vector of small magnitude. The x- and z- local axis at the vertex of the subgoal defines a tangent plane of the terrain surface at the subgoal. We define a height limit threshold that is considered to be too energy inefficient for the agents to move into. The local alignment algorithm is designed to scan a circular area around the subgoal covered by the tangent plane and compare the magnitude of the vector. The magnitude of the scanning vector will be increased at each iteration step until it finds the height that is equal or greater than the height limit threshold. Depending on the area that is available to accommodate the agent group to move into, the agents in the crowd will need to recoordinate and adjust their positions and movements. For example, during the navigation the crowd encounters a narrow valley along the path, this happens when the magnitude of the subgoal vector in the opposite direction is equal or smaller than the current direction vector as shown in Figure 6, the agents in the crowd will need to re-coordinate their positions and movements in order to pass the valley. On the other hand, navigating on an open field, the agents of the crowd will occupy a larger area than when they were passing through a narrow valley Figure 6: Displacement of subgoals Motion coordinations of crowds are implemented by using a set of simple navigation rules. Agents are constrained by the rules to move around the centre of the sub-goals along the path. 5. Group Behaviour Modelling 5.1 Behaviour rules A set of simple navigation rules that each agent in the crowd has to follow is defined as the follows: Separation Steering to avoid collision by maintaining a certain separation distance from other agents in its proximity. Alignment Steering towards the average heading of local group members. Each agent aligns itself with other agents in its immediate proximity. Cohesion Steering toward the average position of local group members. An agent groups together with other agents in its immediate proximity Avoidance Steering to move away from local obstacles or enemies. Agents steer away from obstacles and avoid collisions within their immediate proximity. 5.2 Locality query The most troublesome source of computational effort for crowd simulations is the cost of locality queries between agents for collision avoidance. Although simple rules are implemented to guide the agents movement, locality queries of a spatially explicit multi-agent system have an asymptotic complexity of o(n 2 ), when each agent has to detect every other agent in the group. A spatial data structure known as quad-tree has been used to sort the agents in crowds to accelerate locality queries. The agents are pre-sorted based on their location in space, so that the rule-based system can quickly find which agents are in a given neighbourhood without having to examine every agent in the entire population of the crowd. Each of the agents maintains its own proximity around its sub-goal. When an agent within a group passes through one sub-goal to another, one more rule is added to change the movement of the agent by moving it with a desired velocity soon after it enters into the proximity of the next sub-goal, therefore, the agent group navigates dynamically. As shown in Figure 7, running cross a narrow valley, a huge crowd will decrease the distances between agents within the crowd and slow its velocity down, so that each agent checks its goal next to the current goal, if the radius of the tangent of the next goal is smaller then the current then it

6 reduces its speed and decreases it s distance to a threshold. A 2D grid of the same size as the height field map is used to create cells with a unique cell value for each of the cells across the map. During the simulation, the locality query is performed by a function, which identifies all of the cells and examines each of the agents in each of these cells. The cells consist of a single pointer to a double linked list of proxy objects, which contains the x and z coordinates of a location, and a pointer to the agent. Given a minimum separation distance and a maximum density, the number of agents within a given area is bounded. Therefore using spatial subdivision techniques, the locality query problem has been accelerated from o(n 2 ) to o(nk), where n is the total number of agents and k is the bound. 6. Simulation results and discussions Figure 7 demonstrates a number of screen snapshots of the crowd simulation: Figure7a shows two groups of agents with 350 agents in each of the groups at 63 FPS simulation frame rate on an open ground. Spatial subdivision in the crowd would increase the simulation frame rate 16 times faster than the native o(n 2 ) locality query implementation. At the beginning of the simulation, agents are distributed into cells based on their initial positions. A grid of size consisting of 4096 cells is used. As shown in the following table, rendering speed is depending on many factors such as the number of obstacles placed in the environment and the complexity of the terrain structures. When avoiding obstacles and crossing narrow valleys, the agents in the crowds have to readjust their positions and speed. Figure 7b shows 1,000 agents avoiding a single obstacle, in this case, the frame rate is reduced from 20 FPS (frame /second) to 13 FPS. As shown in Figure 7 c, with 1,000 agents crossing a narrow valley, the frame rate is further reduced to 9 FPS. The following Table shows a real-time profile of the simulation system, which demonstrates the average, minimum, and maximum percentage of a frame rate spent on each process. Table : Simulation Profile Average Minimum Maximum Name FPS OpenGL display function Render terrain Render obstacles Render agents Statistic text rendering Update agent Over 50 % of the processing power has been spent on graphics rendering, while the second process overhead is the update of the agents movement behaviours. Rendering agents using detailed character models will add considerable process overhead to the system so do the animations of the model, as shown in Figure 1, two examples of crowd simulation generated by our simulation system. The virtual characters shown on the left image of Figure 1 are represented by using single mesh character models with textures and the two groups of agents shown on the right image of Figure 1 are rendered as mesh model without textures..simulating coordinated motions of 700 agents rendered as animated humanoid models would result a 2 FPS simulation frame rate, which is much slower compared with simple graphics representations i.e. boxes. This has indicated that new graphical representation methods are needed for real-time large crowd simulation. Another candidate solution is the animated billboards, which is essentially an image-based rendering technique. An image-based rendering method for visualising crowds in real-time has been reported recently, which renders the agents as animated impostors [11]. We will test this method and adapt it into our system. 7. Conclusion Producing realistic and robust results of crowd simulation in real-time is always a challenging task. The simulation framework described in this paper is able to simulate coordinated movement of large crowds on complex terrains with the desired frame rate. The steering behaviours listed above are implemented as simple FSMs (Final State Machines), which perform state transitions and maintain the knowledge information about herding of each agent in a crowd. The dynamic level of detail of the terrain enabled a nature integration of path planning algorithm that has been implemented here. Dynamic relocating obstacles at run time will cause the navigation path to be recalculated, this can be achieved in two ways :one is to temporarily remove the A* node at the position of the obstacles hence the search algorithm would consider the node and a small region around it is inaccessible, the second way is simply to allocate very high cost values for the nodes beneath the obstacles to cause the movements to the areas too expensive to the agents. Our novel local alignment

7 algorithm that allows agents to handle their immediate environmental situation enables the simulation more realistic. Implementing rule-based AI system for simulations of these kinds is reasonably straightforward. However, when adding more complex behaviours, well planned and designed object-orientated data structures will greatly optimise the system performance. As described in the previous sections, it is problematic to simulate large numbers of agents in complex virtual environments. Communications between the agents and the agents groups can be also included into the simulation. There is a need for further research work in this area. References [1] Reynolds, C. W. (1987) Flocks, Herds, and Schools: A Distributed Behavioural Model, in Computer Graphics, 21(4) (SIGGRAPH '87 Conference Proceedings) pages [2] W. T. Reeves, Particle Systems - A Technique for Modeling a Class of Fuzzy Objects, Computer Graphics, vol. 17, no. 3, pp , [3] Ford, L. R and Fulkerson, D.R, Flows in Network, Princeton University Press, Princeton [4] Fukui, M and Ishibashi, Y, (1999) Self-organized Phase Transitions in CA-models for Pedestrians, J. Phys. Soc. Japan, 8: , 1999 [5] Batman Returns, (feature film) Director: Tim Burton, Producer: Warner Brothers. 1992: [6] F. Tecchia and Y.Chrysanthou, Real-time Visualisation of Densely Populated Urban Environments: a Simple and Fast Algorithm for Collision Detection, Eurographics UK, Swansee, April [7] H. Hoppe. View-dependent refinement of progressive meshes, In SIGGRAPH 97 Conference Proceeding, August 1997.pp [8] W.T Reeves, Approximate and Probabilistic Algorithms for Shading and Rendering Structured Particle Systems, Computer Graphics, vol. 19, no. 3, pp , [9] P. Lindstrom, D. Koller, W. Ribarsky, N. Faust, and G. A. Turner, Real-time Continuous Level of Detial Rendering of Height Fields. In SIGGRAPH 96 Conference Proceedings, pp , August [10] Game programming gems 2, edited by Mark A. DeLoura. Hingham, Mass: Charles River Media, August [11] F. Tecchia, C. Loscos and Y. Chrysanthou. Image- Based Crowd Rendering. IEEE Computer Graphics and Applications, volume 22, number 2, March-April 2002.

8 (a) (b) (c ) Figure 7: Simulation screen snapshots: a): two agent groups with 350 members in each of the groups moving towards the same goal. b). 1,000 agents moving with obstacle avoidance. c). 1,000 agents moving pass narrow valley.

Scene Management. Video Game Technologies 11498: MSc in Computer Science and Engineering 11156: MSc in Game Design and Development

Scene Management. Video Game Technologies 11498: MSc in Computer Science and Engineering 11156: MSc in Game Design and Development Video Game Technologies 11498: MSc in Computer Science and Engineering 11156: MSc in Game Design and Development Chap. 5 Scene Management Overview Scene Management vs Rendering This chapter is about rendering

More information

Traffic/Flocking/Crowd AI. Gregory Miranda

Traffic/Flocking/Crowd AI. Gregory Miranda Traffic/Flocking/Crowd AI Gregory Miranda Introduction What is Flocking? Coordinated animal motion such as bird flocks and fish schools Initially described by Craig Reynolds Created boids in 1986, generic

More information

Subdivision Of Triangular Terrain Mesh Breckon, Chenney, Hobbs, Hoppe, Watts

Subdivision Of Triangular Terrain Mesh Breckon, Chenney, Hobbs, Hoppe, Watts Subdivision Of Triangular Terrain Mesh Breckon, Chenney, Hobbs, Hoppe, Watts MSc Computer Games and Entertainment Maths & Graphics II 2013 Lecturer(s): FFL (with Gareth Edwards) Fractal Terrain Based on

More information

Adding Virtual Characters to the Virtual Worlds. Yiorgos Chrysanthou Department of Computer Science University of Cyprus

Adding Virtual Characters to the Virtual Worlds. Yiorgos Chrysanthou Department of Computer Science University of Cyprus Adding Virtual Characters to the Virtual Worlds Yiorgos Chrysanthou Department of Computer Science University of Cyprus Cities need people However realistic the model is, without people it does not have

More information

Under the Guidance of

Under the Guidance of Presented by Linga Venkatesh (10305085) Deepak Jayanth (10305913) Under the Guidance of Prof. Parag Chaudhuri Flocking/Swarming/Schooling Nature Phenomenon Collective Behaviour by animals of same size

More information

Hierarchical Impostors for the Flocking Algorithm in 3D

Hierarchical Impostors for the Flocking Algorithm in 3D Volume 21 (2002), number 4 pp. 723 731 COMPUTER GRAPHICS forum Hierarchical Impostors for the Flocking Algorithm in 3D Noel O Hara Fruition Technologies Ltd, Dublin, Ireland Abstract The availability of

More information

Spatial Data Structures and Speed-Up Techniques. Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology

Spatial Data Structures and Speed-Up Techniques. Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology Spatial Data Structures and Speed-Up Techniques Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology Spatial data structures What is it? Data structure that organizes

More information

Computer Graphics Fundamentals. Jon Macey

Computer Graphics Fundamentals. Jon Macey Computer Graphics Fundamentals Jon Macey jmacey@bournemouth.ac.uk http://nccastaff.bournemouth.ac.uk/jmacey/ 1 1 What is CG Fundamentals Looking at how Images (and Animations) are actually produced in

More information

Efficient Crowd Simulation for Mobile Games

Efficient Crowd Simulation for Mobile Games 24 Efficient Crowd Simulation for Mobile Games Graham Pentheny 24.1 Introduction 24.2 Grid 24.3 Flow Field 24.4 Generating the Flow Field 24.5 Units 24.6 Adjusting Unit Movement Values 24.7 Mobile Limitations

More information

Master s Thesis. Animal Stampede Simulation

Master s Thesis. Animal Stampede Simulation Master s Thesis Animal Stampede Simulation Akila Lakshminarayanan Brian Tran MSc Computer Animation and Visual Effects, NCCA 2011-2012 Abstract Large crowd scenes with humans and animals are abundant in

More information

Announcements. Written Assignment2 is out, due March 8 Graded Programming Assignment2 next Tuesday

Announcements. Written Assignment2 is out, due March 8 Graded Programming Assignment2 next Tuesday Announcements Written Assignment2 is out, due March 8 Graded Programming Assignment2 next Tuesday 1 Spatial Data Structures Hierarchical Bounding Volumes Grids Octrees BSP Trees 11/7/02 Speeding Up Computations

More information

3/1/2010. Acceleration Techniques V1.2. Goals. Overview. Based on slides from Celine Loscos (v1.0)

3/1/2010. Acceleration Techniques V1.2. Goals. Overview. Based on slides from Celine Loscos (v1.0) Acceleration Techniques V1.2 Anthony Steed Based on slides from Celine Loscos (v1.0) Goals Although processor can now deal with many polygons (millions), the size of the models for application keeps on

More information

Graphs, Search, Pathfinding (behavior involving where to go) Steering, Flocking, Formations (behavior involving how to go)

Graphs, Search, Pathfinding (behavior involving where to go) Steering, Flocking, Formations (behavior involving how to go) Graphs, Search, Pathfinding (behavior involving where to go) Steering, Flocking, Formations (behavior involving how to go) Class N-2 1. What are some benefits of path networks? 2. Cons of path networks?

More information

CS 378: Computer Game Technology

CS 378: Computer Game Technology CS 378: Computer Game Technology Dynamic Path Planning, Flocking Spring 2012 University of Texas at Austin CS 378 Game Technology Don Fussell Dynamic Path Planning! What happens when the environment changes

More information

Topic 10: Scene Management, Particle Systems and Normal Mapping. CITS4242: Game Design and Multimedia

Topic 10: Scene Management, Particle Systems and Normal Mapping. CITS4242: Game Design and Multimedia CITS4242: Game Design and Multimedia Topic 10: Scene Management, Particle Systems and Normal Mapping Scene Management Scene management means keeping track of all objects in a scene. - In particular, keeping

More information

Illumination and Geometry Techniques. Karljohan Lundin Palmerius

Illumination and Geometry Techniques. Karljohan Lundin Palmerius Illumination and Geometry Techniques Karljohan Lundin Palmerius Objectives Complex geometries Translucency Huge areas Really nice graphics! Shadows Graceful degradation Acceleration Optimization Straightforward

More information

Spatial Data Structures

Spatial Data Structures CSCI 420 Computer Graphics Lecture 17 Spatial Data Structures Jernej Barbic University of Southern California Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees [Angel Ch. 8] 1 Ray Tracing Acceleration

More information

Homework 1: Implicit Surfaces, Collision Detection, & Volumetric Data Structures. Loop Subdivision. Loop Subdivision. Questions/Comments?

Homework 1: Implicit Surfaces, Collision Detection, & Volumetric Data Structures. Loop Subdivision. Loop Subdivision. Questions/Comments? Homework 1: Questions/Comments? Implicit Surfaces,, & Volumetric Data Structures Loop Subdivision Shirley, Fundamentals of Computer Graphics Loop Subdivision SIGGRAPH 2000 course notes Subdivision for

More information

Abstract. Introduction. Kevin Todisco

Abstract. Introduction. Kevin Todisco - Kevin Todisco Figure 1: A large scale example of the simulation. The leftmost image shows the beginning of the test case, and shows how the fluid refracts the environment around it. The middle image

More information

Spatial Data Structures

Spatial Data Structures CSCI 480 Computer Graphics Lecture 7 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids BSP Trees [Ch. 0.] March 8, 0 Jernej Barbic University of Southern California http://www-bcf.usc.edu/~jbarbic/cs480-s/

More information

Intersection Acceleration

Intersection Acceleration Advanced Computer Graphics Intersection Acceleration Matthias Teschner Computer Science Department University of Freiburg Outline introduction bounding volume hierarchies uniform grids kd-trees octrees

More information

Choosing a Search Space Representation

Choosing a Search Space Representation 18 Choosing a Search Space Representation Nathan R. Sturtevant 18.1 Introduction 18.2 Tasks 18.3 Grids 18.4 Waypoint Graphs 18.5 Navigation Meshes 18.6 Conclusion 18.1 Introduction The choice of a path

More information

Universiteit Leiden Computer Science

Universiteit Leiden Computer Science Universiteit Leiden Computer Science Optimizing octree updates for visibility determination on dynamic scenes Name: Hans Wortel Student-no: 0607940 Date: 28/07/2011 1st supervisor: Dr. Michael Lew 2nd

More information

Adaptive Point Cloud Rendering

Adaptive Point Cloud Rendering 1 Adaptive Point Cloud Rendering Project Plan Final Group: May13-11 Christopher Jeffers Eric Jensen Joel Rausch Client: Siemens PLM Software Client Contact: Michael Carter Adviser: Simanta Mitra 4/29/13

More information

Physically-Based Laser Simulation

Physically-Based Laser Simulation Physically-Based Laser Simulation Greg Reshko Carnegie Mellon University reshko@cs.cmu.edu Dave Mowatt Carnegie Mellon University dmowatt@andrew.cmu.edu Abstract In this paper, we describe our work on

More information

Per-pixel Rendering of Terrain Data

Per-pixel Rendering of Terrain Data Per-pixel Rendering of Terrain Data Taek Sang Jeong and JungHyun Han Department of Computer Science and Engineering, Korea University, Korea Abstract. This paper presents a novel approach to terrain rendering,

More information

Scalar Algorithms: Contouring

Scalar Algorithms: Contouring Scalar Algorithms: Contouring Computer Animation and Visualisation Lecture tkomura@inf.ed.ac.uk Institute for Perception, Action & Behaviour School of Informatics Contouring Scaler Data Last Lecture...

More information

Impostors and pseudo-instancing for GPU crowd rendering

Impostors and pseudo-instancing for GPU crowd rendering Impostors and pseudo-instancing for GPU crowd rendering Erik Millan ITESM CEM Isaac Rudomin ITESM CEM Figure 1: Rendering of a 1, 048, 576 character crowd. Abstract Animated crowds are effective to increase

More information

Collision Avoidance with Unity3d

Collision Avoidance with Unity3d Collision Avoidance with Unity3d Jassiem Ifill September 12, 2013 Abstract The primary goal of the research presented in this paper is to achieve natural crowd simulation and collision avoidance within

More information

Terrain rendering (part 1) Due: Monday, March 10, 10pm

Terrain rendering (part 1) Due: Monday, March 10, 10pm CMSC 3700 Winter 014 Introduction to Computer Graphics Project 4 February 5 Terrain rendering (part 1) Due: Monday, March 10, 10pm 1 Summary The final two projects involves rendering large-scale outdoor

More information

Graphics and Interaction Rendering pipeline & object modelling

Graphics and Interaction Rendering pipeline & object modelling 433-324 Graphics and Interaction Rendering pipeline & object modelling Department of Computer Science and Software Engineering The Lecture outline Introduction to Modelling Polygonal geometry The rendering

More information

Impostors, Pseudo-instancing and Image Maps for GPU Crowd Rendering

Impostors, Pseudo-instancing and Image Maps for GPU Crowd Rendering 35 Impostors, Pseudo-instancing and Image Maps for GPU Crowd Rendering Erik Millán and Isaac Rudomín 1 Abstract Rendering large crowds of characters requires a great amount of computational power. To increase

More information

Hello, Thanks for the introduction

Hello, Thanks for the introduction Hello, Thanks for the introduction 1 In this paper we suggest an efficient data-structure for precomputed shadows from point light or directional light-sources. Because, in fact, after more than four decades

More information

Terrain Rendering Research for Games. Jonathan Blow Bolt Action Software

Terrain Rendering Research for Games. Jonathan Blow Bolt Action Software Terrain Rendering Research for Games Jonathan Blow Bolt Action Software jon@bolt-action.com Lecture Agenda Introduction to the problem Survey of established algorithms Problems with established algorithms

More information

Sketch-based Interface for Crowd Animation

Sketch-based Interface for Crowd Animation Sketch-based Interface for Crowd Animation Masaki Oshita 1, Yusuke Ogiwara 1 1 Kyushu Institute of Technology 680-4 Kawazu, Iizuka, Fukuoka, 820-8502, Japan oshita@ces.kyutech.ac.p ogiwara@cg.ces.kyutech.ac.p

More information

LOD and Occlusion Christian Miller CS Fall 2011

LOD and Occlusion Christian Miller CS Fall 2011 LOD and Occlusion Christian Miller CS 354 - Fall 2011 Problem You want to render an enormous island covered in dense vegetation in realtime [Crysis] Scene complexity Many billions of triangles Many gigabytes

More information

Lecture overview. Visualisatie BMT. Fundamental algorithms. Visualization pipeline. Structural classification - 1. Structural classification - 2

Lecture overview. Visualisatie BMT. Fundamental algorithms. Visualization pipeline. Structural classification - 1. Structural classification - 2 Visualisatie BMT Fundamental algorithms Arjan Kok a.j.f.kok@tue.nl Lecture overview Classification of algorithms Scalar algorithms Vector algorithms Tensor algorithms Modeling algorithms 1 2 Visualization

More information

Computer Game Programming Basic Path Finding

Computer Game Programming Basic Path Finding 15-466 Computer Game Programming Basic Path Finding Robotics Institute Path Planning Sven Path Planning needs to be very fast (especially for games with many characters) needs to generate believable paths

More information

ENHANCING THE CONTROL AND PERFORMANCE OF PARTICLE SYSTEMS THROUGH THE USE OF LOCAL ENVIRONMENTS. Abstract

ENHANCING THE CONTROL AND PERFORMANCE OF PARTICLE SYSTEMS THROUGH THE USE OF LOCAL ENVIRONMENTS. Abstract ENHANCING THE CONTROL AND PERFORMANCE OF PARTICLE SYSTEMS THROUGH THE USE OF LOCAL ENVIRONMENTS Daniel O. Kutz Richard R. Eckert State University of New York at Binghamton Binghamton, NY 13902 Abstract

More information

PARALLEL AND DISTRIBUTED PLATFORM FOR PLUG-AND-PLAY AGENT-BASED SIMULATIONS. Wentong CAI

PARALLEL AND DISTRIBUTED PLATFORM FOR PLUG-AND-PLAY AGENT-BASED SIMULATIONS. Wentong CAI PARALLEL AND DISTRIBUTED PLATFORM FOR PLUG-AND-PLAY AGENT-BASED SIMULATIONS Wentong CAI Parallel & Distributed Computing Centre School of Computer Engineering Nanyang Technological University Singapore

More information

Spatial Data Structures

Spatial Data Structures Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) [Angel 9.10] Outline Ray tracing review what rays matter? Ray tracing speedup faster

More information

Spatial Data Structures

Spatial Data Structures 15-462 Computer Graphics I Lecture 17 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) April 1, 2003 [Angel 9.10] Frank Pfenning Carnegie

More information

Building scalable 3D applications. Ville Miettinen Hybrid Graphics

Building scalable 3D applications. Ville Miettinen Hybrid Graphics Building scalable 3D applications Ville Miettinen Hybrid Graphics What s going to happen... (1/2) Mass market: 3D apps will become a huge success on low-end and mid-tier cell phones Retro-gaming New game

More information

Real-Time Rendering of a Scene With Many Pedestrians

Real-Time Rendering of a Scene With Many Pedestrians 2015 http://excel.fit.vutbr.cz Real-Time Rendering of a Scene With Many Pedestrians Va clav Pfudl Abstract The aim of this text was to describe implementation of software that would be able to simulate

More information

Crowd simulation. Taku Komura

Crowd simulation. Taku Komura Crowd simulation Taku Komura Animating Crowds We have been going through methods to simulate individual characters What if we want to simulate the movement of crowds? Pedestrians in the streets Flock of

More information

Many rendering scenarios, such as battle scenes or urban environments, require rendering of large numbers of autonomous characters.

Many rendering scenarios, such as battle scenes or urban environments, require rendering of large numbers of autonomous characters. 1 2 Many rendering scenarios, such as battle scenes or urban environments, require rendering of large numbers of autonomous characters. Crowd rendering in large environments presents a number of challenges,

More information

Mesh Simplification. Mesh Simplification. Mesh Simplification Goals. Mesh Simplification Motivation. Vertex Clustering. Mesh Simplification Overview

Mesh Simplification. Mesh Simplification. Mesh Simplification Goals. Mesh Simplification Motivation. Vertex Clustering. Mesh Simplification Overview Mesh Simplification Mesh Simplification Adam Finkelstein Princeton University COS 56, Fall 008 Slides from: Funkhouser Division, Viewpoint, Cohen Mesh Simplification Motivation Interactive visualization

More information

STEERING BEHAVIORS MOTIVATION REQUIREMENTS FOR MOTION CONTROL MOTIVATION BOIDS & FLOCKING MODEL STEERING BEHAVIORS - BASICS

STEERING BEHAVIORS MOTIVATION REQUIREMENTS FOR MOTION CONTROL MOTIVATION BOIDS & FLOCKING MODEL STEERING BEHAVIORS - BASICS Přednáška byla podpořena v rámci projektu OPPA CZ.2.17/3.1.00/33274 financovaného Evropským sociálním fondem a rozpočtem hlavního města Prahy. Evropský sociální fond Praha & EU: investujeme do Vaší budoucnosti

More information

Spatial Data Structures

Spatial Data Structures 15-462 Computer Graphics I Lecture 17 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) March 28, 2002 [Angel 8.9] Frank Pfenning Carnegie

More information

STEERING BEHAVIORS. Markéta Popelová, marketa.popelova [zavináč] matfyz.cz. 2012, Umělé Bytosti, MFF UK

STEERING BEHAVIORS. Markéta Popelová, marketa.popelova [zavináč] matfyz.cz. 2012, Umělé Bytosti, MFF UK STEERING BEHAVIORS Markéta Popelová, marketa.popelova [zavináč] matfyz.cz 2012, Umělé Bytosti, MFF UK MOTIVATION MOTIVATION REQUIREMENTS FOR MOTION CONTROL Responding to dynamic environment Avoiding obstacles

More information

COMP 175: Computer Graphics April 11, 2018

COMP 175: Computer Graphics April 11, 2018 Lecture n+1: Recursive Ray Tracer2: Advanced Techniques and Data Structures COMP 175: Computer Graphics April 11, 2018 1/49 Review } Ray Intersect (Assignment 4): questions / comments? } Review of Recursive

More information

3 Polygonal Modeling. Getting Started with Maya 103

3 Polygonal Modeling. Getting Started with Maya 103 3 Polygonal Modeling In Maya, modeling refers to the process of creating virtual 3D surfaces for the characters and objects in the Maya scene. Surfaces play an important role in the overall Maya workflow

More information

Navigation Mesh based Pathfinding for large crowds

Navigation Mesh based Pathfinding for large crowds Navigation Mesh based Pathfinding for large crowds Robert Lindner Introduction This paper is about methods that can be used to get as much performance as possible while simulating the pathfinding of large

More information

CS 563 Advanced Topics in Computer Graphics QSplat. by Matt Maziarz

CS 563 Advanced Topics in Computer Graphics QSplat. by Matt Maziarz CS 563 Advanced Topics in Computer Graphics QSplat by Matt Maziarz Outline Previous work in area Background Overview In-depth look File structure Performance Future Point Rendering To save on setup and

More information

Level Set Extraction from Gridded 2D and 3D Data

Level Set Extraction from Gridded 2D and 3D Data Level Set Extraction from Gridded 2D and 3D Data David Eberly, Geometric Tools, Redmond WA 98052 https://www.geometrictools.com/ This work is licensed under the Creative Commons Attribution 4.0 International

More information

Sculpting 3D Models. Glossary

Sculpting 3D Models. Glossary A Array An array clones copies of an object in a pattern, such as in rows and columns, or in a circle. Each object in an array can be transformed individually. Array Flyout Array flyout is available in

More information

CS 231. Crowd Simulation. Outline. Introduction to Crowd Simulation. Flocking Social Forces 2D Cellular Automaton Continuum Crowds

CS 231. Crowd Simulation. Outline. Introduction to Crowd Simulation. Flocking Social Forces 2D Cellular Automaton Continuum Crowds CS 231 Crowd Simulation Outline Introduction to Crowd Simulation Fields of Study & Applications Visualization vs. Realism Microscopic vs. Macroscopic Flocking Social Forces 2D Cellular Automaton Continuum

More information

On the data structures and algorithms for contact detection in granular media (DEM) V. Ogarko, May 2010, P2C course

On the data structures and algorithms for contact detection in granular media (DEM) V. Ogarko, May 2010, P2C course On the data structures and algorithms for contact detection in granular media (DEM) V. Ogarko, May 2010, P2C course Discrete element method (DEM) Single particle Challenges: -performance O(N) (with low

More information

Rendering Grass with Instancing in DirectX* 10

Rendering Grass with Instancing in DirectX* 10 Rendering Grass with Instancing in DirectX* 10 By Anu Kalra Because of the geometric complexity, rendering realistic grass in real-time is difficult, especially on consumer graphics hardware. This article

More information

Terrain Rendering (Part 1) Due: Thursday November 30 at 10pm

Terrain Rendering (Part 1) Due: Thursday November 30 at 10pm CMSC 23700 Autumn 2017 Introduction to Computer Graphics Project 5 November 16, 2015 Terrain Rendering (Part 1) Due: Thursday November 30 at 10pm 1 Summary The final project involves rendering large-scale

More information

Graphics for VEs. Ruth Aylett

Graphics for VEs. Ruth Aylett Graphics for VEs Ruth Aylett Overview VE Software Graphics for VEs The graphics pipeline Projections Lighting Shading VR software Two main types of software used: off-line authoring or modelling packages

More information

Crowd simulation. Summerschool Utrecht: Multidisciplinary Game Research. Dr. Roland Geraerts 23 August 2017

Crowd simulation. Summerschool Utrecht: Multidisciplinary Game Research. Dr. Roland Geraerts 23 August 2017 Crowd simulation Summerschool Utrecht: Multidisciplinary Game Research Dr. Roland Geraerts 23 August 2017 1 Societal relevance of crowd simulation The number of environments with big crowds are growing

More information

CSE 167: Introduction to Computer Graphics Lecture #18: More Effects. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016

CSE 167: Introduction to Computer Graphics Lecture #18: More Effects. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016 CSE 167: Introduction to Computer Graphics Lecture #18: More Effects Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016 Announcements TA evaluations CAPE Final project blog

More information

Motivation. Culling Don t draw what you can t see! What can t we see? Low-level Culling

Motivation. Culling Don t draw what you can t see! What can t we see? Low-level Culling Motivation Culling Don t draw what you can t see! Thomas Larsson Mälardalen University April 7, 2016 Image correctness Rendering speed One day we will have enough processing power!? Goals of real-time

More information

The 3D rendering pipeline (our version for this class)

The 3D rendering pipeline (our version for this class) The 3D rendering pipeline (our version for this class) 3D models in model coordinates 3D models in world coordinates 2D Polygons in camera coordinates Pixels in image coordinates Scene graph Camera Rasterization

More information

3-Dimensional Object Modeling with Mesh Simplification Based Resolution Adjustment

3-Dimensional Object Modeling with Mesh Simplification Based Resolution Adjustment 3-Dimensional Object Modeling with Mesh Simplification Based Resolution Adjustment Özgür ULUCAY Sarp ERTÜRK University of Kocaeli Electronics & Communication Engineering Department 41040 Izmit, Kocaeli

More information

Adarsh Krishnamurthy (cs184-bb) Bela Stepanova (cs184-bs)

Adarsh Krishnamurthy (cs184-bb) Bela Stepanova (cs184-bs) OBJECTIVE FLUID SIMULATIONS Adarsh Krishnamurthy (cs184-bb) Bela Stepanova (cs184-bs) The basic objective of the project is the implementation of the paper Stable Fluids (Jos Stam, SIGGRAPH 99). The final

More information

Formations in flow fields

Formations in flow fields Formations in flow fields Rick van Meer June 11, 2015 1 Introduction Pathfinding and formations (i.e. an arrangement of agents) are both a part of artificial intelligence and can be used in games. However,

More information

improving raytracing speed

improving raytracing speed ray tracing II computer graphics ray tracing II 2006 fabio pellacini 1 improving raytracing speed computer graphics ray tracing II 2006 fabio pellacini 2 raytracing computational complexity ray-scene intersection

More information

Intuitive Crowd Behaviour in Dense Urban Environments using Local Laws

Intuitive Crowd Behaviour in Dense Urban Environments using Local Laws Intuitive Crowd Behaviour in Dense Urban Environments using Local Laws Celine Loscos University College London C.Loscos@cs.ucl.ac.uk David Marchal Ecole Polytechnique Paris Alexandre Meyer University College

More information

Real-Time Rendering (Echtzeitgraphik) Dr. Michael Wimmer

Real-Time Rendering (Echtzeitgraphik) Dr. Michael Wimmer Real-Time Rendering (Echtzeitgraphik) Dr. Michael Wimmer wimmer@cg.tuwien.ac.at Visibility Overview Basics about visibility Basics about occlusion culling View-frustum culling / backface culling Occlusion

More information

Particle methods for a virtual patient

Particle methods for a virtual patient Particle methods for a virtual patient Buckley, O, Hughes, CJ, John, N and Pop, S Title Authors Type URL Published Date 2009 Particle methods for a virtual patient Buckley, O, Hughes, CJ, John, N and Pop,

More information

6. Parallel Volume Rendering Algorithms

6. Parallel Volume Rendering Algorithms 6. Parallel Volume Algorithms This chapter introduces a taxonomy of parallel volume rendering algorithms. In the thesis statement we claim that parallel algorithms may be described by "... how the tasks

More information

A Developer s Survey of Polygonal Simplification algorithms. CS 563 Advanced Topics in Computer Graphics Fan Wu Mar. 31, 2005

A Developer s Survey of Polygonal Simplification algorithms. CS 563 Advanced Topics in Computer Graphics Fan Wu Mar. 31, 2005 A Developer s Survey of Polygonal Simplification algorithms CS 563 Advanced Topics in Computer Graphics Fan Wu Mar. 31, 2005 Some questions to ask Why simplification? What are my models like? What matters

More information

Algorithms. Algorithms GEOMETRIC APPLICATIONS OF BSTS. 1d range search line segment intersection kd trees interval search trees rectangle intersection

Algorithms. Algorithms GEOMETRIC APPLICATIONS OF BSTS. 1d range search line segment intersection kd trees interval search trees rectangle intersection Algorithms ROBERT SEDGEWICK KEVIN WAYNE GEOMETRIC APPLICATIONS OF BSTS Algorithms F O U R T H E D I T I O N ROBERT SEDGEWICK KEVIN WAYNE 1d range search line segment intersection kd trees interval search

More information

FixDec: Fixed Spherical n Points Density-Based Clustering Technique for Cloth Simulation

FixDec: Fixed Spherical n Points Density-Based Clustering Technique for Cloth Simulation FixDec: Fixed Spherical n Points Density-Based Clustering Technique for Cloth Simulation Nur Saadah Mohd Shapri #1, Riza Sulaiman #2, Abdullah Bade *3 # Faculty of Information Science and Technology Universiti

More information

Algorithms. Algorithms GEOMETRIC APPLICATIONS OF BSTS. 1d range search line segment intersection kd trees interval search trees rectangle intersection

Algorithms. Algorithms GEOMETRIC APPLICATIONS OF BSTS. 1d range search line segment intersection kd trees interval search trees rectangle intersection Algorithms ROBERT SEDGEWICK KEVIN WAYNE GEOMETRIC APPLICATIONS OF BSTS Algorithms F O U R T H E D I T I O N ROBERT SEDGEWICK KEVIN WAYNE 1d range search line segment intersection kd trees interval search

More information

Simulation: Particle Systems

Simulation: Particle Systems Simulation: Particle Systems Course web page: http://goo.gl/eb3aa February 28, 2012 Lecture 5 Particle Systems Definition: Simulation of a set of similar, moving agents in a larger environment Scale usually

More information

Data Representation in Visualisation

Data Representation in Visualisation Data Representation in Visualisation Visualisation Lecture 4 Taku Komura Institute for Perception, Action & Behaviour School of Informatics Taku Komura Data Representation 1 Data Representation We have

More information

Computer Graphics. Bing-Yu Chen National Taiwan University

Computer Graphics. Bing-Yu Chen National Taiwan University Computer Graphics Bing-Yu Chen National Taiwan University Visible-Surface Determination Back-Face Culling The Depth-Sort Algorithm Binary Space-Partitioning Trees The z-buffer Algorithm Scan-Line Algorithm

More information

Implementing a Hybrid Space Discretisation Within An Agent Based Evacuation Model

Implementing a Hybrid Space Discretisation Within An Agent Based Evacuation Model Paper presented at PED 2010, NIST, Maryland USA, March 8-10 2010 Implementing a Hybrid Space Discretisation Within An Agent Based Evacuation Model N. Chooramun, P.J. Lawrence and E.R.Galea Fire Safety

More information

CrowdMixer: Multiple Agent Types in Situation-Based Crowd Simulations

CrowdMixer: Multiple Agent Types in Situation-Based Crowd Simulations CrowdMixer: Multiple Agent Types in Situation-Based Crowd Simulations Shannon Blyth and Howard J. Hamilton Department of Computer Science University of Regina, Regina, SK, Canada S4S 0A2 {blyth1sh, hamilton}@cs.uregina.ca

More information

Algorithms. Algorithms GEOMETRIC APPLICATIONS OF BSTS. 1d range search line segment intersection kd trees interval search trees rectangle intersection

Algorithms. Algorithms GEOMETRIC APPLICATIONS OF BSTS. 1d range search line segment intersection kd trees interval search trees rectangle intersection Algorithms ROBERT SEDGEWICK KEVIN WAYNE GEOMETRIC APPLICATIONS OF BSTS Algorithms F O U R T H E D I T I O N ROBERT SEDGEWICK KEVIN WAYNE 1d range search line segment intersection kd trees interval search

More information

Real-Time Shadows for Animated Crowds in Virtual Cities

Real-Time Shadows for Animated Crowds in Virtual Cities Real-Time Shadows for Animated Crowds in Virtual Cities Céline Loscos c.loscos@cs.ucl.ac.uk Franco Tecchia f.techhia@cs.ucl.ac.uk Yiorgos Chrysanthou y.chrysanthou@cs.ucl.ac.uk University College London

More information

CS GAME PROGRAMMING Question bank

CS GAME PROGRAMMING Question bank CS6006 - GAME PROGRAMMING Question bank Part A Unit I 1. List the different types of coordinate systems. 2. What is ray tracing? Mention some applications of ray tracing. 3. Discuss the stages involved

More information

CSE 167: Introduction to Computer Graphics Lecture #19: Wrapping Up. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2017

CSE 167: Introduction to Computer Graphics Lecture #19: Wrapping Up. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2017 CSE 167: Introduction to Computer Graphics Lecture #19: Wrapping Up Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2017 Announcements TA evaluations CAPE Final project blog entries

More information

Building Reliable 2D Maps from 3D Features

Building Reliable 2D Maps from 3D Features Building Reliable 2D Maps from 3D Features Dipl. Technoinform. Jens Wettach, Prof. Dr. rer. nat. Karsten Berns TU Kaiserslautern; Robotics Research Lab 1, Geb. 48; Gottlieb-Daimler- Str.1; 67663 Kaiserslautern;

More information

Path Planning. Marcello Restelli. Dipartimento di Elettronica e Informazione Politecnico di Milano tel:

Path Planning. Marcello Restelli. Dipartimento di Elettronica e Informazione Politecnico di Milano   tel: Marcello Restelli Dipartimento di Elettronica e Informazione Politecnico di Milano email: restelli@elet.polimi.it tel: 02 2399 3470 Path Planning Robotica for Computer Engineering students A.A. 2006/2007

More information

Graphics for VEs. Ruth Aylett

Graphics for VEs. Ruth Aylett Graphics for VEs Ruth Aylett Overview VE Software Graphics for VEs The graphics pipeline Projections Lighting Shading Runtime VR systems Two major parts: initialisation and update loop. Initialisation

More information

Demoscene and Maths. Presentation by Konstantinos Pataridis aka Navis/ASD University of Oxford August 2006

Demoscene and Maths. Presentation by Konstantinos Pataridis aka Navis/ASD University of Oxford August 2006 Demoscene and Maths Presentation by Konstantinos Pataridis aka Navis/ASD University of Oxford August 2006 Demos are a challenge: There is no strict definition of a demo, in the broad sense it is a blend

More information

Computer Graphics. Bing-Yu Chen National Taiwan University The University of Tokyo

Computer Graphics. Bing-Yu Chen National Taiwan University The University of Tokyo Computer Graphics Bing-Yu Chen National Taiwan University The University of Tokyo Hidden-Surface Removal Back-Face Culling The Depth-Sort Algorithm Binary Space-Partitioning Trees The z-buffer Algorithm

More information

GPU-based Distributed Behavior Models with CUDA

GPU-based Distributed Behavior Models with CUDA GPU-based Distributed Behavior Models with CUDA Courtesy: YouTube, ISIS Lab, Universita degli Studi di Salerno Bradly Alicea Introduction Flocking: Reynolds boids algorithm. * models simple local behaviors

More information

3D Programming. 3D Programming Concepts. Outline. 3D Concepts. 3D Concepts -- Coordinate Systems. 3D Concepts Displaying 3D Models

3D Programming. 3D Programming Concepts. Outline. 3D Concepts. 3D Concepts -- Coordinate Systems. 3D Concepts Displaying 3D Models 3D Programming Concepts Outline 3D Concepts Displaying 3D Models 3D Programming CS 4390 3D Computer 1 2 3D Concepts 3D Model is a 3D simulation of an object. Coordinate Systems 3D Models 3D Shapes 3D Concepts

More information

Tutorial Model the perfect 3D face

Tutorial Model the perfect 3D face Model the perfect D face Want to get your head around D modelling? We use Maya to show you how to build an animatable face feature by feature T here are many ways in which to model a head in D. In this

More information

View-Dependent Selective Refinement for Fast Rendering

View-Dependent Selective Refinement for Fast Rendering 1 View-Dependent Selective Refinement for Fast Rendering Kyle Brocklehurst Department of Computer Science and Engineering The Pennsylvania State University kpb136@psu.edu Abstract Triangle meshes are used

More information

Real Time Rendering of Complex Height Maps Walking an infinite realistic landscape By: Jeffrey Riaboy Written 9/7/03

Real Time Rendering of Complex Height Maps Walking an infinite realistic landscape By: Jeffrey Riaboy Written 9/7/03 1 Real Time Rendering of Complex Height Maps Walking an infinite realistic landscape By: Jeffrey Riaboy Written 9/7/03 Table of Contents 1 I. Overview 2 II. Creation of the landscape using fractals 3 A.

More information

Chapter 1. Introduction

Chapter 1. Introduction Introduction 1 Chapter 1. Introduction We live in a three-dimensional world. Inevitably, any application that analyzes or visualizes this world relies on three-dimensional data. Inherent characteristics

More information

Pathfinding in partially explored games environments

Pathfinding in partially explored games environments Pathfinding in partially explored games environments The application of the A Algorithm with Occupancy Grids in Unity3D John Stamford, Arjab Singh Khuman, Jenny Carter & Samad Ahmadi Centre for Computational

More information

PARTICLE SWARM OPTIMIZATION (PSO)

PARTICLE SWARM OPTIMIZATION (PSO) PARTICLE SWARM OPTIMIZATION (PSO) J. Kennedy and R. Eberhart, Particle Swarm Optimization. Proceedings of the Fourth IEEE Int. Conference on Neural Networks, 1995. A population based optimization technique

More information

Three-Dimensional Off-Line Path Planning for Unmanned Aerial Vehicle Using Modified Particle Swarm Optimization

Three-Dimensional Off-Line Path Planning for Unmanned Aerial Vehicle Using Modified Particle Swarm Optimization Three-Dimensional Off-Line Path Planning for Unmanned Aerial Vehicle Using Modified Particle Swarm Optimization Lana Dalawr Jalal Abstract This paper addresses the problem of offline path planning for

More information