Computer Graphics1 Quadtrees & Octrees. Computer Graphics2 Quadtrees n A hierarchical data structure often used for image representation. n Quadtrees.

Slides:



Advertisements
Similar presentations
Visible-Surface Detection(identification)
Advertisements

GR2 Advanced Computer Graphics AGR
Christian Lauterbach COMP 770, 2/16/2009. Overview  Acceleration structures  Spatial hierarchies  Object hierarchies  Interactive Ray Tracing techniques.
Nearest Neighbor Search

Spatial Data Structures Hanan Samet Computer Science Department
Spatial Join Yan Huang Spatial Join Given two sets of spatial data Find the pair of objects satisfying certain spatial predicate – e.g.
Data Structures: A Pseudocode Approach with C 1 Chapter 6 Objectives Upon completion you will be able to: Understand and use basic tree terminology and.
Clustering & image segmentation Goal::Identify groups of pixels that go together Segmentation.
Quad Trees Region data vs. point data. Roads and rivers in a country/state.  Which rivers flow through Florida?  Which roads cross a river? Network firewalls.
Quadtrees, Octrees and their Applications in Digital Image Processing
Quadtrees Raster and vector.
1 Computer Graphics Chapter 7 3D Object Modeling.
CS447/ Realistic Rendering -- Solids Modeling -- Introduction to 2D and 3D Computer Graphics.
Spatial indexing PAMs (II).
Multiple-key indexes Index on one attribute provides pointer to an index on the other. If V is a value of the first attribute, then the index we reach.
Field Trees and Loose Quadtrees Kenny Weiss CMSC828S Spring 2005.
Course Website: Computer Graphics 11: 3D Object Representations – Octrees & Fractals.
Quadtrees, Octrees and their Applications in Digital Image Processing
Spatial Information Systems (SIS) COMP Raster-based structures (1)
Spatial Indexing I Point Access Methods.
Chapter 12 Trees. Copyright © 2005 Pearson Addison-Wesley. All rights reserved Chapter Objectives Define trees as data structures Define the terms.
Computer Graphics 2 Lecture x: Acceleration Techniques for Ray-Tracing Benjamin Mora 1 University of Wales Swansea Dr. Benjamin Mora.
Data Structures for Computer Graphics Point Based Representations and Data Structures Lectured by Vlastimil Havran.
Spatial Data Structures Jason Goffeney, 4/26/2006 from Real Time Rendering.
Data Structures Arrays both single and multiple dimensions Stacks Queues Trees Linked Lists.
10/09/2001CS 638, Fall 2001 Today Spatial Data Structures –Why care? –Octrees/Quadtrees –Kd-trees.
Kansas State University Department of Computing and Information Sciences CIS 736: Computer Graphics Wednesday, February 23, 2000 William H. Hsu Department.
CS654: Digital Image Analysis Lecture 3: Data Structure for Image Analysis.
GUS: 0262 Fundamentals of GIS Lecture Presentation 6: Raster Data Model Jeremy Mennis Department of Geography and Urban Studies Temple University.
Graphics Graphics Korea University cgvr.korea.ac.kr Solid Modeling 고려대학교 컴퓨터 그래픽스 연구실.
Data : The Small Forwarding Table(SFT), In general, The small forwarding table is the compressed version of a trie. Since SFT organizes.
Implementing Scene Graphs, CSG Trees Glenn G. Chappell U. of Alaska Fairbanks CS 481/681 Lecture Notes Monday, January 26, 2004.
Visible-Surface Detection Jehee Lee Seoul National University.
Course notes CS2606: Data Structures and Object-Oriented Development Ryan Richardson John Paul Vergara Department of Computer Science Virginia Tech Spring.
Quadtrees, Octrees and their Applications in Digital Image Processing.
PRESENTED BY – GAURANGI TILAK SHASHANK AGARWAL Collision Detection.
Raster data models Rasters can be different types of tesselations SquaresTrianglesHexagons Regular tesselations.
Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M
Spatial Indexing Techniques Introduction to Spatial Computing CSE 5ISC Some slides adapted from Spatial Databases: A Tour by Shashi Shekhar Prentice Hall.
Maths & Technologies for Games Spatial Partitioning 2
Honours Graphics 2008 Session 5. Today’s focus Rasterization Visibility determination Coarse / fine visibility determination.
CSE554Contouring IISlide 1 CSE 554 Lecture 5: Contouring (faster) Fall 2015.
CSE554Contouring IISlide 1 CSE 554 Lecture 3: Contouring II Fall 2011.
CSE554Contouring IISlide 1 CSE 554 Lecture 5: Contouring (faster) Fall 2013.
November 5, 2013Computer Vision Lecture 15: Region Detection 1 Basic Steps for Filtering in the Frequency Domain.
CMSC 202, Version 5/02 1 Trees. CMSC 202, Version 5/02 2 Tree Basics 1.A tree is a set of nodes. 2.A tree may be empty (i.e., contain no nodes). 3.If.
Foundation of Computing Systems Lecture 4 Trees: Part I.
CS552: Computer Graphics Lecture 28: Solid Modeling.
School of Computing Clemson University Fall, 2012
Machine Vision ENT 273 Lecture 4 Hema C.R.

CSE 554 Lecture 5: Contouring (faster)
COMP 9517 Computer Vision Segmentation 7/2/2018 COMP 9517 S2, 2017.
Computer Vision Lecture 13: Image Segmentation III
3D Object Representations
Mean Shift Segmentation
Computer Vision Lecture 12: Image Segmentation II
Binary and Ternary Search
CSE373: Data Structures & Algorithms Lecture 23: Applications
Outline Perceptual organization, grouping, and segmentation
Quadtrees 1.
Huffman Coding CSE 373 Data Structures.
Binary Tree Traversals
Linear Octree Ref: Tu and O’Hallaron 2004
CS679 - Fall Copyright Univ. of Wisconsin
Union-Find Partition Structures
Overview of Modeling 김성남.
General Trees A general tree T is a finite set of one or more nodes such that there is one designated node r, called the root of T, and the remaining nodes.
Presentation transcript:

Computer Graphics1 Quadtrees & Octrees

Computer Graphics2 Quadtrees n A hierarchical data structure often used for image representation. n Quadtrees encode two-dimensional images by placing subsections of the image into a tree structure much like a binary tree. n Unlike a binary tree where every tree node has up to two children, in a quadtree every node can have up to four children. n Each node stores a particular piece of the overall image. n Quadtrees operate by means of recursively decomposing space.

Computer Graphics3 Quadtrees - Cont. n The most common type of quadtrees are known as region quadtrees. n In such trees the image to be encoded and stored is partitioned into four quadrants. n Each quadrant is then represented by a node in the tree. n The root of the quadtree represents the entire stored image while each of it's four children represent a different fourth of the image. n This process continues; each of the quadrants represented by the children of the root is again partitioned into four sub-quadrants and represented by the root's grandchildren nodes.

Computer Graphics4 Quadtrees - Cont. n This process continues until a region being stored is sufficiently simple that it can be wholly encoded in one node. n Sometimes this means that we continue breaking the image down until every individual pixel is stored at some leaf node. n If a region larger than a pixel is sufficiently homogeneous it can be represented at a leaf node and requires no further decomposition. n For example, if an entire quadrant is one color it does not make sense to continue to decompose it.

Computer Graphics5 An Octree n An octree is essentially the same thing as a quadtree however each node in an octree has eight children instead of four. n This makes octrees good candidates for representing three- dimensional objects in memory because instead of breaking the image into four quadrents the octree breaks the space into eight blocks. n These blocks are then recursively decomposed into eight sub-blocks. n This process, as in the quadtree case, continues until a block is sufficiently homogeneous that it can be represented by one node.

Computer Graphics6 Example:

Computer Graphics7 Uses n An interesting property of both quadtrees and octrees is that they support a form of data compression. n By never traversing below a certain level of the tree structure it is possible to filter out the "details" of the image, for a less-precise but smaller version of the data. n Such a compression could be accomplished by means of a breadth-first traversal of the tree data structure.

Computer Graphics8 Quadtree example

Computer Graphics9 Example - Cont

Computer Graphics10 Example - Cont

Computer Graphics11 Quadtree - oprators n It is possible to use the Quadtree representation for operations between two images/objects. n The most common uses are for Boolean openrators: u Union u Intersection u Difference u Complementary

Computer Graphics12 Union += =+ +=+ + + = = =

Computer Graphics13 Intersection *= =* *=* * * = = =

Computer Graphics14 Difference -= =- -=- - - = = =

Computer Graphics15 Complementary = = =