![Page 1: Pathfinding in 3d space - GitHub Pages · Pathfinding in 3D Space CHIA-MAN HUNG & RUOQI HE . Outline Introduction I. State of the art II. Algorithms III. Implementation in 3D space](https://reader033.vdocuments.us/reader033/viewer/2022042015/5e7417efe135314c6e4aa73a/html5/thumbnails/1.jpg)
Pathfinding in
3D SpaceCHIA-MAN HUNG & RUOQI HE
![Page 2: Pathfinding in 3d space - GitHub Pages · Pathfinding in 3D Space CHIA-MAN HUNG & RUOQI HE . Outline Introduction I. State of the art II. Algorithms III. Implementation in 3D space](https://reader033.vdocuments.us/reader033/viewer/2022042015/5e7417efe135314c6e4aa73a/html5/thumbnails/2.jpg)
Outline
Introduction
I. State of the art
II. Algorithms
III. Implementation in 3D space
IV. Results
Conclusion
![Page 3: Pathfinding in 3d space - GitHub Pages · Pathfinding in 3D Space CHIA-MAN HUNG & RUOQI HE . Outline Introduction I. State of the art II. Algorithms III. Implementation in 3D space](https://reader033.vdocuments.us/reader033/viewer/2022042015/5e7417efe135314c6e4aa73a/html5/thumbnails/3.jpg)
Introduction
Objective: Find the shortest paths efficiently in 3D space
Applications: video games, drone navigation
![Page 4: Pathfinding in 3d space - GitHub Pages · Pathfinding in 3D Space CHIA-MAN HUNG & RUOQI HE . Outline Introduction I. State of the art II. Algorithms III. Implementation in 3D space](https://reader033.vdocuments.us/reader033/viewer/2022042015/5e7417efe135314c6e4aa73a/html5/thumbnails/4.jpg)
I. State of the art Homeworld (1999) :
First famous real-time strategy game with movement in 3D space
![Page 5: Pathfinding in 3d space - GitHub Pages · Pathfinding in 3D Space CHIA-MAN HUNG & RUOQI HE . Outline Introduction I. State of the art II. Algorithms III. Implementation in 3D space](https://reader033.vdocuments.us/reader033/viewer/2022042015/5e7417efe135314c6e4aa73a/html5/thumbnails/5.jpg)
I. State of the art
Shortest paths in a graph
Dijkstra (single source)
O((|V|+|E|)log(|V|))
Bellman-Ford (single source, weighted directed graph)
O(|V||E|)
Floyd-Warshall (for all pairs of vertices, weighted graph , no negative cycle)
O(|V|3)
A* (single source, single destination)
O(n), n = length of the solution path => O(|E|)
![Page 6: Pathfinding in 3d space - GitHub Pages · Pathfinding in 3D Space CHIA-MAN HUNG & RUOQI HE . Outline Introduction I. State of the art II. Algorithms III. Implementation in 3D space](https://reader033.vdocuments.us/reader033/viewer/2022042015/5e7417efe135314c6e4aa73a/html5/thumbnails/6.jpg)
I. State of the art
2D - exact
Visibility graph
Anya (2D grid)
2D - approximate
Waypoints
Navigation mesh + tunnel
Family of Theta*
![Page 7: Pathfinding in 3d space - GitHub Pages · Pathfinding in 3D Space CHIA-MAN HUNG & RUOQI HE . Outline Introduction I. State of the art II. Algorithms III. Implementation in 3D space](https://reader033.vdocuments.us/reader033/viewer/2022042015/5e7417efe135314c6e4aa73a/html5/thumbnails/7.jpg)
Non-optimality
Navigation mesh + tunnel
path found VS true shortest path
![Page 8: Pathfinding in 3d space - GitHub Pages · Pathfinding in 3D Space CHIA-MAN HUNG & RUOQI HE . Outline Introduction I. State of the art II. Algorithms III. Implementation in 3D space](https://reader033.vdocuments.us/reader033/viewer/2022042015/5e7417efe135314c6e4aa73a/html5/thumbnails/8.jpg)
I. State of the art
3D surface - exact
Windows (Fast exact and approximate geodesics on meshes 2005
Surazhsky)
3D surface - approximate
Heat (Geodesics in heat 2013 Crane)
Fast-marching (1996 Sethian)
![Page 9: Pathfinding in 3d space - GitHub Pages · Pathfinding in 3D Space CHIA-MAN HUNG & RUOQI HE . Outline Introduction I. State of the art II. Algorithms III. Implementation in 3D space](https://reader033.vdocuments.us/reader033/viewer/2022042015/5e7417efe135314c6e4aa73a/html5/thumbnails/9.jpg)
II. Algorithms
World representation
Tetrahedralization
Convex decomposition
Grid
Octree
![Page 10: Pathfinding in 3d space - GitHub Pages · Pathfinding in 3D Space CHIA-MAN HUNG & RUOQI HE . Outline Introduction I. State of the art II. Algorithms III. Implementation in 3D space](https://reader033.vdocuments.us/reader033/viewer/2022042015/5e7417efe135314c6e4aa73a/html5/thumbnails/10.jpg)
II. Algorithms
A* (1968 Hart)
h admissible if
no over-estimation and
h(y) <= h(x) + d(x, y)
![Page 11: Pathfinding in 3d space - GitHub Pages · Pathfinding in 3D Space CHIA-MAN HUNG & RUOQI HE . Outline Introduction I. State of the art II. Algorithms III. Implementation in 3D space](https://reader033.vdocuments.us/reader033/viewer/2022042015/5e7417efe135314c6e4aa73a/html5/thumbnails/11.jpg)
II. Algorithms
Theta* (2007 Nash)
![Page 12: Pathfinding in 3d space - GitHub Pages · Pathfinding in 3D Space CHIA-MAN HUNG & RUOQI HE . Outline Introduction I. State of the art II. Algorithms III. Implementation in 3D space](https://reader033.vdocuments.us/reader033/viewer/2022042015/5e7417efe135314c6e4aa73a/html5/thumbnails/12.jpg)
II. Algorithms
Lazy Theta* (2010 Nash)
![Page 13: Pathfinding in 3d space - GitHub Pages · Pathfinding in 3D Space CHIA-MAN HUNG & RUOQI HE . Outline Introduction I. State of the art II. Algorithms III. Implementation in 3D space](https://reader033.vdocuments.us/reader033/viewer/2022042015/5e7417efe135314c6e4aa73a/html5/thumbnails/13.jpg)
III. Implementation
Octree construction
Triangle-cube intersection
Progressive octree
Graph construction
Dual graph (not standard) Edge-corner
![Page 14: Pathfinding in 3d space - GitHub Pages · Pathfinding in 3D Space CHIA-MAN HUNG & RUOQI HE . Outline Introduction I. State of the art II. Algorithms III. Implementation in 3D space](https://reader033.vdocuments.us/reader033/viewer/2022042015/5e7417efe135314c6e4aa73a/html5/thumbnails/14.jpg)
III. Implementation
Line of sight
Fast
Robust
![Page 15: Pathfinding in 3d space - GitHub Pages · Pathfinding in 3D Space CHIA-MAN HUNG & RUOQI HE . Outline Introduction I. State of the art II. Algorithms III. Implementation in 3D space](https://reader033.vdocuments.us/reader033/viewer/2022042015/5e7417efe135314c6e4aa73a/html5/thumbnails/15.jpg)
III. Implementation
Injection of source and destination
![Page 16: Pathfinding in 3d space - GitHub Pages · Pathfinding in 3D Space CHIA-MAN HUNG & RUOQI HE . Outline Introduction I. State of the art II. Algorithms III. Implementation in 3D space](https://reader033.vdocuments.us/reader033/viewer/2022042015/5e7417efe135314c6e4aa73a/html5/thumbnails/16.jpg)
III. Implementation - Optimisation
Avoid exhaustive search
Precompute the connectivity of the graph nodes
![Page 17: Pathfinding in 3d space - GitHub Pages · Pathfinding in 3D Space CHIA-MAN HUNG & RUOQI HE . Outline Introduction I. State of the art II. Algorithms III. Implementation in 3D space](https://reader033.vdocuments.us/reader033/viewer/2022042015/5e7417efe135314c6e4aa73a/html5/thumbnails/17.jpg)
III. Implementation - Optimisation
Multisource
Reuse information
![Page 18: Pathfinding in 3d space - GitHub Pages · Pathfinding in 3D Space CHIA-MAN HUNG & RUOQI HE . Outline Introduction I. State of the art II. Algorithms III. Implementation in 3D space](https://reader033.vdocuments.us/reader033/viewer/2022042015/5e7417efe135314c6e4aa73a/html5/thumbnails/18.jpg)
III. Implementation - Extension
Application in video games
Waypoints
Repulsive force
Replanning
![Page 19: Pathfinding in 3d space - GitHub Pages · Pathfinding in 3D Space CHIA-MAN HUNG & RUOQI HE . Outline Introduction I. State of the art II. Algorithms III. Implementation in 3D space](https://reader033.vdocuments.us/reader033/viewer/2022042015/5e7417efe135314c6e4aa73a/html5/thumbnails/19.jpg)
IV. Results
Red: A*
Green: Theta*
Blue: Lazy Theta*
![Page 20: Pathfinding in 3d space - GitHub Pages · Pathfinding in 3D Space CHIA-MAN HUNG & RUOQI HE . Outline Introduction I. State of the art II. Algorithms III. Implementation in 3D space](https://reader033.vdocuments.us/reader033/viewer/2022042015/5e7417efe135314c6e4aa73a/html5/thumbnails/20.jpg)
IV. Results
Red: A*
Green: Theta*
Blue: Lazy Theta*
![Page 21: Pathfinding in 3d space - GitHub Pages · Pathfinding in 3D Space CHIA-MAN HUNG & RUOQI HE . Outline Introduction I. State of the art II. Algorithms III. Implementation in 3D space](https://reader033.vdocuments.us/reader033/viewer/2022042015/5e7417efe135314c6e4aa73a/html5/thumbnails/21.jpg)
IV. Results
Red: A*
Green: Theta*
Blue: Lazy Theta*
![Page 22: Pathfinding in 3d space - GitHub Pages · Pathfinding in 3D Space CHIA-MAN HUNG & RUOQI HE . Outline Introduction I. State of the art II. Algorithms III. Implementation in 3D space](https://reader033.vdocuments.us/reader033/viewer/2022042015/5e7417efe135314c6e4aa73a/html5/thumbnails/22.jpg)
Non-optimality of Theta*
![Page 23: Pathfinding in 3d space - GitHub Pages · Pathfinding in 3D Space CHIA-MAN HUNG & RUOQI HE . Outline Introduction I. State of the art II. Algorithms III. Implementation in 3D space](https://reader033.vdocuments.us/reader033/viewer/2022042015/5e7417efe135314c6e4aa73a/html5/thumbnails/23.jpg)
Demo !
Demo !
Demo !
Demo !
Demo !
Demo !
Demo !
Demo !
Demo !
![Page 24: Pathfinding in 3d space - GitHub Pages · Pathfinding in 3D Space CHIA-MAN HUNG & RUOQI HE . Outline Introduction I. State of the art II. Algorithms III. Implementation in 3D space](https://reader033.vdocuments.us/reader033/viewer/2022042015/5e7417efe135314c6e4aa73a/html5/thumbnails/24.jpg)
Conclusion
Exploration in a new domain
Our proposition : Lazy Theta * + Progressive Octree + Edge-corner graph
Possible Improvements
Distribution of computation at each frame
Other possibilities of h
Post-processing