The following shows some examples of how to use maple to perform geometry operations and analysis:
including the package
> with(geometry):
defining a circle
> circle(c, x^2 + y^2 = 1):
defining a line and points and then testing if the points are on that line
> line(l, x + y = 1), point(A, a, 1/2), point(B, 3/5, b):
> IsOnLine(A, l), IsOnLine(B, l), IsOnLine({A,B}, l);
false, true, false
defining a triangle and getting a bisector
> triangle(ABC, [point(A, 0, 0), point(B, 1, 1), point(C, 1, 0)]):
> bisector(bA, A, ABC), bisector(bB, B, ABC), bisector(bC, C, ABC):
> intersection(iAB, bA, bB), intersection(iAC, bA, bC), intersection(iBC, bB, bC):
> coordinates(iAB), coordinates(iAC), coordinates(iBC);
[[0.7071067812, 0.2928932188], [0.7071067812, 0.2928932188], [0.7071067812, 0.2928932188]]
> s := sides(ABC):
> r := 2*area(ABC) / (s[1] + s[2] + s[3]):
> incircle(c1, ABC):
> circle(c2, [iAB, r]):
> simplify(coordinates(center(c1))), simplify(coordinates(center(c2)));
1/2 1/2
1 + 2 1 1 + 2 1
[--------, --------], [--------, --------]
1/2 1/2 1/2 1/2
2 + 2 2 + 2 2 + 2 2 + 2
> simplify(radius(c1)), simplify(radius(c2));
1 1
--------, --------
1/2 1/2
2 + 2 2 + 2
There is much more available in the geometry package, but I have only shown a small sample to give one an idea. It took more time than preferable to actually figure out the syntax and how to work with the available functionality. Maple is generally fairly closed so I could not find any information on the actual implementation of these routines. All the same, the following list describes the available means of creating an object:
All entities appear to store many of the straight-forward attributes along with the equation (or coefficients for an equation). A very quick analysis of source can be found here