### Vectors Calculator - Syntax

1. Identifiers (id)

Start with a letter and may be followed by letters or digits.
Identifiers are optional.
They are useful in order to be referenced (called) later.
Examples: a, b, v1, p12, ab, ab12c, A, L1, P2
Do not use the following identifiers: x, y, z, xy, yx, yz, zy, zx, xz. They are rezerved for coordinate axes and coordinate planes.

2. Primitives

id=(x,y,z) (vector)
id=[x,y,z] (point)
id=(x,y,z,ux,uy,uz) (line)
id=[x,y,z,ux,uy,uz] (vector from a point)
id=(A,B,C,D) (plane, scalar equation)
id=[x,y,z,ux,uy,uz,vx,vy,vz] (plane, vector equation)

3. Constructors

id=line(point,point)
id=plane(point,point,point)
id=triangle(point,point,point)
id=pyramid(point,point,point,point)

4. Operators

-scalar
+scalar
-vector
+vector

scalar+scalar
scalar-scalar
vector+vector
vector-vector

scalar*vector //multiplication of a vector by a scalar
scalar/scalar
vector/scalar
vector.vector //dot product
vector^vector //cross product

m=magnitude(v) //magnitude of a vector v
() //brackets
function(op1,op2,...) //function call

5. Distances

id=distance(point,point)
id=distance(point,line) or distance(line,point)
id=distance(point,plane) or distance(plane,point)
id=distance(line,line)
id=distance(line,plane) or distance(plane,line)
id=distance(plane,plane)

6. Angles

id=angle(vector,vector)
id=angle(vector,line) or angle(line,vector)
id=angle(vector,plane) or angle(plane,vector)
id=angle(line,line)
id=angle(line,plane) or angle(plane,line)
id=angle(plane,plane)

7. Foot of the Perpendicular Line

id=foot(point,line)
id=foot(point,plane)
id=foot(line,line)

8. Area of a Parallelogram defined by two Vectors

id=area(vector,vector)

9. Volume of a Parallelipiped defined by three Vectors

id=volume(vector,vector,vector)

10. Intersections

id=intersection(point,point)
id=intersection(point,line) or intersection(plane,point)
id=intersection(point,plane) or intersection(plane,point)
id=intersection(line,line)
id=intersection(line,plane) or intersection(plane,line)
id=intersection(plane,plane)

11. Perpendicular Lines

id=pline(point,line) or pline(line,point)
id=pline(point,plane) or pline(plane,point)
id=pline(line,line)

12. Descriptions

id=describe(point) or describe(vector)
id=describe(line)
id=describe(plane)
id=describe(triangle)
id=describe(compound)

13. Predefined Elements

x=(0,0,0,1,0,0) //the x-axis
y=(0,0,0,0,1,0) //the y-axis
z=(0,0,0,0,0,1) //the y-axis
yz=(1,0,0,0) //the yz-plane
zy=(1,0,0,0) //the zy-plane
zx=(0,1,0,0) //the zx-plane
xz=(0,1,0,0) //the xz-plane
xy=(0,0,1,0) //the xy-plane
yx=(0,0,1,0) //the yx-plane