Course Outline. Video Game AI: Lecture 7 Heuristics & Smoothing. Finding the best location out of several. Variable size units / special movement?

Size: px
Start display at page:

Download "Course Outline. Video Game AI: Lecture 7 Heuristics & Smoothing. Finding the best location out of several. Variable size units / special movement?"

Transcription

1 Course Outline Video Game AI: Lecture 7 Heuristics & Smoothing Nathan Sturtevant COMP now has free interviews! Miscellaneous details Heuristics How better heuristics can be built Path smoothing Simple smoothing Funnel algorithm Variable size units / special movement? Not necessary in all games Artists can make sure all areas are passable If planning is done in an abstract state space, build a different abstraction for every unit type Add the radius of the unit to all constrained edges Doesn t quite handle all cases If units can jump, need different connectivity Finding the best location out of several A* uses a heuristic to guide search toward a single target If there are multiple targets, you would need to take the minimum of the heuristic distance to each In practice, it is much better to search in reverse

2 Search with two goals Search with two goals G S G G S G Speeding search There are many ways to speed search Most common is abstraction Build a more abstract graph and search on it (Last Wednesday s lecture) An alternative Build a better heuristic Building better heuristics The book discusses several methods We will discuss a few quickly Read the details in the book One method is not covered in the book Will discuss in more detail

3 Heuristics Fundamentally: Describe the constraints of the problem A heuristic is the exact solution to the problem with one or more constraints removed Grid example: Move from the start to goal through adjacent cells, avoiding blocked cells Relax adjacency or blocked cells Heuristic - Take advantage of the state space Suppose map is divided by a bridge Every optimal path between the top and bottom of the map will cross that bridge Option 1: Plan two separate paths, one from the bridge and one away from it Option 2: Pre-compute distances to the bridge

4 Building a heuristic - memory Heuristics In this case, just store the distance from every point to the point in the center Advantage of this approach: O(N) memory, with N states in graph/map Any pathfinding between the four regions will be nearly immediate Pathfinding within a region will require a full search Long paths become fast Not very much memory required Disadvantage of the approach: Only works on certain types of maps Could precompute: Approx: 4 (N/4)2 + N = N2/4 + N Factor of 4 saving over APSP Alternate approach: differential heuristics Simple idea: Perform a Dijkstra search from any one state in the map For each state reached, store the distance to s1 Estimate the distance between any two states using the triangle inequality h(x, y) = d(x, s1) - d(y, s1)! d(x, y) Prefer to pick states at the end of the state space Easier to visualize as a 1-d projection of the state space

5 Differential Heuristic Advantages: Works for more types of state spaces Can build several heuristics and take the max Disadvantages May require more storage Won t work well on 2d spaces But, we tend to have good default heuristics for 2d spaces The best results use compression & specialized A* Simple smoothing Any path can be represented by line segments What algorithms can be performed on line segments to shorten paths that are too long Attempt 1: Straight-line checks Begin at the first point in the path Perform a straight line check to every other vertex Replace previous vertices with the straight line

6 Attempt 1 Analysis How many line tests/raycasts required? Guaranteed to produce optimal path? Not all optimal smoothing points are on endpoints of path segments Order matters Paths still a bit blocky Attempt 2: Limited straight-line checks Try to smooth optimal octile segments Only if underlying representation is a grid Try to connect the midpoints of the line segments Maintain a minimum line segment length Don t smooth too close to obstacles

7 Attempt 2 analysis How many line tests/raycasts required? Smoothed path likely to be homotopic to previous path Not checking far enough ahead to make big cuts in path length Attempt 3: Path following Instead of trying to generate a smooth path, follow the path in a smooth way Pick a point slightly ahead of the character Walk towards that point Update each frame Subtle change in DA:O Limit the character turn rate Possibly take several frames to turn

8 Attempt 3 analysis Pros Cost is minimal Can be very effective in practice Cons May bump into walls/traps Attempt 4 Find closest point on polygon boundary Generally used when not convex Otherwise there is a better approach

9 More complex smoothing Funnel Algorithm When a path is defined by a sequence of polygons, the funnel algorithm finds the optimal path through For each additional segment, optionally joint the new points with the previous candidate line segments Definitions Channel Bounded area in which path is being produced Funnel Two sets of line segments which define potential area for future segments of the path Path Existing path which has been produced Apex Intersection between the end of the path and start of the funnel Funnel Algorithm Walk down each new edge Extend the existing left/right line segment This extends the funnel If the left/right lines cross, a new apex is defined Start over with the new apex

10 Funnel Algorithm Pros: Produces high-quality paths No more difficult than many other approaches Cons: Need representation amenable to funnels Length of path may be significantly different than when planning Conclusions Finding a path is only part of the problem Making it look good is just as important Wednesday: Flocking, group movement, etc

Notes. Video Game AI: Lecture 5 Planning for Pathfinding. Lecture Overview. Knowledge vs Search. Jonathan Schaeffer this Friday

Notes. Video Game AI: Lecture 5 Planning for Pathfinding. Lecture Overview. Knowledge vs Search. Jonathan Schaeffer this Friday Notes Video Game AI: Lecture 5 Planning for Pathfinding Nathan Sturtevant COMP 3705 Jonathan Schaeffer this Friday Planning vs localization We cover planning today Localization is just mapping a real-valued

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

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

Navigation and Metric Path Planning

Navigation and Metric Path Planning Navigation and Metric Path Planning October 4, 2011 Minerva tour guide robot (CMU): Gave tours in Smithsonian s National Museum of History Example of Minerva s occupancy map used for navigation Objectives

More information

Game AI: The set of algorithms, representations, tools, and tricks that support the creation and management of real-time digital experiences

Game AI: The set of algorithms, representations, tools, and tricks that support the creation and management of real-time digital experiences Game AI: The set of algorithms, representations, tools, and tricks that support the creation and management of real-time digital experiences : A rule of thumb, simplification, or educated guess that reduces

More information

CS 354R: Computer Game Technology

CS 354R: Computer Game Technology CS 354R: Computer Game Technology A* Heuristics Fall 2018 A* Search f(n): The current best estimate for the best path through a node: f(n)=g(n)+h(n) g(n): current known best cost for getting to a node

More information

Chapter 5.4 Artificial Intelligence: Pathfinding

Chapter 5.4 Artificial Intelligence: Pathfinding Chapter 5.4 Artificial Intelligence: Pathfinding Introduction Almost every game requires pathfinding Agents must be able to find their way around the game world Pathfinding is not a trivial problem The

More information

Pathfinding. Pathfinding Planned Movement

Pathfinding. Pathfinding Planned Movement 345 Ludic Computing Lecture 10 Pathfinding Simon Colton & Alison Pease Computational Creativity Group Department of Computing Imperial College London www.doc.ic.ac.uk/ccg 1 Pathfinding Planned Movement

More information

Class Overview. Introduction to Artificial Intelligence COMP 3501 / COMP Lecture 2. Problem Solving Agents. Problem Solving Agents: Assumptions

Class Overview. Introduction to Artificial Intelligence COMP 3501 / COMP Lecture 2. Problem Solving Agents. Problem Solving Agents: Assumptions Class Overview COMP 3501 / COMP 4704-4 Lecture 2 Prof. JGH 318 Problem Solving Agents Problem Solving Agents: Assumptions Requires a goal Assume world is: Requires actions Observable What actions? Discrete

More information

Road Map Methods. Including material from Howie Choset / G.D. Hager S. Leonard

Road Map Methods. Including material from Howie Choset / G.D. Hager S. Leonard Road Map Methods Including material from Howie Choset The Basic Idea Capture the connectivity of Q free by a graph or network of paths. 16-735, Howie Choset, with significant copying from who loosely based

More information

I may not have gone where I intended to go, but I think I have ended up where I needed to be. Douglas Adams

I may not have gone where I intended to go, but I think I have ended up where I needed to be. Douglas Adams Disclaimer: I use these notes as a guide rather than a comprehensive coverage of the topic. They are neither a substitute for attending the lectures nor for reading the assigned material. I may not have

More information

Lecture 11 Combinatorial Planning: In the Plane

Lecture 11 Combinatorial Planning: In the Plane CS 460/560 Introduction to Computational Robotics Fall 2017, Rutgers University Lecture 11 Combinatorial Planning: In the Plane Instructor: Jingjin Yu Outline Convex shapes, revisited Combinatorial planning

More information

Graph and A* Analysis

Graph and A* Analysis Graph and A* Analysis Kyle Ray Entertainment Arts and Engineering University of Utah Salt Lake City, Ut 84102 kray@eng.utah.edu Abstract: Pathfinding in video games is an essential tool to have for both

More information

Voronoi Diagram. Xiao-Ming Fu

Voronoi Diagram. Xiao-Ming Fu Voronoi Diagram Xiao-Ming Fu Outlines Introduction Post Office Problem Voronoi Diagram Duality: Delaunay triangulation Centroidal Voronoi tessellations (CVT) Definition Applications Algorithms Outlines

More information

The big picture: from Perception to Planning to Control

The big picture: from Perception to Planning to Control The big picture: from Perception to Planning to Control Perception Location, Map Signals: video, inertial, range Sensors Real World 1 Planning vs Control 0. In control we go from to A to B in free space

More information

ECE276B: Planning & Learning in Robotics Lecture 5: Configuration Space

ECE276B: Planning & Learning in Robotics Lecture 5: Configuration Space ECE276B: Planning & Learning in Robotics Lecture 5: Configuration Space Lecturer: Nikolay Atanasov: natanasov@ucsd.edu Teaching Assistants: Tianyu Wang: tiw161@eng.ucsd.edu Yongxi Lu: yol070@eng.ucsd.edu

More information

CMU-Q Lecture 4: Path Planning. Teacher: Gianni A. Di Caro

CMU-Q Lecture 4: Path Planning. Teacher: Gianni A. Di Caro CMU-Q 15-381 Lecture 4: Path Planning Teacher: Gianni A. Di Caro APPLICATION: MOTION PLANNING Path planning: computing a continuous sequence ( a path ) of configurations (states) between an initial configuration

More information

Rasterization, or What is glbegin(gl_lines) really doing?

Rasterization, or What is glbegin(gl_lines) really doing? Rasterization, or What is glbegin(gl_lines) really doing? Course web page: http://goo.gl/eb3aa February 23, 2012 Lecture 4 Outline Rasterizing lines DDA/parametric algorithm Midpoint/Bresenham s algorithm

More information

5. THE ISOPERIMETRIC PROBLEM

5. THE ISOPERIMETRIC PROBLEM Math 501 - Differential Geometry Herman Gluck March 1, 2012 5. THE ISOPERIMETRIC PROBLEM Theorem. Let C be a simple closed curve in the plane with length L and bounding a region of area A. Then L 2 4 A,

More information

Sung-Eui Yoon ( 윤성의 )

Sung-Eui Yoon ( 윤성의 ) Path Planning for Point Robots Sung-Eui Yoon ( 윤성의 ) Course URL: http://sglab.kaist.ac.kr/~sungeui/mpa Class Objectives Motion planning framework Classic motion planning approaches 2 3 Configuration Space:

More information

val(y, I) α (9.0.2) α (9.0.3)

val(y, I) α (9.0.2) α (9.0.3) CS787: Advanced Algorithms Lecture 9: Approximation Algorithms In this lecture we will discuss some NP-complete optimization problems and give algorithms for solving them that produce a nearly optimal,

More information

4.7 Approximate Integration

4.7 Approximate Integration 4.7 Approximate Integration Some anti-derivatives are difficult to impossible to find. For example, 1 0 e x2 dx or 1 1 1 + x3 dx We came across this situation back in calculus I when we introduced the

More information

Rasterization: Geometric Primitives

Rasterization: Geometric Primitives Rasterization: Geometric Primitives Outline Rasterizing lines Rasterizing polygons 1 Rasterization: What is it? How to go from real numbers of geometric primitives vertices to integer coordinates of pixels

More information

Tight Cocone DIEGO SALUME SEPTEMBER 18, 2013

Tight Cocone DIEGO SALUME SEPTEMBER 18, 2013 Tight Cocone DIEGO SALUME SEPTEMBER 18, 2013 Summary Problem: The Cocone algorithm produces surfaces with holes and artifacts in undersampled areas in the data. Solution: Extend the Cocone algorithm to

More information

Pathfinding. Artificial Intelligence for gaming

Pathfinding. Artificial Intelligence for gaming Pathfinding Artificial Intelligence for gaming Pathfinding Group AI Execution Management Strategy World Inter face Character AI Decision Making Movement Pathfinding Animation Physics Pathfinding Graphs

More information

Worksheet 3.1: Introduction to Double Integrals

Worksheet 3.1: Introduction to Double Integrals Boise State Math 75 (Ultman) Worksheet.: Introduction to ouble Integrals Prerequisites In order to learn the new skills and ideas presented in this worksheet, you must: Be able to integrate functions of

More information

Coverage and Search Algorithms. Chapter 10

Coverage and Search Algorithms. Chapter 10 Coverage and Search Algorithms Chapter 10 Objectives To investigate some simple algorithms for covering the area in an environment To understand how to break down an environment into simple convex pieces

More information

the gamedesigninitiative at cornell university Lecture 20 Pathfinding

the gamedesigninitiative at cornell university Lecture 20 Pathfinding Lecture 20 Take way for Today What are primary goals for pathfinding? Identify advantages/disadvantages of * In what situations does * fail (or look bad)? What can we do to fix se problems? Why combine

More information

Line Drawing Week 6, Lecture 9

Line Drawing Week 6, Lecture 9 CS 536 Computer Graphics Line Drawing Week 6, Lecture 9 David Breen, William Regli and axim Peysakhov Department of Computer Science Drexel University Outline Line drawing Digital differential analyzer

More information

Minecraft Due: Mar. 1, 2015

Minecraft Due: Mar. 1, 2015 CS1972 Topics in 3D Game Engine Development Barbara Meier Minecraft Due: Mar. 1, 2015 Introduction In this assignment you will build your own version of one of the most popular indie games ever: Minecraft.

More information

/ Approximation Algorithms Lecturer: Michael Dinitz Topic: Linear Programming Date: 2/24/15 Scribe: Runze Tang

/ Approximation Algorithms Lecturer: Michael Dinitz Topic: Linear Programming Date: 2/24/15 Scribe: Runze Tang 600.469 / 600.669 Approximation Algorithms Lecturer: Michael Dinitz Topic: Linear Programming Date: 2/24/15 Scribe: Runze Tang 9.1 Linear Programming Suppose we are trying to approximate a minimization

More information

Vectorization Using Stochastic Local Search

Vectorization Using Stochastic Local Search Vectorization Using Stochastic Local Search Byron Knoll CPSC303, University of British Columbia March 29, 2009 Abstract: Stochastic local search can be used for the process of vectorization. In this project,

More information

Vertex Cover Approximations

Vertex Cover Approximations CS124 Lecture 20 Heuristics can be useful in practice, but sometimes we would like to have guarantees. Approximation algorithms give guarantees. It is worth keeping in mind that sometimes approximation

More information

Time-sliced pathfinding on arbitrary polygon surfaces

Time-sliced pathfinding on arbitrary polygon surfaces Time-sliced pathfinding on arbitrary polygon surfaces Arvid Norberg supervisor: Michael Minock Abstract Real-time games need to maintain a smooth frame rate and cannot

More information

Finding a Path. Advanced Pathfinding. Finding a Path. A* Pathfinding Search. Practical Path Planning 3/21/2016. Tile-Based Navigation Graphs IMGD 4000

Finding a Path. Advanced Pathfinding. Finding a Path. A* Pathfinding Search. Practical Path Planning 3/21/2016. Tile-Based Navigation Graphs IMGD 4000 3/21/2016 Finding a Path Often seems obvious and natural in real life e.g., Get from point A to B go around lake Advanced Pathfinding http://www.rocket5studios.com/tutorials/make-a-2d-game-withunity3d-using-only-free-tools-beginning-enemy-ai-with-a-pathfinding/

More information

In what follows, we will focus on Voronoi diagrams in Euclidean space. Later, we will generalize to other distance spaces.

In what follows, we will focus on Voronoi diagrams in Euclidean space. Later, we will generalize to other distance spaces. Voronoi Diagrams 4 A city builds a set of post offices, and now needs to determine which houses will be served by which office. It would be wasteful for a postman to go out of their way to make a delivery

More information

Simplicial Hyperbolic Surfaces

Simplicial Hyperbolic Surfaces Simplicial Hyperbolic Surfaces Talk by Ken Bromberg August 21, 2007 1-Lipschitz Surfaces- In this lecture we will discuss geometrically meaningful ways of mapping a surface S into a hyperbolic manifold

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

Algorithms for GIS. Spatial data: Models and representation (part I) Laura Toma. Bowdoin College

Algorithms for GIS. Spatial data: Models and representation (part I) Laura Toma. Bowdoin College Algorithms for GIS Spatial data: Models and representation (part I) Laura Toma Bowdoin College Outline Spatial data in GIS applications Point data Networks Terrains Planar maps and meshes Data structures

More information

I may not have gone where I intended to go, but I think I have ended up where I needed to be. Douglas Adams

I may not have gone where I intended to go, but I think I have ended up where I needed to be. Douglas Adams Disclaimer: I use these notes as a guide rather than a comprehensive coverage of the topic. They are neither a substitute for attending the lectures nor for reading the assigned material. I may not have

More information

Explicit Abstraction & Refinement. Single Agent Search COMP Prof. Nathan Sturtevant Lecture 16. Clique Abstraction (Sturtevant & Buro, 05)

Explicit Abstraction & Refinement. Single Agent Search COMP Prof. Nathan Sturtevant Lecture 16. Clique Abstraction (Sturtevant & Buro, 05) Explicit Abstraction & Refinement Single Agent Search COMP-70- Prof. Nathan Sturtevant Lecture 6 Can t* use implicit abstractions in graph-based domains such as pathfinding Build explicit abstraction Pre-processing

More information

Introduction to Information Science and Technology (IST) Part IV: Intelligent Machines and Robotics Planning

Introduction to Information Science and Technology (IST) Part IV: Intelligent Machines and Robotics Planning Introduction to Information Science and Technology (IST) Part IV: Intelligent Machines and Robotics Planning Sören Schwertfeger / 师泽仁 ShanghaiTech University ShanghaiTech University - SIST - 10.05.2017

More information

Route planning / Search Movement Group behavior Decision making

Route planning / Search Movement Group behavior Decision making Game AI Where is the AI Route planning / Search Movement Group behavior Decision making General Search Algorithm Design Keep a pair of set of states: One, the set of states to explore, called the open

More information

CS 387/680: GAME AI PATHFINDING

CS 387/680: GAME AI PATHFINDING CS 387/680: GAME AI PATHFINDING 4/16/2015 Instructor: Santiago Ontañón santi@cs.drexel.edu Class website: https://www.cs.drexel.edu/~santi/teaching/2015/cs387/intro.html Reminders Check BBVista site for

More information

Renderer Implementation: Basics and Clipping. Overview. Preliminaries. David Carr Virtual Environments, Fundamentals Spring 2005

Renderer Implementation: Basics and Clipping. Overview. Preliminaries. David Carr Virtual Environments, Fundamentals Spring 2005 INSTITUTIONEN FÖR SYSTEMTEKNIK LULEÅ TEKNISKA UNIVERSITET Renderer Implementation: Basics and Clipping David Carr Virtual Environments, Fundamentals Spring 2005 Feb-28-05 SMM009, Basics and Clipping 1

More information

DM842 Computer Game Programming: AI. Lecture 5. Path Finding. Marco Chiarandini

DM842 Computer Game Programming: AI. Lecture 5. Path Finding. Marco Chiarandini DM842 Computer Game Programming: AI Lecture 5 Path Finding Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark Outline 1. Pathfinding 2. Heuristics 3. World Rerpresentations

More information

Integral Geometry and the Polynomial Hirsch Conjecture

Integral Geometry and the Polynomial Hirsch Conjecture Integral Geometry and the Polynomial Hirsch Conjecture Jonathan Kelner, MIT Partially based on joint work with Daniel Spielman Introduction n A lot of recent work on Polynomial Hirsch Conjecture has focused

More information

Direct Rendering. Direct Rendering Goals

Direct Rendering. Direct Rendering Goals May 2, 2005 Goals General Goals Small memory footprint Fast rendering High-quality results identical to those of Saffron V1 using distance-based anti-aliasing and alignment zones Goals Specific Goals Avoid

More information

Input Nodes. Surface Input. Surface Input Nodal Motion Nodal Displacement Instance Generator Light Flocking

Input Nodes. Surface Input. Surface Input Nodal Motion Nodal Displacement Instance Generator Light Flocking Input Nodes Surface Input Nodal Motion Nodal Displacement Instance Generator Light Flocking The different Input nodes, where they can be found, what their outputs are. Surface Input When editing a surface,

More information

Remarks on Kuratowski s Planarity Theorem. A planar graph is a graph that can be drawn in a plane without edges crossing one another.

Remarks on Kuratowski s Planarity Theorem. A planar graph is a graph that can be drawn in a plane without edges crossing one another. Remarks on Kuratowski s Planarity Theorem A planar graph is a graph that can be drawn in a plane without edges crossing one another. This theorem says that a graph is planar if and only if it does not

More information

Surface Simplification Using Quadric Error Metrics

Surface Simplification Using Quadric Error Metrics Surface Simplification Using Quadric Error Metrics Authors: Michael Garland & Paul Heckbert Presented by: Niu Xiaozhen Disclaimer: Some slides are modified from original slides, which were designed by

More information

Einführung in Visual Computing

Einführung in Visual Computing Einführung in Visual Computing 186.822 Rasterization Werner Purgathofer Rasterization in the Rendering Pipeline scene objects in object space transformed vertices in clip space scene in normalized device

More information

15-494/694: Cognitive Robotics

15-494/694: Cognitive Robotics 15-494/694: Cognitive Robotics Dave Touretzky Lecture 9: Path Planning with Rapidly-exploring Random Trees Navigating with the Pilot Image from http://www.futuristgerd.com/2015/09/10 Outline How is path

More information

Week 8 Voronoi Diagrams

Week 8 Voronoi Diagrams 1 Week 8 Voronoi Diagrams 2 Voronoi Diagram Very important problem in Comp. Geo. Discussed back in 1850 by Dirichlet Published in a paper by Voronoi in 1908 3 Voronoi Diagram Fire observation towers: an

More information

Rasterization. COMP 575/770 Spring 2013

Rasterization. COMP 575/770 Spring 2013 Rasterization COMP 575/770 Spring 2013 The Rasterization Pipeline you are here APPLICATION COMMAND STREAM 3D transformations; shading VERTEX PROCESSING TRANSFORMED GEOMETRY conversion of primitives to

More information

AutoCAD and Its Applications BASICS Supplemental Material Chapter 4

AutoCAD and Its Applications BASICS Supplemental Material Chapter 4 AutoCAD and Its Applications BASICS Supplemental Material Chapter 4 Multilines Multilines are objects that can consist of up to 16 parallel lines. The individual lines in a multiline are called elements.

More information

Appendix E Calculating Normal Vectors

Appendix E Calculating Normal Vectors OpenGL Programming Guide (Addison-Wesley Publishing Company) Appendix E Calculating Normal Vectors This appendix describes how to calculate normal vectors for surfaces. You need to define normals to use

More information

Lecture 3: Art Gallery Problems and Polygon Triangulation

Lecture 3: Art Gallery Problems and Polygon Triangulation EECS 396/496: Computational Geometry Fall 2017 Lecture 3: Art Gallery Problems and Polygon Triangulation Lecturer: Huck Bennett In this lecture, we study the problem of guarding an art gallery (specified

More information

Computer Graphics 7 - Rasterisation

Computer Graphics 7 - Rasterisation Computer Graphics 7 - Rasterisation Tom Thorne Slides courtesy of Taku Komura www.inf.ed.ac.uk/teaching/courses/cg Overview Line rasterisation Polygon rasterisation Mean value coordinates Decomposing polygons

More information

CS 460/560 Introduction to Computational Robotics Fall 2017, Rutgers University. Lecture 08 Extras. A* In More Detail. Instructor: Jingjin Yu

CS 460/560 Introduction to Computational Robotics Fall 2017, Rutgers University. Lecture 08 Extras. A* In More Detail. Instructor: Jingjin Yu CS 460/560 Introduction to Computational Robotics Fall 2017, Rutgers University Lecture 08 Extras A* In More Detail Instructor: Jingjin Yu Outline A* in more detail Admissible and consistent heuristic

More information

Coverage and Search Algorithms. Chapter 10

Coverage and Search Algorithms. Chapter 10 Coverage and Search Algorithms Chapter 10 Objectives To investigate some simple algorithms for covering the area in an environment To understand how break down an environment in simple convex pieces To

More information

Computer Graphics. Chapter 4 Attributes of Graphics Primitives. Somsak Walairacht, Computer Engineering, KMITL 1

Computer Graphics. Chapter 4 Attributes of Graphics Primitives. Somsak Walairacht, Computer Engineering, KMITL 1 Computer Graphics Chapter 4 Attributes of Graphics Primitives Somsak Walairacht, Computer Engineering, KMITL 1 Outline OpenGL State Variables Point Attributes Line Attributes Fill-Area Attributes Scan-Line

More information

Direction Fields; Euler s Method

Direction Fields; Euler s Method Direction Fields; Euler s Method It frequently happens that we cannot solve first order systems dy (, ) dx = f xy or corresponding initial value problems in terms of formulas. Remarkably, however, this

More information

Motion Planning. Howie CHoset

Motion Planning. Howie CHoset Motion Planning Howie CHoset Questions Where are we? Where do we go? Which is more important? Encoders Encoders Incremental Photodetector Encoder disk LED Photoemitter Encoders - Incremental Encoders -

More information

Strict Theta*: Shorter Motion Path Planning Using Taut Paths

Strict Theta*: Shorter Motion Path Planning Using Taut Paths Proceedings of the Twenty-Sixth International Conference on Automated Planning and Scheduling (ICAPS 2016) Strict Theta*: Shorter Motion Path Planning Using Taut Paths Shunhao Oh and Hon Wai Leong Department

More information

AutoCAD. Multilines. Drawing Multilines. Multiline Justification MLINE

AutoCAD. Multilines. Drawing Multilines. Multiline Justification MLINE Multilines Multilines are combinations of parallel lines consisting of up to 16 individual lines called elements. Like polylines, several connected multiline segments form a single object. Multilines are

More information

Platform Games Drawing Sprites & Detecting Collisions

Platform Games Drawing Sprites & Detecting Collisions Platform Games Drawing Sprites & Detecting Collisions Computer Games Development David Cairns Contents Drawing Sprites Collision Detection Animation Loop Introduction 1 Background Image - Parallax Scrolling

More information

Pathfinding. Advaith Siddharthan

Pathfinding. Advaith Siddharthan Pathfinding Advaith Siddharthan Context What is Intelligence? Rational? Search Optimisation Reasoning Impulsive? Quicker response Less predictable Personality/Emotions: Angry/Bored/Curious Overview The

More information

Cross-Parameterization and Compatible Remeshing of 3D Models

Cross-Parameterization and Compatible Remeshing of 3D Models Cross-Parameterization and Compatible Remeshing of 3D Models Vladislav Kraevoy Alla Sheffer University of British Columbia Authors Vladislav Kraevoy Ph.D. Student Alla Sheffer Assistant Professor Outline

More information

Supplemental Material Chapter 4. Drawing Multilines

Supplemental Material Chapter 4. Drawing Multilines AutoCAD and Its Applications BASICS 2012 Supplemental Material Chapter 4 Multilines Multilines are combinations of parallel lines consisting of up to 16 individual lines called elements. Like polyline

More information

Shading Techniques Denbigh Starkey

Shading Techniques Denbigh Starkey Shading Techniques Denbigh Starkey 1. Summary of shading techniques 2 2. Lambert (flat) shading 3 3. Smooth shading and vertex normals 4 4. Gouraud shading 6 5. Phong shading 8 6. Why do Gouraud and Phong

More information

Combinatorial Optimization

Combinatorial Optimization Combinatorial Optimization Frank de Zeeuw EPFL 2012 Today Introduction Graph problems - What combinatorial things will we be optimizing? Algorithms - What kind of solution are we looking for? Linear Programming

More information

Lecture 25: Bezier Subdivision. And he took unto him all these, and divided them in the midst, and laid each piece one against another: Genesis 15:10

Lecture 25: Bezier Subdivision. And he took unto him all these, and divided them in the midst, and laid each piece one against another: Genesis 15:10 Lecture 25: Bezier Subdivision And he took unto him all these, and divided them in the midst, and laid each piece one against another: Genesis 15:10 1. Divide and Conquer If we are going to build useful

More information

Ch. 25 The Reflection of Light

Ch. 25 The Reflection of Light Ch. 25 The Reflection of Light 25. Wave fronts and rays We are all familiar with mirrors. We see images because some light is reflected off the surface of the mirror and into our eyes. In order to describe

More information

CS 410/584, Algorithm Design & Analysis, Lecture Notes 8!

CS 410/584, Algorithm Design & Analysis, Lecture Notes 8! CS 410/584, Algorithm Design & Analysis, Computational Geometry! Algorithms for manipulation of geometric objects We will concentrate on 2-D geometry Numerically robust try to avoid division Round-off

More information

Lecture IV Bézier Curves

Lecture IV Bézier Curves Lecture IV Bézier Curves Why Curves? Why Curves? Why Curves? Why Curves? Why Curves? Linear (flat) Curved Easier More pieces Looks ugly Complicated Fewer pieces Looks smooth What is a curve? Intuitively:

More information

Introduction to ANSYS ICEM CFD

Introduction to ANSYS ICEM CFD Lecture 4 Volume Meshing 14. 0 Release Introduction to ANSYS ICEM CFD 1 2011 ANSYS, Inc. March 21, 2012 Introduction to Volume Meshing To automatically create 3D elements to fill volumetric domain Generally

More information

Computer Graphics. Attributes of Graphics Primitives. Somsak Walairacht, Computer Engineering, KMITL 1

Computer Graphics. Attributes of Graphics Primitives. Somsak Walairacht, Computer Engineering, KMITL 1 Computer Graphics Chapter 4 Attributes of Graphics Primitives Somsak Walairacht, Computer Engineering, KMITL 1 Outline OpenGL State Variables Point Attributes t Line Attributes Fill-Area Attributes Scan-Line

More information

Pick s Theorem and Lattice Point Geometry

Pick s Theorem and Lattice Point Geometry Pick s Theorem and Lattice Point Geometry 1 Lattice Polygon Area Calculations Lattice points are points with integer coordinates in the x, y-plane. A lattice line segment is a line segment that has 2 distinct

More information

1. CONVEX POLYGONS. Definition. A shape D in the plane is convex if every line drawn between two points in D is entirely inside D.

1. CONVEX POLYGONS. Definition. A shape D in the plane is convex if every line drawn between two points in D is entirely inside D. 1. CONVEX POLYGONS Definition. A shape D in the plane is convex if every line drawn between two points in D is entirely inside D. Convex 6 gon Another convex 6 gon Not convex Question. Why is the third

More information

Subdivision Curves and Surfaces: An Introduction

Subdivision Curves and Surfaces: An Introduction Subdivision Curves and Surfaces: An Introduction Corner Cutting De Casteljau s and de Boor s algorithms all use corner-cutting procedures. Corner cutting can be local or non-local. A cut is local if it

More information

CMSC 425: Lecture 9 Geometric Data Structures for Games: Geometric Graphs Thursday, Feb 21, 2013

CMSC 425: Lecture 9 Geometric Data Structures for Games: Geometric Graphs Thursday, Feb 21, 2013 CMSC 425: Lecture 9 Geometric Data Structures for Games: Geometric Graphs Thursday, Feb 21, 2013 Reading: Today s materials is presented in part in Computational Geometry: Algorithms and Applications (3rd

More information

CS 331: Artificial Intelligence Informed Search. Informed Search

CS 331: Artificial Intelligence Informed Search. Informed Search CS 331: Artificial Intelligence Informed Search 1 Informed Search How can we make search smarter? Use problem-specific knowledge beyond the definition of the problem itself Specifically, incorporate knowledge

More information

Planning: Part 1 Classical Planning

Planning: Part 1 Classical Planning Planning: Part 1 Classical Planning Computer Science 6912 Department of Computer Science Memorial University of Newfoundland July 12, 2016 COMP 6912 (MUN) Planning July 12, 2016 1 / 9 Planning Localization

More information

Introduction to Geometry. Computer Graphics CMU /15-662

Introduction to Geometry. Computer Graphics CMU /15-662 Introduction to Geometry Computer Graphics CMU 15-462/15-662 Assignment 2: 3D Modeling You will be able to create your own models (This mesh was created in Scotty3D in about 5 minutes... you can do much

More information

Capturing an Evader in a Polygonal Environment with Obstacles

Capturing an Evader in a Polygonal Environment with Obstacles Capturing an Evader in a Polygonal Environment with Obstacles Deepak Bhadauria and Volkan Isler Department of Computer Science and Engineering University of Minnesota {bhadau,isler}@cs.umn.edu Abstract

More information

Elementary Planar Geometry

Elementary Planar Geometry Elementary Planar Geometry What is a geometric solid? It is the part of space occupied by a physical object. A geometric solid is separated from the surrounding space by a surface. A part of the surface

More information

Greedy Approximations

Greedy Approximations CS 787: Advanced Algorithms Instructor: Dieter van Melkebeek Greedy Approximations Approximation algorithms give a solution to a problem in polynomial time, at most a given factor away from the correct

More information

Triangle Rasterization

Triangle Rasterization Triangle Rasterization Computer Graphics COMP 770 (236) Spring 2007 Instructor: Brandon Lloyd 2/07/07 1 From last time Lines and planes Culling View frustum culling Back-face culling Occlusion culling

More information

CS 331: Artificial Intelligence Informed Search. Informed Search

CS 331: Artificial Intelligence Informed Search. Informed Search CS 331: Artificial Intelligence Informed Search 1 Informed Search How can we make search smarter? Use problem-specific knowledge beyond the definition of the problem itself Specifically, incorporate knowledge

More information

CS 532: 3D Computer Vision 14 th Set of Notes

CS 532: 3D Computer Vision 14 th Set of Notes 1 CS 532: 3D Computer Vision 14 th Set of Notes Instructor: Philippos Mordohai Webpage: www.cs.stevens.edu/~mordohai E-mail: Philippos.Mordohai@stevens.edu Office: Lieb 215 Lecture Outline Triangulating

More information

Continuous. Covering. Location. Problems. Louis Luangkesorn. Introduction. Continuous Covering. Full Covering. Preliminaries.

Continuous. Covering. Location. Problems. Louis Luangkesorn. Introduction. Continuous Covering. Full Covering. Preliminaries. Outline 1 Full IE 1079/2079 Logistics and Supply Chain Full 2 Full Empty University of Pittsburgh Department of Industrial Engineering June 24, 2009 Empty 3 4 Empty 5 6 Taxonomy of Full Full A location

More information

A Grid-Based Approximation Algorithm for the Minimum Weight Triangulation Problem

A Grid-Based Approximation Algorithm for the Minimum Weight Triangulation Problem A Grid-Based Approximation Algorithm for the Minimum Weight Triangulation Problem arxiv:1706.03263v1 [cs.cg] 10 Jun 2017 Sharath Raghvendra, Mariëtte C. Wessels Abstract Given a set of n points on a plane,

More information

Lecture notes: Object modeling

Lecture notes: Object modeling Lecture notes: Object modeling One of the classic problems in computer vision is to construct a model of an object from an image of the object. An object model has the following general principles: Compact

More information

Computational Geometry

Computational Geometry Casting a polyhedron CAD/CAM systems CAD/CAM systems allow you to design objects and test how they can be constructed Many objects are constructed used a mold Casting Casting A general question: Given

More information

GEO 154 CARTOGRAPHY II- PLOTTING USING AUTOCAD- ASSIGMENT HELP

GEO 154 CARTOGRAPHY II- PLOTTING USING AUTOCAD- ASSIGMENT HELP GEO 154 CARTOGRAPHY II- PLOTTING USING AUTOCAD- ASSIGMENT HELP DOCUMENT. For one to two reasons data may not be in a format that can be integrated into AutoCAD software, but coordinates may be separated

More information

Parallel Computation of Spherical Parameterizations for Mesh Analysis. Th. Athanasiadis and I. Fudos University of Ioannina, Greece

Parallel Computation of Spherical Parameterizations for Mesh Analysis. Th. Athanasiadis and I. Fudos University of Ioannina, Greece Parallel Computation of Spherical Parameterizations for Mesh Analysis Th. Athanasiadis and I. Fudos, Greece Introduction Mesh parameterization is a powerful geometry processing tool Applications Remeshing

More information

Ma/CS 6b Class 26: Art Galleries and Politicians

Ma/CS 6b Class 26: Art Galleries and Politicians Ma/CS 6b Class 26: Art Galleries and Politicians By Adam Sheffer The Art Gallery Problem Problem. We wish to place security cameras at a gallery, such that they cover it completely. Every camera can cover

More information

[Anton, pp , pp ] & [Bourne, pp ]

[Anton, pp , pp ] & [Bourne, pp ] hapter 3 Integral Theorems [Anton, pp. 1124 1130, pp. 1145 1160] & [Bourne, pp. 195 224] First of all some definitions which we will need in the following: Definition 3.1. (a) A domain (region) is an open

More information

COMP371 COMPUTER GRAPHICS

COMP371 COMPUTER GRAPHICS COMP371 COMPUTER GRAPHICS LECTURE 14 RASTERIZATION 1 Lecture Overview Review of last class Line Scan conversion Polygon Scan conversion Antialiasing 2 Rasterization The raster display is a matrix of picture

More information