Page 52 -
P. 52

2.1 Geometric primitives and transformations                                            31


               where × is the cross product operator. Similarly, the line joining two points can be written as

                                               ˜                                     (2.5)
                                               l = ˜x 1 × ˜x 2 .
               When trying to fit an intersection point to multiple lines or, conversely, a line to multiple
               points, least squares techniques (Section 6.1.1 and Appendix A.2) can be used, as discussed
               in Exercise 2.1.


               2D conics.  There are other algebraic curves that can be expressed with simple polynomial
               homogeneous equations. For example, the conic sections (so called because they arise as the
               intersection of a plane and a 3D cone) can be written using a quadric equation

                                                 T
                                                ˜ x Q˜x =0.                          (2.6)
               Quadric equations play useful roles in the study of multi-view geometry and camera calibra-
               tion (Hartley and Zisserman 2004; Faugeras and Luong 2001) but are not used extensively in
               this book.


               3D points. Point coordinates in three dimensions can be written using inhomogeneous co-
                                                                               3
                                      3
               ordinates x =(x, y, z) ∈R or homogeneous coordinates ˜x =(˜x, ˜y, ˜z, ˜w) ∈P . As before,
               it is sometimes useful to denote a 3D point using the augmented vector ¯x =(x, y, z, 1) with
                ˜ x =˜w¯x.
               3D planes. 3D planes can also be represented as homogeneous coordinates ˜m =(a, b, c, d)
               with a corresponding plane equation

                                       ¯ x · ˜m = ax + by + cz + d =0.               (2.7)

                  We can also normalize the plane equation as m =(ˆn x , ˆn y , ˆn z ,d)=(ˆn,d) with  ˆn  =1.
               In this case, ˆn is the normal vector perpendicular to the plane and d is its distance to the
               origin (Figure 2.2b). As with the case of 2D lines, the plane at infinity ˜m =(0, 0, 0, 1),
               which contains all the points at infinity, cannot be normalized (i.e., it does not have a unique
               normal or a finite distance).
                  We can express ˆn as a function of two angles (θ, φ),

                                      ˆ n = (cos θ cos φ, sin θ cos φ, sin φ),       (2.8)

                i.e., using spherical coordinates, but these are less commonly used than polar coordinates
               since they do not uniformly sample the space of possible normal vectors.


               3D lines. Lines in 3D are less elegant than either lines in 2D or planes in 3D. One possible
               representation is to use two points on the line, (p, q). Any other point on the line can be
               expressed as a linear combination of these two points

                                            r =(1 − λ)p + λq,                        (2.9)

               as shown in Figure 2.3. If we restrict 0 ≤ λ ≤ 1, we get the line segment joining p and q.
   47   48   49   50   51   52   53   54   55   56   57