Back to Adaptive Vision Library website

You are here: Start » Function Reference » Geometry 2D Spatial Transforms » PointAlongArc

PointAlongArc


Header:AVL.h
Namespace:avl

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

Syntax

C++
C#
 
void avl::PointAlongArc
(
	const avl::Point2D& inPoint,
	const avl::Arc2D& inAxis,
	avl::Axis::Type inAxisType,
	float inAxisCoordinate,
	bool inInverse,
	avl::Point2D& outPoint
)

Parameters

Name Type Default Description
inPoint const Point2D& Input point
inAxis const Arc2D& Input axis arc
inAxisType Axis::Type Y Type of axis the input axis arc is parallel to
inAxisCoordinate float 0.0f Coordinate of the axis arc
inInverse bool True Switches to the inverse operation
outPoint Point2D& Transformed point

Description

This operation transforms a point - inPoint - between two coordinate systems: the one linked with 'axis' arc inAxis and the original one. Direction of this conversion is based on inInverse value:

  • if it is true, inPoint is converted to original coordinate system
  • if it is false, inPoint is converted from original coordinate system

Coordinate system linked with inAxis is some transformation of the original one, satisfying these conditions:

  • 'axis' arc is represented as a straight line
  • 'axis' arc is horizontal if inAxisType is set to X or vertical if inAxisType is set to Y
  • if inAxisType is set to X, the Y coordinate of 'axis' arc is equal to inAxisCoordinate. If inAxisType is set to Y, the X coordinate of 'axis' arc is equal to inAxisCoordinate

Hints

  • If this filter is used to reverse ImageAlongArc transformation you should set inAxis and inAxisType to the same values as corresponding ones in ImageAlongArc. inAxisCoordinate should be set to a half of ImageAlongArc.inScanWidth.

Examples

ImageAlongArc performed on the sample image with inAxisType = X and inScanWidth = 50. Point marked with green cross on the output image was calculated by ScanSingleEdge. Original point (marked with blue cross) was calculated using PointAlongArc with inAxisType = X, inAxisCoordinate = 25, inInverse = true and position of detected point. ImageAlongArc and PointAlongArc used the same arc for transformations.

See Also

  • ImageAlongArc – Creates an image from pixels traversed along an arc.
  • PathAlongArc – Transforms a path to a coordinate system in which the 'axis' arc is vertical or horizontal.
  • PointAlongPath – Transforms a point to a coordinate system in which the 'axis' path is vertical or horizontal.