16 # include <vcl_msvc_warnings.h> 18 #include "vnl/vnl_export.h" 26 assert( v1.
size() >= 2 && v2.
size() >= 2 );
27 return v1[0] * v2[1] - v1[1] * v2[0];
36 return v1[0] * v2[1] - v1[1] * v2[0];
46 assert( v2.
size() == 2 );
47 return v1[0] * v2[1] - v1[1] * v2[0];
57 assert( v1.
size() == 2 );
58 return v1[0] * v2[1] - v1[1] * v2[0];
67 assert( v1.
size() == 3 && v2.
size() == 3 );
69 result[0] = v1[1] * v2[2] - v1[2] * v2[1];
70 result[1] = v1[2] * v2[0] - v1[0] * v2[2];
71 result[2] = v1[0] * v2[1] - v1[1] * v2[0];
82 result[0] = v1[1] * v2[2] - v1[2] * v2[1];
83 result[1] = v1[2] * v2[0] - v1[0] * v2[2];
84 result[2] = v1[0] * v2[1] - v1[1] * v2[0];
91 template<
class T,
unsigned int n>
101 template<
class T,
unsigned int n>
108 #endif // vnl_cross_h_ size_t size() const
Return the length, number of elements, dimension of this vector.
vnl_vector_ref< T > as_ref()
Explicit conversion to a vnl_vector_ref.
Mathematical vector class, templated by type of element.
Fixed length stack-stored, space-efficient vector.
Fixed length stack-stored vector.
T vnl_cross_2d(const vnl_vector< T > &v1, const vnl_vector< T > &v2)
Compute the 2-D cross product.
vnl_vector< T > vnl_cross_3d(const vnl_vector< T > &v1, const vnl_vector< T > &v2)
Compute the 3-D cross product.