#include <vgl_homg_point_3d.h>
Definition at line 25 of file vgl_homg_point_3d.h.
Public Member Functions | |
| vgl_homg_point_3d () | |
| Default constructor with (0,0,0,1). | |
| vgl_homg_point_3d (Type px, Type py, Type pz, Type pw=(Type) 1) | |
| Construct from three (nonhomogeneous) or four (homogeneous) Types. | |
| vgl_homg_point_3d (const Type v[4]) | |
| Construct from homogeneous 4-array. | |
| vgl_homg_point_3d (vgl_vector_3d< Type >const &v) | |
| Construct point at infinity from direction vector. | |
| vgl_homg_point_3d (vgl_point_3d< Type > const &p) | |
| Construct from (non-homogeneous) vgl_point_3d<Type>. | |
| vgl_homg_point_3d (vgl_homg_plane_3d< Type > const &l1, vgl_homg_plane_3d< Type > const &l2, vgl_homg_plane_3d< Type > const &l3) | |
| Construct from 3 planes (intersection). | |
| bool | operator== (vgl_homg_point_3d< Type > const &other) const |
| the comparison operator. | |
| bool | operator!= (vgl_homg_point_3d< Type >const &other) const |
| Type | x () const |
| Type | y () const |
| Type | z () const |
| Type | w () const |
| void | set (Type px, Type py, Type pz, Type pw=(Type) 1) |
| Set x,y,z,w. | |
| void | set (Type const p[4]) |
| bool | ideal (Type tol=(Type) 0) const |
| Return true iff the point is at infinity (an ideal point). | |
| bool | get_nonhomogeneous (double &vx, double &vy, double &vz) const |
| bool | rescale_w (Type new_w=Type(1)) |
Private Attributes | |
| Type | x_ |
| Type | y_ |
| Type | z_ |
| Type | w_ |
Related Functions | |
| (Note that these are not member functions.) | |
| vgl_homg_point_3d< T > | vgl_closest_point_origin (vgl_homg_plane_3d< T > const &pl) |
| Return the point on the given plane closest to the origin. | |
| vgl_homg_point_3d< T > | vgl_closest_point_origin (vgl_homg_line_3d_2_points< T > const &l) |
| Return the point on the given line closest to the origin. | |
| double | vgl_distance (vgl_homg_point_3d< T >const &p1, vgl_homg_point_3d< T >const &p2) |
| return the distance between two points. | |
| bool | collinear (l const &l1, vgl_homg_point_3d< Type > const &p) |
| Does a line pass through a point, i.e. | |
| bool | coplanar (l const &l1, vgl_homg_point_3d< Type > const &p1, vgl_homg_point_3d< Type > const &p2) |
| Are two points coplanar with a line?. | |
| vcl_ostream & | operator<< (vcl_ostream &s, vgl_homg_point_3d< Type > const &p) |
| Write "<vgl_homg_point_3d (x,y,z,w) >" to stream. | |
| vcl_istream & | operator>> (vcl_istream &s, vgl_homg_point_3d< Type > &p) |
| Read x y z w from stream. | |
| bool | is_ideal (vgl_homg_point_3d< Type > const &p, Type tol=(Type) 0) |
| Return true iff the point is at infinity (an ideal point). | |
| bool | coplanar (vgl_homg_point_3d< Type > const &p1, vgl_homg_point_3d< Type > const &p2, vgl_homg_point_3d< Type > const &p3, vgl_homg_point_3d< Type > const &p4) |
| Return true iff the 4 points are coplanar, i.e. | |
| vgl_vector_3d< Type > | operator- (vgl_homg_point_3d< Type > const &p1, vgl_homg_point_3d< Type > const &p2) |
| The difference of two points is the vector from second to first point. | |
| vgl_homg_point_3d< Type > | operator+ (vgl_homg_point_3d< Type > const &p, vgl_vector_3d< Type > const &v) |
| Adding a vector to a point gives a new point at the end of that vector. | |
| vgl_homg_point_3d< Type > & | operator+= (vgl_homg_point_3d< Type > &p, vgl_vector_3d< Type > const &v) |
| Adding a vector to a point gives the point at the end of that vector. | |
| vgl_homg_point_3d< Type > | operator- (vgl_homg_point_3d< Type > const &p, vgl_vector_3d< Type > const &v) |
| Subtracting a vector from a point is the same as adding the inverse vector. | |
| vgl_homg_point_3d< Type > & | operator-= (vgl_homg_point_3d< Type > &p, vgl_vector_3d< Type > const &v) |
| Subtracting a vector from a point is the same as adding the inverse vector. | |
| double | cross_ratio (vgl_homg_point_3d< T >const &p1, vgl_homg_point_3d< T >const &p2, vgl_homg_point_3d< T >const &p3, vgl_homg_point_3d< T >const &p4) |
| cross ratio of four collinear points. | |
| bool | collinear (vgl_homg_point_3d< Type > const &p1, vgl_homg_point_3d< Type > const &p2, vgl_homg_point_3d< Type > const &p3) |
| Are three points collinear, i.e. | |
| double | ratio (vgl_homg_point_3d< Type > const &p1, vgl_homg_point_3d< Type > const &p2, vgl_homg_point_3d< Type > const &p3) |
| Return the relative distance to p1 wrt p1-p2 of p3. | |
| vgl_homg_point_3d< Type > | midpoint (vgl_homg_point_3d< Type > const &p1, vgl_homg_point_3d< Type > const &p2, Type f=(Type) 0.5) |
| Return the point at a given ratio wrt two other points. | |
| vgl_homg_point_3d< Type > | centre (vgl_homg_point_3d< Type > const &p1, vgl_homg_point_3d< Type > const &p2) |
| Return the point at the centre of gravity of two given points. | |
| vgl_homg_point_3d< Type > | centre (vcl_vector< vgl_homg_point_3d< Type > > const &v) |
| Return the point at the centre of gravity of a set of given points. | |
|
|||||||||
|
Default constructor with (0,0,0,1).
Definition at line 38 of file vgl_homg_point_3d.h. |
|
||||||||||||||||||||||||
|
Construct from three (nonhomogeneous) or four (homogeneous) Types.
Definition at line 41 of file vgl_homg_point_3d.h. |
|
||||||||||
|
Construct from homogeneous 4-array.
Definition at line 45 of file vgl_homg_point_3d.h. |
|
||||||||||
|
Construct point at infinity from direction vector.
Definition at line 48 of file vgl_homg_point_3d.h. |
|
||||||||||
|
Construct from (non-homogeneous) vgl_point_3d<Type>.
Definition at line 51 of file vgl_homg_point_3d.h. |
|
||||||||||||||||||||
|
Construct from 3 planes (intersection).
Definition at line 11 of file vgl_homg_point_3d.txx. |
|
||||||||||||||||||||
|
Definition at line 104 of file vgl_homg_point_3d.h. |
|
||||||||||
|
Return true iff the point is at infinity (an ideal point). The method checks whether |w| <= tol * max(|x|,|y|,|z|) Definition at line 95 of file vgl_homg_point_3d.h. |
|
||||||||||
|
Definition at line 77 of file vgl_homg_point_3d.h. |
|
||||||||||
|
the comparison operator.
Definition at line 26 of file vgl_homg_point_3d.txx. |
|
||||||||||
|
Definition at line 123 of file vgl_homg_point_3d.h. |
|
||||||||||
|
Definition at line 91 of file vgl_homg_point_3d.h. |
|
||||||||||||||||||||||||
|
Set x,y,z,w. Note that it does not make sense to set x, y, z or w individually. Definition at line 88 of file vgl_homg_point_3d.h. |
|
|||||||||
|
Definition at line 84 of file vgl_homg_point_3d.h. |
|
|||||||||
|
Definition at line 81 of file vgl_homg_point_3d.h. |
|
|||||||||
|
Definition at line 82 of file vgl_homg_point_3d.h. |
|
|||||||||
|
Definition at line 83 of file vgl_homg_point_3d.h. |
|
||||||||||
|
Return the point at the centre of gravity of a set of given points. There are no rounding errors when Type is e.g. int, if all w() are 1. Definition at line 306 of file vgl_homg_point_3d.h. |
|
||||||||||||||||
|
Return the point at the centre of gravity of two given points. Identical to midpoint(p1,p2). Invalid when both points are at infinity. If only one point is at infinity, that point is returned. inline Definition at line 293 of file vgl_homg_point_3d.h. |
|
||||||||||||||||||||
|
Are three points collinear, i.e. , do they lie on a common line?. Definition at line 38 of file vgl_homg_point_3d.txx. |
|
||||||||||||||||
|
Does a line pass through a point, i.e. , are the point and the line collinear?. Definition at line 95 of file vgl_homg_line_3d_2_points.h. |
|
||||||||||||||||||||||||
|
Return true iff the 4 points are coplanar, i.e. , they belong to a common plane. Definition at line 160 of file vgl_homg_point_3d.h. |
|
||||||||||||||||||||
|
Are two points coplanar with a line?.
Definition at line 113 of file vgl_homg_line_3d_2_points.h. |
|
||||||||||||||||||||||||
|
cross ratio of four collinear points. 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 this implementation, a least-squares result is calculated when the points are not exactly collinear. Definition at line 63 of file vgl_homg_point_3d.txx. |
|
||||||||||||||||
|
Return true iff the point is at infinity (an ideal point). The method checks whether |w| <= tol * max(|x|,|y|,|z|) Definition at line 155 of file vgl_homg_point_3d.h. |
|
||||||||||||||||||||
|
Return the point at a given ratio wrt two other points. By default, the mid point (ratio=0.5) is returned. Note that the third argument is Type, not double, so the midpoint of e.g. two vgl_homg_point_3d<int> is not a valid concept. But the reflection point of p2 wrt p1 is: in that case f=-1. Definition at line 281 of file vgl_homg_point_3d.h. |
|
||||||||||||||||
|
Adding a vector to a point gives a new point at the end of that vector. If the point is at infinity, nothing happens. Note that vector + point is not defined! It's always point + vector. Definition at line 197 of file vgl_homg_point_3d.h. |
|
||||||||||||||||
|
Adding a vector to a point gives the point at the end of that vector. If the point is at infinity, nothing happens. Definition at line 209 of file vgl_homg_point_3d.h. |
|
||||||||||||||||
|
Subtracting a vector from a point is the same as adding the inverse vector.
Definition at line 218 of file vgl_homg_point_3d.h. |
|
||||||||||||||||
|
The difference of two points is the vector from second to first point. This function is only valid if the points are not at infinity. Definition at line 183 of file vgl_homg_point_3d.h. |
|
||||||||||||||||
|
Subtracting a vector from a point is the same as adding the inverse vector.
Definition at line 225 of file vgl_homg_point_3d.h. |
|
||||||||||||||||
|
Write "<vgl_homg_point_3d (x,y,z,w) >" to stream.
Definition at line 78 of file vgl_homg_point_3d.txx. |
|
||||||||||||||||
|
Read x y z w from stream.
Definition at line 86 of file vgl_homg_point_3d.txx. |
|
||||||||||||||||||||
|
Return the relative distance to p1 wrt p1-p2 of p3. The three points should be collinear and p2 should not equal p1. This is the coordinate of p3 in the affine 1D reference frame (p1,p2). If p3=p1, the ratio is 0; if p1=p3, the ratio is 1. The mid point of p1 and p2 has ratio 0.5. Note that the return type is double, not Type, since the ratio of e.g. two vgl_vector_3d<int> need not be an int. Definition at line 269 of file vgl_homg_point_3d.h. |
|
||||||||||
|
Return the point on the given line closest to the origin.
Definition at line 214 of file vgl_closest_point.txx. |
|
||||||||||
|
Return the point on the given plane closest to the origin.
|
|
||||||||||||||||
|
return the distance between two points.
Definition at line 128 of file vgl_distance.h. |
|
|||||
|
Definition at line 31 of file vgl_homg_point_3d.h. |
|
|||||
|
Definition at line 28 of file vgl_homg_point_3d.h. |
|
|||||
|
Definition at line 29 of file vgl_homg_point_3d.h. |
|
|||||
|
Definition at line 30 of file vgl_homg_point_3d.h. |
1.4.4