### 6.5.1 Draw a line : line

line takes as argument cartesian equation(s) :

- in 2D: one line equation,
- in 3D: two plane equations.

line defines and draws the corresponding line.
Input :

line(2*y+x-1=0)

Output :

the line 2*y+x-1=0

Input :

line(y=1)

Output :

the horizontal line y=1

Input :

line(x=1)

Output :

the vertical line x=1

Input :

line(x+2*y+z-1=0,z=2)

Output :

the line x+2*y+1=0 in the plane z=2

Input :

line(y=1,x=1)

Output :

the vertical line crossing through (1,1,0)

Remark
line defines an oriented line :

- when the 2D line is given by an equation, it is rewritten as "left_member-right_member=ax+by+c=0", this determines its normal vector [a,b] and the orientation is given by the vector [b,-a]) (or its orientation is defined by the 3D cross product of its normal vectors (with third coordinate 0) and the vector [0,0,1]).
  For example line(y=2*x) defines the line -2x+y=0 with as direction the vector [1,2] (or cross([-2,1,0],[0,0,1])=[1,2,0]).
- when the 3D line is given by two plane equations, its direction is defined by the cross product of the normals to the planes (where the plane equation is rewritten as "left_member-right_member=ax+by+cz+d=0", so that the normal is [a,b,c]).
  For example the line(x=y,y=z) is the line x-y=0,y-z=0 and its direction is :
  cross([1,-1,0],[0,1,-1])=[1,1,1].