Static Public Member Functions
HomgOperator3D Class Reference

#include <HomgOperator3D.h>

List of all members.

Static Public Member Functions

static double angle_between_oriented_lines (const HomgLine3D &line1, const HomgLine3D &line2)
 Return the angle between the (oriented) lines (in radians).
static double distance_squared (const HomgPoint3D &point1, const HomgPoint3D &point2)
 Return the squared distance between the points.
static HomgPoint3D intersect_line_and_plane (const HomgLine3D &, const HomgPlane3D &)
 Return the intersection point of the line and plane.
static HomgPoint3D lines_to_point (const HomgLine3D &line1, const HomgLine3D &line2)
static HomgPoint3D lines_to_point (const vcl_vector< HomgLine3D > &line_list)
static double perp_dist_squared (const HomgPoint3D &point, const HomgLine3D &line)
static HomgLine3D perp_line_through_point (const HomgLine3D &line, const HomgPoint3D &point)
static HomgPoint3D perp_projection (const HomgLine3D &line, const HomgPoint3D &point)
static HomgLine3D planes_to_line (const HomgPlane3D &plane1, const HomgPlane3D &plane2)
 Return the intersection line of the planes.
static HomgLine3D planes_to_line (const vcl_vector< HomgPlane3D > &plane_list)
static HomgLine3D points_to_line (const HomgPoint3D &point1, const HomgPoint3D &point2)
static HomgLine3D points_to_line (const vcl_vector< HomgPoint3D > &point_list)
static HomgPlane3D points_to_plane (const HomgPoint3D &, const HomgPoint3D &, const HomgPoint3D &)
static HomgPlane3D points_to_plane (const vcl_vector< HomgPoint3D > &point_list)
static HomgPoint3D intersection_point (const HomgPlane3D &, const HomgPlane3D &, const HomgPlane3D &)
 Compute best-fit intersection of planes in a point.
static HomgPoint3D intersection_point (const vcl_vector< HomgPlane3D > &)
static void sort_points (HomgPoint3D *p, int n)
 Given collinear 3D points in random order, sort them.
static double CrossRatio (const Homg3D &p1, const Homg3D &p2, const Homg3D &p3, const Homg3D &p4)
 Calculates the crossratio of four collinear points p1, p2, p3 and p4.

Detailed Description

Definition at line 20 of file HomgOperator3D.h.


Member Function Documentation

double HomgOperator3D::angle_between_oriented_lines ( const HomgLine3D line1,
const HomgLine3D line2 
) [static]

Return the angle between the (oriented) lines (in radians).

Definition at line 98 of file HomgOperator3D.cxx.

double HomgOperator3D::CrossRatio ( const Homg3D a,
const Homg3D b,
const Homg3D c,
const Homg3D d 
) [static]

Calculates the crossratio of four collinear points p1, p2, p3 and p4.

This number is projectively invariant, and it is the coordinate of p4 in the reference frame where p2 is the origin (coordinate 0), p3 is the unity (coordinate 1) and p1 is the point at infinity. This cross ratio is often denoted as ((p1, p2; p3, p4)) (which also equals ((p3, p4; p1, p2)) or ((p2, p1; p4, p3)) or ((p4, p3; p2, p1)) ) and is calculated as p1 - p3 p2 - p3 (p1-p3)(p2-p4) ------- : -------- = -------------- p1 - p4 p2 - p4 (p1-p4)(p2-p3)

In principle, any single nonhomogeneous coordinate from the four points can be used as parameters for CrossRatio (but of course the same for all points). The most reliable answer will be obtained when the coordinate with the largest spacing is used, i.e., the one with smallest slope.

Definition at line 336 of file HomgOperator3D.cxx.

double HomgOperator3D::distance_squared ( const HomgPoint3D point1,
const HomgPoint3D point2 
) [static]

Return the squared distance between the points.

Definition at line 115 of file HomgOperator3D.cxx.

HomgPoint3D HomgOperator3D::intersect_line_and_plane ( const HomgLine3D line,
const HomgPlane3D plane 
) [static]

Return the intersection point of the line and plane.

Definition at line 125 of file HomgOperator3D.cxx.

HomgPoint3D HomgOperator3D::intersection_point ( const HomgPlane3D plane1,
const HomgPlane3D plane2,
const HomgPlane3D plane3 
) [static]

Compute best-fit intersection of planes in a point.

Definition at line 280 of file HomgOperator3D.cxx.

HomgPoint3D HomgOperator3D::intersection_point ( const vcl_vector< HomgPlane3D > &  planes) [static]

Definition at line 303 of file HomgOperator3D.cxx.

HomgPoint3D HomgOperator3D::lines_to_point ( const HomgLine3D line1,
const HomgLine3D line2 
) [static]

Definition at line 151 of file HomgOperator3D.cxx.

HomgPoint3D HomgOperator3D::lines_to_point ( const vcl_vector< HomgLine3D > &  line_list) [static]

Definition at line 163 of file HomgOperator3D.cxx.

double HomgOperator3D::perp_dist_squared ( const HomgPoint3D point,
const HomgLine3D line 
) [static]

Definition at line 174 of file HomgOperator3D.cxx.

HomgLine3D HomgOperator3D::perp_line_through_point ( const HomgLine3D line,
const HomgPoint3D point 
) [static]

Definition at line 186 of file HomgOperator3D.cxx.

HomgPoint3D HomgOperator3D::perp_projection ( const HomgLine3D line,
const HomgPoint3D point 
) [static]

Definition at line 195 of file HomgOperator3D.cxx.

HomgLine3D HomgOperator3D::planes_to_line ( const HomgPlane3D plane1,
const HomgPlane3D plane2 
) [static]

Return the intersection line of the planes.

Definition at line 207 of file HomgOperator3D.cxx.

HomgLine3D HomgOperator3D::planes_to_line ( const vcl_vector< HomgPlane3D > &  plane_list) [static]

Definition at line 225 of file HomgOperator3D.cxx.

HomgLine3D HomgOperator3D::points_to_line ( const HomgPoint3D point1,
const HomgPoint3D point2 
) [static]

Definition at line 237 of file HomgOperator3D.cxx.

HomgLine3D HomgOperator3D::points_to_line ( const vcl_vector< HomgPoint3D > &  point_list) [static]

Definition at line 248 of file HomgOperator3D.cxx.

HomgPlane3D HomgOperator3D::points_to_plane ( const HomgPoint3D ,
const HomgPoint3D ,
const HomgPoint3D  
) [static]

Definition at line 259 of file HomgOperator3D.cxx.

HomgPlane3D HomgOperator3D::points_to_plane ( const vcl_vector< HomgPoint3D > &  point_list) [static]

Definition at line 271 of file HomgOperator3D.cxx.

void HomgOperator3D::sort_points ( HomgPoint3D p,
int  n 
) [static]

Given collinear 3D points in random order, sort them.

Definition at line 22 of file HomgOperator3D.cxx.


The documentation for this class was generated from the following files: