eduKateSG · GS1 · How X Works
Find your next learning step
Choose the spatial question you want to settle, then follow the worked coordinates and their connected reading route.
Full chapter index · Work the triangulation example · Check your understanding · Connected article directory
The gold standard of Computational Geometry is a spatial answer whose mathematical model, decision tests, algorithm and interpretation agree. A reader should be able to reproduce the calculation, identify what happens on the boundary and explain which assumptions support the result.
This subject root continues The Gold Standard of Education | Learning That Transfers into Life under How X Works. It connects the existing Geometry root with orientation, convex hulls, polygon operations, triangulations, spatial search and numerical robustness.
The coordinates and geometric cases below are original mathematical teaching examples. They use exact planar coordinates with an upward vertical axis. No physical survey, robot trajectory or software-package benchmark is being reported.
Full chapter index
Chapters 1–4 · Define the geometric task
Chapters 5–8 · Use reliable decision tests
Chapters 9–12 · Construct and compare shapes
Chapters 13–16 · Organise space and events
Chapters 17–20 · Verify and transfer
CHAPTER 1 OF 20 · Define the geometric task
1. Begin with a spatial question and a precise answer type
Computational Geometry develops algorithms for questions about spatial objects. Which segments meet? Which points form the outer convex boundary? Is a location inside a region? Which recorded point is nearest to a query? Each question needs an answer whose meaning is specified.
The gold standard is a complete connection between the geometric model, the decision tests, the algorithm and the evidence that the output satisfies the task. An attractive picture can help understanding, but the underlying coordinates and rules must also support the result.
Use a small original point set throughout this guide: A = (0,0), B = (4,0), C = (4,3), D = (0,3), E = (2,1) and F = (2,0). These are exact teaching coordinates in a Cartesian plane with the vertical axis increasing upwards.
The same set supports several tasks, but their answers differ. The convex hull uses A, B, C and D as extreme vertices. A nearest-point query can select E. A boundary-preserving application might retain F even though it is not an extreme vertex. Begin by naming the task rather than choosing an algorithm first.
| Point | Coordinates | Role relative to rectangle ABCD |
|---|---|---|
| A | (0,0) | Extreme corner |
| B | (4,0) | Extreme corner |
| C | (4,3) | Extreme corner |
| D | (0,3) | Extreme corner |
| E | (2,1) | Interior point |
| F | (2,0) | Point on edge AB |
Continue into: Geometry.
CHAPTER 2 OF 20 · Define the geometric task
2. Declare coordinates, units and the geometric model
A pair of numbers becomes a location only within a coordinate convention. State the origin, axis directions, units and dimension. The guide’s calculations use ordinary planar Euclidean geometry; no map projection or physical measurement is implied.
If x is in metres and y in centimetres, directly adding squared coordinate differences produces a misleading distance. Convert to consistent units or specify a metric that deliberately weights the coordinates.
Likewise, longitude and latitude are not automatically Cartesian distances in metres. A geographic application needs an appropriate treatment of the Earth’s surface and the required scale. The Cartography branch provides a route into the surrounding representation choices.
Keep the mathematical input distinct from a measured object. Exact processing of rounded coordinates gives an exact answer about those represented coordinates. It does not establish that the represented boundary perfectly matches a surveyed or manufactured boundary.
Continue into: Cartography.
CHAPTER 3 OF 20 · Define the geometric task
3. Specify objects, ordering and boundary conventions
A point set has no inherent boundary order. A polygon needs an ordered closed chain of edges. For the rectangle, A, B, C, D is the intended cyclic vertex order; rearranging the same four points as A, C, B, D creates a crossing chain.
Decide how repeated points are handled, whether a final vertex repeats the first, and whether zero-length edges are allowed. These choices affect counting, traversal and the preconditions of an algorithm.
Also state whether a polygon may contain holes or consist of several disconnected components. A single list of outer vertices cannot describe every such region without additional structure.
Boundary conventions are part of the result. A point on an edge can be reported separately from points strictly inside or outside. A Boolean flag called inside is incomplete until its treatment of the boundary is known.
CHAPTER 4 OF 20 · Define the geometric task
4. Distinguish a predicate from a construction
A predicate answers a discrete question: left turn, right turn or collinear; intersecting or disjoint; inside, outside or on the boundary. A construction produces a geometric object, such as an intersection point or a new polygon.
To test whether two segments cross, one can examine orientations before calculating the meeting coordinates. The crossing decision and the constructed coordinates are related, but they need different numerical handling.
If a small arithmetic error changes a predicate’s sign, the algorithm may choose a different branch and create inconsistent connectivity. A slightly rounded constructed point can instead create trouble when a later stage assumes exact agreement with another boundary.
CGAL’s kernel documentation distinguishes geometric objects and their operations, including numerical choices. Use that distinction when evaluating an implementation: ask which decisions are guaranteed and how newly constructed coordinates are represented.
Primary reference: CGAL’s linear geometry kernel manual.
Continue into: Numerical Analysis.
For points P, Q and R, define orient(P,Q,R) = (Qx − Px)(Ry − Py) − (Qy − Py)(Rx − Px). In the stated upward-y convention, a positive result means a counterclockwise turn, a negative result a clockwise turn and zero collinearity.
For A = (0,0), B = (4,0) and C = (4,3), the result is 4 × 3 − 0 × 4 = 12. E = (2,1) gives orient(A,B,E) = 4. F = (2,0) gives zero.
The zero result says that A, B and F lie on one line. It does not by itself say whether F lies between A and B. Check the coordinate bounds as well; here F lies within the segment.
Swapping the first two arguments reverses the sign. Record the argument order in a calculation or test suite. A correct formula applied with inconsistent ordering can reverse the meaning of a turn.
| Ordered triple | Determinant | Interpretation |
|---|---|---|
| A, B, C | 12 | Counterclockwise turn |
| A, B, E | 4 | Counterclockwise turn |
| A, B, F | 0 | Collinear; bounds establish segment membership |
| B, A, C | −12 | Clockwise turn |
Continue into: Linear Algebra · Graham Scan.
CHAPTER 6 OF 20 · Use reliable decision tests
6. Test segment intersections and include exceptional cases
Take the diagonals AC and DB of the rectangle. D and B lie on opposite sides of directed line AC: their orientation values are 12 and −12. A and C also lie on opposite sides of directed line DB, with values −12 and 12.
These strict opposite-side tests establish a proper crossing in this example. Solving the line equations gives the intersection (2,1.5), which lies within both segments.
Endpoint contact and collinear overlap need additional handling. Segments from (0,0) to (4,0) and from (2,0) to (6,0) overlap along the segment from (2,0) to (4,0). Their intersection is not a single isolated point.
Specify the result type accordingly: no intersection, one point or an overlapping segment. A routine that returns only true or false may be sufficient for a collision question but insufficient when the next stage must split the intersecting edges.
| Segments | Intersection | Result type |
|---|---|---|
| AC and DB | (2,1.5) | One proper crossing point |
| (0,0)–(4,0) and (2,0)–(6,0) | (2,0)–(4,0) | Overlapping segment |
| AB and BC | B = (4,0) | Shared endpoint |
Continue into: Weiler–Atherton clipping.
CHAPTER 7 OF 20 · Use reliable decision tests
7. Classify polygon queries with a separate boundary result
For the rectangle A, B, C, D, the query (2,1) lies strictly inside, (4,1) lies on the boundary and (5,1) lies outside. These conclusions follow directly from the coordinate inequalities.
For a general simple polygon, a ray-crossing method can count crossings under a consistent vertex convention. A ray through a vertex must not accidentally count the same passage twice. Testing for boundary membership first makes that case explicit.
A point inside an axis-aligned bounding box need not be inside the polygon enclosed by that box. For the concave polygon A, B, C, E, D, the point (2,2) is in the bounding box but outside the notched region.
Use the polygon’s actual representation and preconditions. The CGAL polygon reference provides the formal route into simplicity, orientation, area and bounded-side queries. A drawing is useful for checking an interpretation, while the predicate must settle the declared mathematical question.
| Query | Classification | Reason |
|---|---|---|
| (2,1) | Strictly inside | 0 < x < 4 and 0 < y < 3 |
| (4,1) | Boundary | On the right edge |
| (5,1) | Outside | x exceeds 4 |
Primary polygon reference: CGAL 2D Polygons user manual.
CHAPTER 8 OF 20 · Use reliable decision tests
8. Find a convex hull without inventing a walkable boundary
The convex hull is the smallest convex set containing the input points. For the guide’s six points, the extreme vertices in counterclockwise order are A, B, C and D. E is inside, and F lies along the edge AB.
A hull representation that returns only extreme vertices omits F. A representation intended to retain every input point on the hull boundary might include it. Both need a documented output convention.
The hull also fills concavities. Replacing the concave polygon A, B, C, E, D with its hull produces the complete rectangle. That changes the region and increases its area from 8 to 12.
The connected Graham Scan and Jarvis March articles develop algorithmic routes to this task. Select a hull when enclosing all points convexly is the intended question. It does not automatically reproduce a property’s legal boundary, an obstacle’s outline or a route someone can walk.
Primary hull reference: CGAL 2D Convex Hulls and Extreme Points.
Continue into: Graham Scan · Jarvis March.
CHAPTER 9 OF 20 · Construct and compare shapes
9. Calculate signed area and check the polygon preconditions
For an ordered polygon, the shoelace sum adds xi times y at the next vertex minus yi times x at the next vertex, then divides by two. With A, B, C and D, the signed area is 12 in square coordinate units.
Reversing the order reverses the signed area to −12. The unsigned area remains 12. The sign therefore carries information about traversal orientation under the stated coordinate convention.
For A, B, C, E, D, the cross terms are 0, 12, −2, 6 and 0. Their sum is 16, so the simple concave polygon has area 8.
Do not treat a zero signed sum as proof of an empty region. A self-crossing chain can have cancelling signed contributions. Validate the geometry and decide which region semantics are intended before interpreting the arithmetic as a filled area.
| Directed edge | Cross term xi·y next − yi·x next |
|---|---|
| A to B | 0 |
| B to C | 12 |
| C to E | −2 |
| E to D | 6 |
| D to A | 0 |
| Sum and signed area | 16; divide by 2 to obtain 8 |
CHAPTER 10 OF 20 · Construct and compare shapes
10. Triangulate a concave polygon with an actual ear test
Use the simple counterclockwise polygon A, B, C, E, D. A convex corner is a candidate for ear clipping, but convexity alone is insufficient. The candidate triangle must also satisfy the ear conditions, including containing no other polygon vertex in the relevant interior.
At B, triangle ABC contains E. Therefore B is not an ear to remove under this test, even though the turn at B is convex. Removing it would cover space beyond the intended concave region.
At C, triangle BCE is a valid ear with area 3. Remove C, leaving A, B, E, D. Triangle EDA is then a valid ear with area 3, leaving triangle ABE with area 2.
The three triangle areas sum to 8, agreeing with the polygon area. This is a useful consistency check, though equal total area alone does not prove that triangles have no overlap or cover the correct boundary. Check those properties separately.
| Candidate or result | Check | Area |
|---|---|---|
| Triangle ABC at corner B | Reject: E is strictly inside this triangle. | 6, but it is not a valid ear. |
| Triangle BCE at corner C | Remove as a valid ear. | 3 |
| Triangle EDA after removing C | Remove as the next ear. | 3 |
| Remaining triangle ABE | Final triangle. | 2 |
| Valid triangulation total | 3 + 3 + 2 | 8 |
Continue into: Ear clipping.
CHAPTER 11 OF 20 · Construct and compare shapes
11. Clip a region against a declared half-plane
Clip the rectangle A, B, C, D to the half-plane x ≤ 2. The resulting vertices can be listed as (0,0), (2,0), (2,3), (0,3), giving area 6.
An edge traversal records whether its endpoints are inside or outside the clipping half-plane. Crossing edges contribute a constructed intersection; wholly outside edges contribute no retained segment for that half-plane.
For the example, AB crosses at (2,0) and CD crosses at (2,3). The edge at x = 0 remains, while the edge at x = 4 is discarded. The equality in x ≤ 2 includes the clipping boundary.
The Sutherland–Hodgman and Weiler–Atherton branches take clipping and intersection further. General polygon operations can yield holes or multiple components, so choose an output representation that can express the result rather than forcing every answer into one simple vertex cycle.
Primary region-operation reference: CGAL 2D Regularized Boolean Set-Operations. Its manual distinguishes regularized region operations from ordinary operations that retain all lower-dimensional boundary intersections. Match those semantics to the task.
Continue into: Sutherland–Hodgman clipping · Weiler–Atherton clipping.
CHAPTER 12 OF 20 · Construct and compare shapes
12. Compare squared distances and handle ties deliberately
For Euclidean nearest-point queries, comparing squared distances avoids computing square roots when only the ordering matters. At query Q = (3,1), the squared distances to A, B, C, D, E and F are 10, 2, 5, 13, 1 and 2.
E is the unique nearest input point, at distance 1. B and F are tied for the next distance. If the query asks for the two nearest points, a tie convention determines whether to return exactly two or include all equally distant candidates at the cutoff.
Keep nearest point and nearest object distinct. The nearest point on a long segment may lie in its interior, not at either endpoint. An index of vertices alone does not answer every distance-to-boundary question.
Record the metric as well as the coordinates. Travel time, geodesic distance and weighted feature distance can order candidates differently from planar Euclidean distance. The correct search algorithm serves the declared metric.
| Input point | Squared distance | Comparison |
|---|---|---|
| A | 10 | |
| B | 2 | Tied with F |
| C | 5 | |
| D | 13 | |
| E | 1 | Unique nearest |
| F | 2 | Tied with B |
Continue into: Closest-pair geometry.
CHAPTER 13 OF 20 · Organise space and events
13. Use Voronoi regions to organise nearest-site questions
A Voronoi region groups locations that are nearest to a specified site under the chosen distance rule. With two sites U = (0,0) and V = (4,0), equal squared distance requires x² + y² = (x − 4)² + y².
Expanding and cancelling gives x = 2. Points to the left are closer to U, points to the right closer to V, and points on the bisector tie. Query (3,1) has squared distances 10 and 2, placing it on V’s side.
With more sites, the cell boundaries combine pairwise comparisons. Duplicate sites, ties and the distance model require explicit treatment. A nearest-site region in a map does not automatically represent an administrative boundary or a reachable service area.
The Fortune’s Sweep Line and Voronoi Regions articles provide the algorithm and geographic routes. Use this two-site derivation as a check that the representation still corresponds to the question being asked.
Continue into: Fortune’s sweep line · Voronoi Regions.
CHAPTER 14 OF 20 · Organise space and events
14. Connect triangulations with Delaunay conditions
A triangulation divides an appropriate region into triangles meeting along shared edges or vertices. For point sets, the region and any boundary constraints must be specified. Triangulating a concave polygon is not the same as triangulating the entire convex hull of its vertices.
A Delaunay triangulation of planar sites satisfies an empty-circumcircle condition: no input site lies strictly inside the circumcircle of a triangle. Boundary constraints and degenerate configurations need the relevant specialised treatment.
The four rectangle corners are cocircular: their common circle has centre (2,1.5). Either rectangle diagonal yields a Delaunay triangulation of those four sites, because the fourth corner is on, rather than strictly inside, the relevant circle.
This example shows why an exact geometric answer can still be non-unique. A documented tie rule can select one result without implying that the alternative violates the mathematical condition. The Bowyer–Watson branch develops the construction and its circle tests.
Primary triangulation reference: CGAL 2D Triangulations user manual.
Continue into: Bowyer–Watson.
CHAPTER 15 OF 20 · Organise space and events
15. Use spatial structures to reduce repeated search work
A direct nearest-point query can compare the query with every stored point. For many queries, a spatial index can preprocess the collection and use bounding regions to avoid examining every candidate in favourable cases.
A k-d tree partitions by coordinates. Its search must revisit another branch when that branch’s region could contain a better candidate. Choosing the side containing the query and stopping there is not a complete exact nearest-neighbour algorithm.
A range query asks for points in a specified region, such as a rectangle. State whether edges are included and whether results should be unique when the data contains duplicate coordinates with different records.
The k-d Tree and CGAL Spatial Searching routes explain the specialised structures. Separate preprocessing cost, query cost, storage and approximation guarantees. An exact geometric query and an approximate search result need different performance and correctness statements.
Primary search reference: CGAL Spatial Searching user manual.
Continue into: k-d trees.
CHAPTER 16 OF 20 · Organise space and events
16. Follow sweep events with an invariant you can inspect
A sweep method processes geometric events in an ordered sequence while maintaining a summary of what is active. The summary must be defined precisely enough that each update preserves its meaning.
For intervals [0,3], [2,5] and [7,8] on a line, the union is [0,5] together with [7,8]. Its total length is 6, while adding the three input lengths gives 7 because the first two overlap for one unit.
A simple interval-union calculation sorts endpoints and accumulates distances between consecutive events whenever the active count is positive. At equal coordinates, the event convention should be consistent. Endpoints have zero length, but ordering can matter for other questions such as counting contacts.
The Klee Sweep Line article develops this example’s mechanism. Extending a sweep to planar intersections requires a more elaborate event queue and active structure. Do not assume the one-dimensional summary already supplies every invariant needed in two dimensions.
| Between consecutive endpoint values | Active intervals in the open span | Length contributed |
|---|---|---|
| 0 and 2 | One | 2 |
| 2 and 3 | Two | 1 |
| 3 and 5 | One | 2 |
| 5 and 7 | Zero | 0 |
| 7 and 8 | One | 1 |
| Total union length | 6 |
Continue into: Klee’s sweep line.
CHAPTER 17 OF 20 · Verify and transfer
17. Keep numerical robustness separate from measurement uncertainty
Orientation and circle tests often branch on the sign of a computed quantity. When the exact value is close to zero, rounding can change that sign and cause inconsistent decisions. Shewchuk’s robust-predicate work explains adaptive arithmetic for these tests.
An arbitrary tolerance changes the decision policy. It may be appropriate to define a band of practically indistinguishable positions, but that model choice needs units, a rationale and consistent use. It is not a universal replacement for reliable predicates.
Exact arithmetic or robust predicates can establish a result for the represented input coordinates. If the original measurements were uncertain, the geometric conclusion about the physical object may still be uncertain.
Ask two separate questions: did the computation correctly process these coordinates, and do these coordinates support the application claim? Repairing one layer does not automatically repair the other. The Numerical Analysis branch deepens the arithmetic route.
Research reference: Jonathan Richard Shewchuk: Adaptive Precision Floating-Point Arithmetic and Fast Robust Predicates for Computational Geometry.
Continue into: Numerical Analysis.
CHAPTER 18 OF 20 · Verify and transfer
18. Use transformations as both a model and a check
Translation preserves the guide’s distances, areas and orientation signs. Rotating the entire point configuration also preserves those quantities in the Euclidean plane. These facts provide useful comparisons for an implementation.
A uniform scale factor of 2 multiplies distances by 2 and areas by 4. Thus the rectangle’s area changes from 12 to 48. Orientation determinants are also multiplied by 4.
A reflection reverses orientation signs while preserving Euclidean distance and unsigned area. Changing from an upward-y mathematical frame to a downward-y screen frame can therefore reverse the visual turn interpretation if the convention is not adjusted.
More general affine transformations preserve collinearity and segment incidence but need not preserve Euclidean distances or nearest-point rankings. State which property is being tested before assuming that every geometric transformation should leave every answer unchanged.
| Transformation | Distances and unsigned area | Orientation sign |
|---|---|---|
| Translation or rotation | Preserved | Preserved |
| Uniform scale by 2 | Distances × 2; areas × 4 | Preserved; determinant × 4 |
| Reflection | Preserved | Reversed |
| General invertible affine map | Euclidean distances need not be preserved | Changes according to the determinant sign |
Continue into: Iterative closest point · Projection onto a flat screen.
CHAPTER 19 OF 20 · Verify and transfer
19. Verify results through independent properties and difficult cases
For the six-point hull, check that its extreme vertices are input points, its consecutive turns are counterclockwise and every input point is on or inside it. For the clipped rectangle, check that every result vertex satisfies x ≤ 2 and that the area is 6.
For a segment-intersection construction, substitute the result into both segment descriptions and check the allowed parameter ranges. Include endpoint contact, collinear overlap, disjoint collinear segments and zero-length inputs according to the chosen contract.
Test duplicate points, all-collinear sets, reversed polygon order, points on vertices and nearly degenerate coordinates. A collection of ordinary random examples can miss exactly the cases where geometric decision logic is most fragile.
Use independent properties rather than repeating the same formula under another name. Area agreement helps check triangulation; coverage and non-overlap still need their own checks. Record the arithmetic model and distinguish a verified mathematical example from a benchmark of a particular software package.
Calculation checks for this guide gave orientation values 12, 4 and 0 for the declared triples; polygon areas 12 and 8; valid ear areas 3, 3 and 2; clipped area 6; and squared query distances 10, 2, 5, 13, 1 and 2. All four rectangle corners have squared distance 6.25 from (2,1.5), confirming the cocircular example. These checks concern the teaching coordinates.
Continue into: GJK collision distance.
CHAPTER 20 OF 20 · Verify and transfer
20. Transfer the reasoning from coordinates to useful spatial judgement
The strongest outcome is a reader who can turn a spatial question into a precise computation and then return the result to its original meaning. A hull, an intersection, a nearest candidate and a clipped region are different answers to different questions.
Before accepting a result, ask what the objects represent, which boundaries count, which metric applies and whether the numerical decisions support the algorithm’s assumptions. Those questions make a geometry calculation useful beyond a single worked exercise.
Follow the directory according to the next obstacle: orientation and hulls, polygon operations, triangulations, spatial search, map representation or numerical robustness. Return to the small coordinate examples to check the new idea.
The gold standard of Computational Geometry is an answer whose geometry, algorithm and interpretation agree. The reader can reproduce the calculation, explain the exceptional cases and identify the additional evidence required when the coordinates describe the world.
Continue into: Education parent · How X Works.
Connected article directory
Start with the question, then choose the existing branch that supplies the next algorithm, mathematical idea or application context.
Subject roots
| Article | Continue here to |
|---|---|
| Geometry | Follow the wider study of shape and spatial relationships. |
| Linear Algebra | Develop vectors, determinants and transformations. |
| Numerical Analysis | Inspect approximation and arithmetic error. |
| Discrete Mathematics | Connect finite structures, counting and algorithms. |
| Cartography | Read the map representation and spatial interpretation route. |
Hulls and intersections
| Article | Continue here to |
|---|---|
| Graham Scan | Connect orientation tests with a convex-hull algorithm. |
| Jarvis March | Follow the gift-wrapping hull construction. |
| Sutherland–Hodgman clipping | Process half-planes and edge crossings. |
| Weiler–Atherton clipping | Follow polygon intersections and boundary traversal. |
| Klee’s sweep line | Track interval-union coverage through events. |
Polygons and proximity
| Article | Continue here to |
|---|---|
| Ear clipping | Distinguish a convex corner from a valid removable ear. |
| Bowyer–Watson | Explore circumcircles and Delaunay construction. |
| Fortune’s sweep line | Continue into Voronoi events and construction. |
| Welzl’s algorithm | Study minimum enclosing circles and boundary supports. |
| Closest-pair geometry | Connect distance comparisons with divide and conquer. |
Search and application
| Article | Continue here to |
|---|---|
| k-d trees | Inspect nearest-neighbour backtracking and range search. |
| GJK collision distance | Connect support mappings and convex proximity. |
| Iterative closest point | Follow rigid transformations and registration. |
| Voronoi Regions | Read the geographic interpretation of nearest sites. |
| Bézier curves | Explore geometric representation in digital design. |
| Clothing patterns and layout | Connect coordinates with shapes and material use. |
| Cutting useful parts with less waste | Continue from shape to a constrained layout problem. |
| Projection onto a flat screen | Follow representation between dimensions. |
| Robot-hand positioning | Connect geometry, coordinates and a motion task. |
Continue learning
| Article | Continue here to |
|---|---|
| Education parent | Return to learning that transfers into life. |
| How X Works | Continue through the wider mechanism library. |
Check your understanding
Let P = (1,1), Q = (5,1) and R = (3,4). Calculate orient(P,Q,R) and the area of triangle PQR. Does translating every point by (10,−2) change either result? What happens to the orientation sign after reflection across the horizontal axis?
Worked check
The orientation determinant is (5 − 1)(4 − 1) − (1 − 1)(3 − 1) = 12, so the turn is counterclockwise in the declared convention. The triangle area is |12|/2 = 6. Translation changes neither result. Reflection across the horizontal axis reverses the determinant to −12 while preserving the unsigned area at 6.
Questions readers ask
How does this subject differ from Geometry?
Geometry studies spatial properties and relationships. This root concentrates on algorithmic questions, representations, decision tests, constructions and verification.
Does a convex hull preserve a concave region?
No. It encloses the set convexly and can fill notches or gaps. Use the representation and operation that correspond to the intended region.
Does a point on a polygon edge count as inside?
That is an output convention. Reporting boundary separately makes it possible to apply the intended application rule explicitly.
Can a Delaunay triangulation be non-unique?
Yes. The cocircular rectangle example admits either diagonal under the empty-interior-circumcircle condition. Degenerate cases need a stated tie policy.
Does exact arithmetic remove uncertainty about a measured object?
It addresses arithmetic for the represented inputs. Measurement error, representation choices and model suitability remain separate questions.
Where should a learner start?
Work the orientation and segment examples, then compare hull, polygon and nearest-point questions on the same six-point set. Follow a specialist branch when the next step needs a more elaborate algorithm.
Sources and scope
The primary documentation and author-maintained research page linked in the chapters were checked on 23 October 2026. CGAL provides formal reference routes for geometric kernels, hulls, polygons, spatial searching, triangulations and region-operation semantics. Shewchuk’s research page explains the robust-predicate issue.
CGAL: geometric kernel · CGAL: convex hulls · CGAL: polygons · CGAL: spatial searching · CGAL: triangulations · CGAL: Boolean set operations · Shewchuk: robust geometric predicates.
All coordinate sets, worked calculations, tables, practice questions and example checks in this guide were constructed for explanation. No particular software release was benchmarked or certified by these examples. A real application needs its own input conventions, numerical model and task-specific verification.
Contents · Return to the Education parent · Continue through How X Works