Overview - Maple Help

Overview of the geometry Package

 Calling Sequence geometry[command](arguments) command(arguments)

Description

 • The commands in this package enable you to work in two-dimensional Euclidean geometry.  Note that the package does not support the extended plane, that is, it does not handle points at infinity and the line at infinity.
 • Each command in the geometry package can be accessed by using either the long form or the short form of the command name in the command calling sequence.
 • The geometric objects supported in this package are: point, segment, directed segment, line, triangle, square, circle, ellipse, parabola, hyperbola, and conic (including the degenerate cases). To create these geometric objects, use the following commands.

 • Triangle geometry ranks among the most enduring topics in all of mathematics. The following commands relating to a triangle are supported.

 + Points of interest:

 + Lines of interest:

 + Circles of interest:

$\mathrm{Others}$

 • For other geometric objects, the following commands are supported.
 • Point:

 • Segment/Directed Segment:

 • Square:

 • Line:

 • Circle:

 • Ellipse:

 • Parabola:

 • Hyperbola:

 • Polygon:

 • Various transformations are supported.

 • Graphics: the draw command provides the graphical visualization of all objects supported in the package.
 • Other routines: various other commands are also implemented.

 To display the help page for a particular geometry command, see Getting Help with a Command in a Package.
 • When an object is defined through its algebraic representation (an equation or a polynomial), you can use any name for the horizontal axis and vertical axis. In general, the names of the axes must be included when you define an object. A simple way to set the names without being prompted is to set the environment variables _EnvHorizontalName and _EnvVerticalName to the axes names that you prefer; otherwise, Maple will prompt you to input of the name of the axes. In this case, simply types a name and a semicolon (or colon) for each query.
 • For commands in the package that create a geometric object, or a list of geometric objects, the calling sequence is of the form command_call(obj,...);, where obj is either a name of the geometric object to be created, or a list of geometric objects to be created.
 • Note that you must make explicit assumptions for the symbolic names in an object (for example, real, positive, ...) when you want to apply a test (for example, IsOnLine) to an object. In this case, the power of this package is dependent on the power of the Maple assume command.
 • For commands where output is a Boolean value (true, false, FAIL), the calling sequence is of the form command_call(..., cond);, where cond is a an optional name. If the output is FAIL, and this optional argument is given, then the condition that makes the output be true is assigned to cond. cond might be a Maple expression (use assume(cond);), or of the form $\mathrm{cond}=&\mathrm{or}\left(\mathrm{expr_1},...,\mathrm{expr_n}\right)$ or $\mathrm{cond}=&\mathrm{and}\left(\mathrm{expr_1},...,\mathrm{expr_n}\right)$ (use assume(op(i, cond)); for the former case where i is from 1 to n; and assume(op(cond)); for the latter case.

Examples

 > $\mathrm{with}\left(\mathrm{geometry}\right):$
 > $\mathrm{circle}\left(c,{x}^{2}+{y}^{2}=1,\left[x,y\right],'\mathrm{centername}'=o\right)$
 ${c}$ (1)
 > $\mathrm{detail}\left(c\right)$
 $\begin{array}{ll}{\text{name of the object}}& {c}\\ {\text{form of the object}}& {\mathrm{circle2d}}\\ {\text{name of the center}}& {o}\\ {\text{coordinates of the center}}& \left[{0}{,}{0}\right]\\ {\text{radius of the circle}}& {1}\\ {\text{equation of the circle}}& {{x}}^{{2}}{+}{{y}}^{{2}}{-}{1}{=}{0}\end{array}$ (2)

Define the same circle but without the names of the axes in the input; you will be prompted for them.

 > $\mathrm{circle}\left(c,{a}^{2}+{b}^{2}=1\right)$
 ${c}$ (3)
 > $\mathrm{detail}\left(c\right)$
 $\begin{array}{ll}{\text{name of the object}}& {c}\\ {\text{form of the object}}& {\mathrm{circle2d}}\\ {\text{name of the center}}& {\mathrm{center_c}}\\ {\text{coordinates of the center}}& \left[{0}{,}{0}\right]\\ {\text{radius of the circle}}& {1}\\ {\text{equation of the circle}}& {{a}}^{{2}}{+}{{b}}^{{2}}{-}{1}{=}{0}\end{array}$ (4)

Define the same circle where the names of the axes are assigned by the two environment variables.

 > $\mathrm{_EnvHorizontalName}≔'m':$$\mathrm{_EnvVerticalName}≔'n':$
 > $\mathrm{circle}\left(c,\left[\mathrm{point}\left(\mathrm{oo},0,0\right),1\right]\right)$
 ${c}$ (5)
 > $\mathrm{Equation}\left(c\right)$
 ${{m}}^{{2}}{+}{{n}}^{{2}}{-}{1}{=}{0}$ (6)

In the above examples, c is assigned to a geometric object (circle), c can also be assigned to a list of objects.

 > $\mathrm{line}\left(\mathrm{l2},x+y=1,\left[x,y\right]\right),\mathrm{circle}\left(c,{x}^{2}+{y}^{2}=1,\left[x,y\right]\right):$
 > $\mathrm{intersection}\left(H,\mathrm{l2},c,\left[M,N\right]\right)$
 $\left[{M}{,}{N}\right]$ (7)
 > $H$
 $\left[{M}{,}{N}\right]$ (8)
 > $\mathrm{detail}\left(H\right)$
 $\left[\begin{array}{ll}{\text{name of the object}}& {M}\\ {\text{form of the object}}& {\mathrm{point2d}}\\ {\text{coordinates of the point}}& \left[{0}{,}{1}\right]\end{array}{,}\begin{array}{ll}{\text{name of the object}}& {N}\\ {\text{form of the object}}& {\mathrm{point2d}}\\ {\text{coordinates of the point}}& \left[{1}{,}{0}\right]\end{array}\right]$ (9)

The following is an example with unknown parameters, which returns the message FAIL.

 > $\mathrm{line}\left(\mathrm{l2},x+y=1,\left[x,y\right]\right),\mathrm{point}\left(A,a,\frac{1}{2}\right),\mathrm{point}\left(B,\frac{3}{5},b\right):$
 > $\mathrm{IsOnLine}\left(\left\{A,B\right\},\mathrm{l2},'\mathrm{cond}'\right)$
 IsOnLine:   "hint: the following conditions must be satisfied: {-2/5+b = 0, -1/2+a = 0}"
 ${\mathrm{FAIL}}$ (10)
 > $\mathrm{cond}$
 $\left({-}\frac{{2}}{{5}}{+}{b}{=}{0}\right)\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{&and}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}\left({-}\frac{{1}}{{2}}{+}{a}{=}{0}\right)$ (11)
 > $\mathrm{assume}\left(\mathrm{op}\left(\mathrm{cond}\right)\right)$
 > $\mathrm{IsOnLine}\left(\left\{A,B\right\},\mathrm{l2}\right)$
 ${\mathrm{true}}$ (12)

More examples can be found in examples,geometry.