Back to Adaptive Vision Library Lite website

You are here: Start » Geometry 2D

Geometry 2D

Geometry 2D Angle Metrics

Icon Name Description / Applications
AngleBetweenDirections

Measures the rotation angle from first to second direction.

AngleBetweenLines

Measures the smaller and the larger angle between two lines.

AngleBetweenSegments

Measures the angle between two segments with one of four possible metrics.

AngleBetweenThreePoints

Measures the angle defined by three consecutive points.

AngleBetweenVectors

Measures the angle between two vectors.

NormalizeAngle

Normalizes an angle to the range <x, x+90) or <x, x+180) or <x, x+360).

Geometry 2D Basics

Icon Name Description / Applications
CreateArc

Creates an arc from an aligned point, radius, and angle range.

CreateCircle

Creates a circle from an aligned point and radius.

CreatePointGrid

Creates a grid of points.

CreateRandomPointArray

Creates array of random points inside given box.

CreateRectangle

Creates a rectangle from an aligned point.

CreateSegment

Produces a segment of given parameters.

CreateVector

Produces a vector of given length and direction.

RandomPoint

Creates random point inside given box.

Geometry 2D Constructions

Icon Name Description / Applications
CircleTangents

Computes circle tangent lines passing through a point.

CircleThroughPoints

Computes a circle passing through three noncollinear points.

CreateCoordinateSystemFromPoint

Creates a coordinate system with the specified origin.


Most often used to define an object alignment from results of 1D Edge Detection or Blob Analysis.

CreateCoordinateSystemFromRectangle

Creates a coordinate system from a rectangle.


Most often used to define an object alignment from a filter like RegionBoundingRectangle.

CreateCoordinateSystemFromSegment

Creates a coordinate system with the origin on a given segment.

CreateCoordinateSystemFromTwoPoints

Creates a coordinate system with two points on its axes.


Most often used to define an object alignment from results of two 1D Edge Detection scans, each of which locates one side of a rectangular object.

CreateCoordinateSystemFromVector

Creates a coordinate system from a vector.


Both vectors and coordinate systems can represent object translations. This operation does a conversion.

LineThroughPoint

Computes a line passing through a point with given angle.

LineThroughPoints

Computes a line passing through two distinct points.

ProjectPointOnCircle

Projects a point onto a circle.

ProjectPointOnLine

Projects a point onto a line.

ProjectPointsOnCircle

Projects points onto a circle.

ProjectPointsOnLine

Projects points onto a line.

SplitRectangle

Splits the rectangle into two along the direction.

VectorBetweenPoints

Computes a vector representing distance from one point to another.

Geometry 2D Distance Metrics

Icon Name Description / Applications
CircleToCircleDistance

Measures the distance between two circles.

PointSequenceDistances

Measures the distances between consecutive points of a point sequence.

PointToArcDistance

Measures the distance between a point and an arc.

PointToCircleDistance

Measures the distance between a point and a circle.

PointToLineDistance

Measures the distance between a point and a line.

PointToLineDistance_Oriented

Measures the signed distance between a point and a line with direction.

PointToPointDistance

Measures the distance between two points.

PointToSegmentDistance

Measures the distance between a point and a segment.

SegmentToSegmentDistance

Measures the distance between two segments.

Geometry 2D Features

Icon Name Description / Applications
ArcCircle

Computes the circle containing an arc.

ArcEndpoints

Computes two endpoints of an arc.

ArcLength

Computes the length of an arc.

ArcMidpoint

Computes the midpoint of an arc.

CircleArea

Computes the area of a circle.

CircleBoundingBox

Computes the smallest box containing a circle.

CircleBoundingRectangle

Computes the smallest rectangle containing a circle.

CircleCharacteristicPoint

Returns a characteristic point (e.g. the top-left) of a box containing the input circle.

CirclePerimeterLength

Computes the length of a circle perimeter.

CircleSection

Computes an arciform section of the circle perimeter.

LineNormalVector

Computes the normal vector of a line.

LineOrientation

Computes the orientation angle of a line as angle in the range from 0 to 180.

PointsBoundingBox

Computes the smallest box containing an array of points.

PointsBoundingBox_OrNil

Computes the smallest box containing an array of points; returns NIL if the array is empty.

PointsBoundingRectangle

Computes the smallest rectangle containing an array of points.

PointsBoundingRectangle_FixedAngle

Computes the smallest rectangle with the given orientation angle containing an array of points.

PointsBoundingRectangle_FixedAngle_OrNil

Computes the smallest rectangle with the given orientation angle containing an array of points; returns NIL when the array is empty.

PointsBoundingRectangle_OrNil

Computes the smallest rectangle containing an array of points; returns NIL when the array is empty.

PointsConvexHull

Computes the smallest convex shape that contains the given array of points.

PointsDiameter

Finds the longest segment connecting two points from a given array.

PointsMassCenter

Computes the central point of the input points.

PointsMassCenter_OrNil

Computes the central point of the input points; returns NIL if the array is empty.

PointsMedian

Computes the geometric median of the input points.

PointsOrientation

Computes the orientation of a set of 2D points.

RectangleArea

Computes the area of a rectangle.

RectangleBoundingBox

Computes the smallest box containing a rectangle.

RectangleBoundingCircle

Computes the smallest circle containing a rectangle.

RectangleCenter

Computes the center point of a rectangle.

RectangleCharacteristicPoint

Returns a characteristic point (e.g. the top-left) of the input rectangle.

RectangleCharacteristicPoints

Computes rectangle's characteristic points.

RectangleCorners

Computes the four corner points of a rectangle.

RectanglePerimeterLength

Computes the perimeter length of a rectangle.

SegmentBisector

Computes a line passing through the center of a segment at a right angle.

SegmentCenter

Computes the center point of a segment.

SegmentLength

Computes the length of a segment.

SegmentLine

Computes the line passing through a segment.

SegmentNormalVector

Computes an unitary vector perpendicular to the segment.

SegmentOrientation

Computes the orientation of a segment.

SegmentVector

Returns the vector [x2 - x1, y2 - y1].

VectorDirection

Computes the direction angle of a vector as an angle in range the from 0 to 360.

VectorLength

Computes the length of a vector.

VectorsMedian

Computes the geometric median of the input vectors.

Geometry 2D Interpolations

Icon Name Description / Applications
AveragePoint

Computes the middle point of two input points.

LerpAngles

Linearly interpolates between two angles in the direction of minimum turn.

LerpPaths

Linearly interpolates between two paths.

LerpPoints

Linearly interpolates between two points.

LerpSegments

Linearly interpolates between two segments.

LerpVectors

Linearly interpolates between two vectors.

LerpVectors_Radial

Linearly interpolates between two radial vectors.

MedianAngle

Computes the median angle of the input angles.


This is a substitute for arithmetic average which cannot be done well for angles. For example the average of 1 and 359 is incorrectly 180 (we think 0).

Geometry 2D Intersections

Icon Name Description / Applications
CircleCircleIntersection

Computes common points of two circles.

LineArcIntersection

Computes the common points of an arc and a line.

LineCircleIntersection

Computes common points of a circle and a line.

LineLineIntersection

Computes a common point of two lines.

LineSegmentIntersection

Computes a common point of a line and a segment.

SegmentArcIntersection

Computes the common points of an arc and a segment.

SegmentArrayIntersections

Computes a common points or segment of any segments from the set.

SegmentCircleIntersection

Computes the common points of a circle and a segment.

SegmentSegmentIntersection

Computes a common point of two segments.

TestRectangleIntersectsWith

Tests if two rectangles intersect.

Geometry 2D Normalizations

Icon Name Description / Applications
NormalizeRectangleOrientation

Changes orientation of the given rectangle according to parameters.

NormalizeSegmentOrientation_ByBaseOrientation

Changes orientation of the given segment according to base orientation.

NormalizeSegmentOrientation_ByCoordinate

Changes orientation of the given segment according to coordinates along selected axis.

NormalizeSegmentOrientation_ByPointDistance

Changes orientation of the given segment according to distance to the given point.

RemoveInvalidPoints

Removes invalid points from an array (i.e. points with NaN or INF coordinates).

Geometry 2D Relations

Icon Name Description / Applications
FindClosestPoints

For each given point, finds the closest point among the given point set.

TestPointArrayInBox

Tests which points lie inside a box.

TestPointArrayInRectangle

Tests which points lie inside a rectangle.

TestPointInBox

Tests whether a point lies in a box.

TestPointInCircle

Tests whether a point lies inside a circle.

TestPointInRectangle

Tests whether a point lies in a rectangle.

Geometry 2D Spatial Transforms

Icon Name Description / Applications
AlignArc

Moves an arc from a local coordinate system to the absolute one.


Required when there is an arc defined in a local coordinate system, but the next image-related filter in the program does not have any inAlignment input.

AlignCircle

Moves a circle from a local coordinate system to the absolute one.


Required when there is a circle defined in a local coordinate system, but the next image-related filter in the program does not have any inAlignment input.

AlignCoordinateSystem

Moves a nested coordinate system from its local coordinate system to the absolute one.


This filter is required e.g. when we first locate an object and then we locate its parts within it.

AlignLine

Moves a line from a local coordinate system to the absolute one.


Required when there is a line defined in a local coordinate system, but the next image-related filter in the program does not have any inAlignment input.

AlignPoint

Moves a point from a local coordinate system to the absolute one.


Required when there is a point defined in a local coordinate system, but the next image-related filter in the program does not have any inAlignment input.

AlignPointArray

Moves an array of points from a local coordinate system to the absolute one.


Required when there are points defined in a local coordinate system, but the next image-related filter in the program does not have any inAlignment input.

AlignRectangle

Moves a rectangle from a local coordinate system to the absolute one.


Required when there is a rectangle defined in a local coordinate system, but the next image-related filter in the program does not have any inAlignment input.

AlignSegment

Moves a segment from a local coordinate system to the absolute one.


Required when there is a segment defined in a local coordinate system, but the next image-related filter in the program does not have any inAlignment input.

InflateRectangle

Enlarges a rectangle by a given margin.

InvertCoordinateSystem

Inverts a coordinate system.

PointAlongArc

Transforms a point to a coordinate system in which the 'axis' arc is vertical or horizontal.


Usually used to revert an ImageAlongArc transformation.

PointAlongPath

Transforms a point to a coordinate system in which the 'axis' path is vertical or horizontal.


Usually used to revert an ImageAlongPath transformation.

RescaleArc

Changes radius of an arc and translates its center in relation to a reference point.

RescaleCircle

Changes radius of a circle and translates its center in relation to a reference point.

RescaleLine

Changes the distance of a line to a reference point.

RescalePoint

Changes the distance of a point to a reference point.

RescalePointArray

Changes the distances of points from an array to a reference point.

RescaleRectangle

Changes the corners and the dimensions of a rectangle.

RescaleSegment

Lengthens or shortens a segment relatively.

RescaleVector

Lengthens or shortens a vector relatively preserving its direction.

ResizeArc

Changes radius of an arc.

ResizeArc_Delta

Changes radius of an arc by adding a value.

ResizeCircle

Changes radius of a circle.

ResizeCircle_Delta

Changes radius of a circle by adding a value.

ResizeRectangle

Changes dimensions of a rectangle.

ResizeRectangle_Delta

Changes dimensions of a rectangle by adding some values.

ResizeRectangle_Relative

Changes dimensions of a rectangle relatively.

ResizeSegment

Lengthens or shortens a segment to a new length preserving its orientation and center point.

ResizeSegment_Delta

Changes length of a segment by adding a value preserving its orientation and center point.

ResizeVector

Lengthens or shortens a vector preserving its direction.

ResizeVector_Delta

Extends length of a vector by adding a value preserving its direction.

ReverseArc

Inverts the direction of the arc.

ReverseSegment

Swaps the two endpoints of a segment.

RotateAngle

Adds two angles.

RotateAngle_Toward

Changes the input direction in the direction of minimum rotation toward the target direction.

RotateArc

Rotates an arc clockwise around center point.

RotateCircle

Rotates a circle clockwise around a center point.

RotateCoordinateSystem

Rotates a coordinate system around a center point.

RotateLine

Rotates a line clockwise around a center point.

RotatePoint

Rotates a point clockwise around a center point.

RotatePointArray

Rotates an array of points clockwise around a center point.

RotateRectangle

Rotates a rectangle clockwise around a center point.

RotateSegment

Rotates a segment clockwise around a center point.

RotateVector

Rotates a vector clockwise.

SplitPointsByLine

Separates the points being on one side of the input line from the others.

SplitSegment

Splits a segment into several parts of equal length.

TranslateArc

Translates an arc by a vector.

TranslateCircle

Translates a circle by a vector.

TranslateCoordinateSystem

Translates a coordinate system by a vector.

TranslateLine

Translates a line by a vector.

TranslatePoint

Translates a point by a vector.

TranslatePointArray

Translates an array of points by a vector.

TranslatePoint_Toward

Translates a point towards another point by a specified distance.

TranslateRectangle

Translates a rectangle by a vector.

TranslateSegment

Translates a segment by a vector.

TrimLine

Creates a segment contained in a box from a line.

TrimLineToRectangle

Creates a segment contained in a rectangle from a line.

TrimPath

Creates a path contained in a box from another path.

TrimPathArray

Creates an array of paths contained in a box from another array of paths.

TrimPathArrayToRectangle

Creates an array of paths contained in a rectangle from another array of paths.

TrimPathToRectangle

Creates a path contained in a rectangle from another path.

TrimPointArray

Removes points not contained in a box from an array.

TrimPointArrayToRegion

Trims an array of points to a region.

TrimSegment

Creates a segment contained in a box from another segment.

TrimSegmentToRectangle

Creates a segment contained in a rectangle from another segment.