An object of the class Vector_3<Kernel> is a vector in the threedimensional vector space $$ ^{3}. Geometrically spoken a vector is the difference of two points $$p_{2}, $$p_{1} and denotes the direction and the distance from $$p_{1} to $$p_{2}.
CGAL defines a symbolic constant NULL_VECTOR. We will explicitly state where you can pass this constant as an argument instead of a vector initialized with zeros.
 
introduces the vector $$ba.
 
 
introduces the vector $$s.target()s.source().
 
 
introduces a vector having the same direction as $$r.
 
 
introduces a vector having the same direction as $$l.
 
 
introduces a null vector v.
 
 
introduces a vector v initialized to $$(hx/hw, hy/hw, hz/hw).


 
Test for equality: two vectors are equal, iff their $$x, $$y and $$z coordinates are equal. You can compare a vector with the NULL_VECTOR.  

 
Test for inequality. You can compare a vector with the NULL_VECTOR. 
There are two sets of coordinate access functions, namely to the homogeneous and to the Cartesian coordinates. They can be used independently from the chosen kernel model.

 returns the homogeneous $$x coordinate. 

 returns the homogeneous $$y coordinate. 

 returns the homogeneous $$z coordinate. 

 returns the homogenizing coordinate. 
Note that you do not loose information with the homogeneous representation, because the FieldNumberType is a quotient.

 returns the xcoordinate of v, that is $$hx/hw. 

 returns the ycoordinate of v, that is $$hy/hw. 

 returns the z coordinate of v, that is $$hz/hw. 
The following operations are for convenience and for compatibility with higher dimensional vectors. Again they come in a Cartesian and homogeneous flavor.

 
returns the i'th homogeneous coordinate of v, starting with 0. Precondition: $$0 i 3.  

 
returns the i'th
Cartesian
coordinate of v, starting at 0. Precondition: $$0 i 2.  

 
returns cartesian(i). Precondition: $$0 i 2.  

 returns the dimension (the constant 3). 

 
returns the vector obtained by applying $$t on v.  
 
 returns the direction of v. 
The following operations can be applied on vectors:

 Addition. 

 Subtraction. 

 Negation. 

 returns the scalar product (= inner product) of the two vectors. 

 
Multiplication with a scalar from the right.  

 
Multiplication with a scalar from the right.  

 
Multiplication with a scalar from the left.  

 
Multiplication with a scalar from the left.  

 
Division by a scalar. 