### 11.15.8 Orthogonal projection in the plane: projection

See section 12.14.8 for projections in space.

The projection command takes one or two arguments.

If projection has one argument, it is a geometric object.
projection returns a new command which projects points onto
the object.

Input:

p1 := projection(line(-1,i))

then:

p1(i+1)

Output:

Input:

p2 := projection(circle(-1,1))

then:

p2(i)

Output:

If projection has two arguments, the first arguments is a
geometric object as above, and the second argument is a point.
projection returns and draws the projection of the point onto
the object.

Input:

projection(line(-1, i), 1+i)

Output:

Input:

projection(circle(-1,1), i)

Output: