Back to Aurora Vision Library website

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

PointAlongArc


Header: AVL.h
Namespace: avl
Module: FoundationLite

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

Applications: Usually used to revert an ImageAlongArc transformation.

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
Input value inPoint const Point2D& Input point
Input value inAxis const Arc2D& Input axis arc
Input value inAxisType Axis::Type Y Type of axis the input axis arc is parallel to
Input value inAxisCoordinate float 0.0f Coordinate of the axis arc
Input value inInverse bool True Switches to the inverse operation
Output value 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.