#include <HomgOperator3D.h>
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. | |
Definition at line 20 of file HomgOperator3D.h.
| 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 97 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 335 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 114 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 124 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 279 of file HomgOperator3D.cxx.
| HomgPoint3D HomgOperator3D::intersection_point | ( | const vcl_vector< HomgPlane3D > & | planes | ) | [static] |
Definition at line 302 of file HomgOperator3D.cxx.
| HomgPoint3D HomgOperator3D::lines_to_point | ( | const HomgLine3D & | line1, |
| const HomgLine3D & | line2 | ||
| ) | [static] |
Definition at line 150 of file HomgOperator3D.cxx.
| HomgPoint3D HomgOperator3D::lines_to_point | ( | const vcl_vector< HomgLine3D > & | line_list | ) | [static] |
Definition at line 162 of file HomgOperator3D.cxx.
| double HomgOperator3D::perp_dist_squared | ( | const HomgPoint3D & | point, |
| const HomgLine3D & | line | ||
| ) | [static] |
Definition at line 173 of file HomgOperator3D.cxx.
| HomgLine3D HomgOperator3D::perp_line_through_point | ( | const HomgLine3D & | line, |
| const HomgPoint3D & | point | ||
| ) | [static] |
Definition at line 185 of file HomgOperator3D.cxx.
| HomgPoint3D HomgOperator3D::perp_projection | ( | const HomgLine3D & | line, |
| const HomgPoint3D & | point | ||
| ) | [static] |
Definition at line 194 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 206 of file HomgOperator3D.cxx.
| HomgLine3D HomgOperator3D::planes_to_line | ( | const vcl_vector< HomgPlane3D > & | plane_list | ) | [static] |
Definition at line 224 of file HomgOperator3D.cxx.
| HomgLine3D HomgOperator3D::points_to_line | ( | const HomgPoint3D & | point1, |
| const HomgPoint3D & | point2 | ||
| ) | [static] |
Definition at line 236 of file HomgOperator3D.cxx.
| HomgLine3D HomgOperator3D::points_to_line | ( | const vcl_vector< HomgPoint3D > & | point_list | ) | [static] |
Definition at line 247 of file HomgOperator3D.cxx.
| HomgPlane3D HomgOperator3D::points_to_plane | ( | const HomgPoint3D & | , |
| const HomgPoint3D & | , | ||
| const HomgPoint3D & | |||
| ) | [static] |
Definition at line 258 of file HomgOperator3D.cxx.
| HomgPlane3D HomgOperator3D::points_to_plane | ( | const vcl_vector< HomgPoint3D > & | point_list | ) | [static] |
Definition at line 270 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 21 of file HomgOperator3D.cxx.
1.7.5.1