Skip to content

Main content

Polygon Half Plane Clip

Clip an ordered polygon against the closed half-plane nx*x+ny*y<=maximum; no self-intersection validation or geographic geometry.

Loading tool…

Description

Clip an ordered polygon against the closed half-plane nx*x+ny*y<=maximum; no self-intersection validation or geographic geometry.

Planar geometry operates on two-coordinate Cartesian points and explicit shape boundaries. A closed rectangle includes its edges, while a segment parameter locates a point along a supporting line. Signed cross products, areas and axis gaps preserve orientation or direction information that a magnitude alone would lose.

Clip an ordered polygon against the closed half-plane nx*x+ny*y<=maximum; no self-intersection validation or geographic geometry.

When to use this tool

Use this tool to clip an ordered polygon against the closed half-plane nx*x+ny*y<=maximum; no self-intersection validation or geographic geometry.

How to use the tool and how it works

  1. Enter points, normalX, normalY, maximum using the input definitions below.
  2. Run the operation. Resolve malformed-input errors before interpreting the result.
  3. Read result.points. Interpret signs, units, ordering and null values using the rules below.

For each cyclic edge compute f = normalX×x+normalY×y−maximum. Keep endpoints with f≤0 and insert intersections where consecutive endpoint signs strictly differ. The normal must be nonzero.1

Input fieldMeaning and unitsAccepted input
pointsOrdered planar [x,y] points. Polygon operations close the cycle implicitly; polyline operations use adjacent pairs only.Dense list of at most 128 rows of at most 128 finite numbers; the operation’s shape constraints also apply.
normalXx component of the half-plane normal; the pair of normal components must be nonzero.Finite number satisfying the stated comparisons.
normalYy component of the half-plane normal; components are bounded to ±1,000,000,000.Finite number satisfying the stated comparisons.
maximumHalf-plane bound in normalX×x+normalY×y≤maximum; finite within ±1,000,000,000.Finite number satisfying the stated comparisons.
Output fieldInterpretation
resultObject containing the fields below.
result.pointsOrdered resulting point coordinates under the stated clipping/intersection rule.
json
{
  "input": {
    "points": [
      [
        0,
        0
      ],
      [
        2,
        0
      ],
      [
        2,
        2
      ],
      [
        0,
        2
      ]
    ],
    "normalX": 1,
    "normalY": 0,
    "maximum": 1
  },
  "output": {
    "result": {
      "points": [
        [
          0,
          0
        ],
        [
          1,
          0
        ],
        [
          1,
          2
        ],
        [
          0,
          2
        ]
      ]
    }
  }
}

Limitations and assumptions

  • The closed half-plane includes its boundary. Near-boundary comparisons are exact floating arithmetic without a tolerance or topology repair.
  • Point components and rectangle bounds are finite within ±1,000,000,000. Rectangles use [minX,minY,maxX,maxY] with ordered inclusive bounds. Floating arithmetic is used without an implicit robustness tolerance.
  • Every declared top-level input is required and unknown fields are rejected. Ordinary strings are limited to 8,192 UTF-16 code units and lists to 128 entries, with tighter operation-specific bounds where stated. JSON text has bounded nesting and node counts.
  • Numeric outputs must be finite and within the absolute safe-integer magnitude; exact larger integers use decimal text. Source positions are zero-based UTF-16 offsets and span ends are exclusive unless a different convention is explicitly stated.

Alternative or Complementary methods

Choose the boundary and coordinate convention explicitly. Use robust geometric predicates or a topology-aware library when near-coincidence, holes, invalid polygons or geographic coordinates matter.

References

  1. Tool behavior and example: Polygon Half Plane Clip — tool.io

Similar or alternative tools

  • Polygon Rectangle Clip

    Clip an ordered planar polygon against four rectangle half-planes, preserving algorithm order; floating boundary arithmetic, no polygon topology repair.

  • Polygon Edge Orientation Table

    Report directed polygon edge displacements and radian orientations; zero edges have null direction, and the cycle is implicitly closed.