VCLib Documentation  6.12.2

Geometrical Concepts

Data Structures

struct  point
 2D Coordinate Point or Vector. More...
 
struct  vcline
 2D Line (Normal Form). More...
 

Detailed Description

vcline.png

The basic data structures for geometric processing are point and vcline. The vcline uses the so-called standard form $(\texttt{cx} * x) + (\texttt{cy} * y) - \texttt{b} = 0$. For lines the normal vector (cx, cy) should be normalized to 1, although the vcline-struct still defines a line if this is not the case: b cannot be used as the distance from the origin to the line and some trigonometric functions could have some problems. Please be aware, that even in the case of a normalized vector, the representation is not unique, since all values could be replaced by their negative, describing the very same line. All functions in this chapter use floating-point values and floating-point calculations.

Angles

There are different definitions for angles in VCLIB:

(1) Angles in radiants (rad). These are mostly used for the mathematical functions using sin() and cos(). Please note that an increasing value for a radiant angle corresponds to a CLOCKWISE rotation. The reason for this deviation from mathematical standards is the fact that the y-vector of the coordinate system points downward.

(2) Angles in degrees (deg)

(3) Angles in U8 notation (ang8) ranging from [0..255] with a resolution of approx. 1.4 degrees.

(4) Angles in U16 notation (ang16) ranging from [0..65535] with a resolution of 0.0055 degrees. This is a variant of (3) and is mainly used for angles in Hough Transform related functions to increase the accuracy.

gradient_values.png

Data Structure Documentation

◆ point

struct point
Data Fields
F32 x

The float Coordinates/Vector Entries.

F32 y

The float Coordinates/Vector Entries.

◆ vcline

struct vcline
Data Fields
F32 cx

float Parameters for the Line in Normalized Vector Form.

F32 cy

float Parameters for the Line in Normalized Vector Form.

F32 b

float Parameters for the Line in Normalized Vector Form $(\texttt{cx} * x) + (\texttt{cy} * y) - \texttt{b} = 0$.