2 #ifndef vgl_homg_operators_1d_h_ 3 #define vgl_homg_operators_1d_h_ 19 #include <vnl/vnl_fwd.h> 52 static T
conjugate(T x1, T x2, T x3,
double cr = -1);
94 #define VGL_HOMG_OPERATORS_1D_INSTANTIATE(T) \ 95 "Please #include <vgl/algo/vgl_homg_operators_1d.hxx>" 97 #endif // vgl_homg_operators_1d_h_ static void unitize(vgl_homg_point_1d< T > &a)
Normalize vgl_homg_point_1d<T> to unit magnitude.
static T cross(const vgl_homg_point_1d< T > &a, const vgl_homg_point_1d< T > &b)
Cross product of two homogeneous points.
static T conjugate(T x1, T x2, T x3, double cr=-1)
Calculate the projective conjugate point of three given points.
static double cross_ratio(const vgl_homg_point_1d< T > &a, const vgl_homg_point_1d< T > &b, const vgl_homg_point_1d< T > &c, const vgl_homg_point_1d< T > &d)
cross ratio of four 1D points.
static bool is_within_distance(const vgl_homg_point_1d< T > &p1, const vgl_homg_point_1d< T > &p2, T d)
True if the points are closer than Euclidean distance d.
a point in homogeneous 1-D space, i.e., a homogeneous pair (x,w)
static vnl_vector_fixed< T, 2 > get_vector(vgl_homg_point_1d< T > const &p)
get a vnl_vector_fixed representation of a homogeneous object.
static T dot(const vgl_homg_point_1d< T > &a, const vgl_homg_point_1d< T > &b)
Dot product of two homogeneous points.
static T distance_squared(const vgl_homg_point_1d< T > &point1, const vgl_homg_point_1d< T > &point2)
Get the square of the distance between the two points.
1D homogeneous functions.
vgl_homg_point_1d< T > operator *(vnl_matrix_fixed< T, 2, 2 > const &m, vgl_homg_point_1d< T > const &p)
Transform a point through a 2x2 projective transformation matrix.
Represents a homogeneous 1-D point, i.e., a homogeneous pair (x,w).
static T distance(const vgl_homg_point_1d< T > &point1, const vgl_homg_point_1d< T > &point2)
Get the distance between the two points.
static vgl_homg_point_1d< T > midpoint(const vgl_homg_point_1d< T > &p1, const vgl_homg_point_1d< T > &p2)
Return the midpoint of two homogeneous points.