# Chapter 46
2D Apollonius graphs

Menelaos Karavelas and Mariette Yvinec

### Definition

An Apollonius graph is the dual of the Apollonius diagram, also known as the additively weighted Voronoi diagram. It is essentially the Voronoi diagram of a set of circles, where the distance of a point of the plane from a circle is defined as the Euclidean distance of the point and the center of the circle, minus the radius of the circle.

CGAL provides the class CGAL::Apollonius_graph_2<Gt,Agds> for computing the 2D Apollonius graph. The two template parameters must be models of the ApolloniusGraphTraits_2 and ApolloniusGraphDataStructure_2 concepts. The first concept is related to the geometric objects and predicates associated with Apollonius graphs, whereas the second concept refers to the data structure used to represent the Apollonius graph. The classes Apollonius_graph_traits_2<K,Method_tag> and Triangulation_data_structure_2<Vb,Fb> are models of the afore-mentioned concepts.

### Concepts

ApolloniusSite_2
ApolloniusGraphDataStructure_2
ApolloniusGraphVertexBase_2
ApolloniusGraphTraits_2

ApolloniusGraphHierarchyVertexBase_2

### Classes

CGAL::Apollonius_graph_2<Gt,Agds>
CGAL::Apollonius_site_2<K>
CGAL::Apollonius_graph_vertex_base_2<Gt,StoreHidden>
CGAL::Apollonius_graph_traits_2<K,Method_tag>
CGAL::Apollonius_graph_filtered_traits_2<CK,CM,EK,EM,FK,FM>

CGAL::Apollonius_graph_hierarchy_2<Gt,Agds>
CGAL::Apollonius_graph_hierarchy_vertex_base_2<Agvb>

### Links to the Reference Sections

- Apollonius_graph_2<Gt,Agds>

- ApolloniusSite_2

- Apollonius_site_2<K>

- ApolloniusGraphDataStructure_2

- ApolloniusGraphVertexBase_2

- Apollonius_graph_vertex_base_2<Gt,StoreHidden>

- ApolloniusGraphTraits_2

- Apollonius_graph_traits_2<K,Method_tag>

- Apollonius_graph_filtered_traits_2<CK,CM,EK,EM,FK,FM>

- Apollonius_graph_hierarchy_2<Gt,Agds>

- ApolloniusGraphHierarchyVertexBase_2

- Apollonius_graph_hierarchy_vertex_base_2<Agvb>