Hyperbolic point sets

Drag to move by a hyperbolic isometry. Scroll, pinch, or use + and − to zoom (also an isometry). Click a point, on the canvas or in the list, to center it. Distances up to about 200 are computed exactly.

Stage 1: choose A

Hold Shift and click to add points, or generate one of the examples below.

Example 1: a ball

A maximal R1-separated set in the ball of radius R2 about the center of the view.

Example 2: k rays

A maximal R1-separated set in the R2-neighborhood of k evenly spaced geodesic rays of length L from the center of the view.

Thin out and continue

Points are ordered by distance from the original center, then kept greedily if they are at least R′ from every point already kept. The kept set A′ replaces A.

Stage 2: halfspace scan

For each point of A′, the view moves to it and scans 100 halfspaces at distance D, starting from the upward direction. It keeps the halfspace with the most points of A′, and the best one disjoint from it.

Stage 3: sorting the red points

A″ is the set of red points, numbered by distance from the original center. Point 1 is the white anchor. Each point is sorted into an urn.

Region for a point P (the white point, or the gray point): draw the two geodesics L1, L2 through P at distance D from the current point O, and the curves L1′, L2′ at distance R beyond them. Take the part of the plane they enclose with O and P, remove the ball of radius D + R about O (which just touches L1′ and L2′), and call the piece away from P X. The region H is the complement of X, minus that ball of radius D + R. If P is within D of O, L1 and L2 become the single geodesic perpendicular to OP at distance D.

Bad 0
Good 0
Undecided 0

Halfspaces of the selected point (click a point after the run):

Lineage lines (pink):

Points

Click a point to move the view to it.

    No points yet.