Overview - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


Overview of the geometry Package

 

Calling Sequence

Description

Examples

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.

circle

conic

dsegment

ellipse

hyperbola

line

parabola

point

segment

square

triangle

 

• 

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

+ Points of interest:

centroid

GergonnePoint

NagelPoint

orthocenter

+ Lines of interest:

altitude

bisector

EulerLine

ExternalBisector

median

SimsonLine

 

 

+ Circles of interest:

circumcircle

EulerCircle

excircle

incircle

Others

area

AreConjugate

AreSimilar

IsEquilateral

IsRightTriangle

medial

method

PedalTriangle

sides

 

 

 

• 

For other geometric objects, the following commands are supported.

• 

Point:

AreCollinear

AreConcyclic

AreHarmonic

convexhull

coordinates

CrossRatio

diameter

distance

HorizontalCoord

IsOnCircle

IsOnLine

projection

randpoint

SensedMagnitude

VerticalCoord

 

• 

Segment/Directed Segment:

CrossProduct

midpoint

OnSegment

 

• 

Square:

diagonal

MakeSquare

 

 

• 

Line:

AreConcurrent

AreParallel

ArePerpendicular

Equation

FindAngle

ParallelLine

PerpenBisector

PerpendicularLine

slope

 

 

 

• 

Circle:

Apollonius

area

AreOrthogonal

center

CircleOfSimilitude

Equation

powerpc

RadicalAxis

RadicalCenter

radius

similitude

TangentLine

• 

Ellipse:

center

Equation

foci

MajorAxis

MinorAxis

 

 

 

• 

Parabola:

directrix

Equation

focus

vertex

• 

Hyperbola:

asymptotes

center

Equation

foci

vertices

 

 

 

• 

Polygon:

RegularPolygon

RegularStarPolygon

 

 

• 

Various transformations are supported.

dilatation

expansion

GlideReflection

homology

homothety

inversion

reciprocation

reflection

rotation

SpiralRotation

stretch

StretchReflection

StretchRotation

translation

 

 

• 

Graphics: the draw command provides the graphical visualization of all objects supported in the package.

• 

Other routines: various other commands are also implemented.

AreTangent

DefinedAs

detail

form

HorizontalName

intersection

Polar

Pole

projection

tangentpc

VerticalName

 

  

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 cond=&orexpr_1,...,expr_n or cond=&andexpr_1,...,expr_n (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

withgeometry:

circlec,x2+y2=1,x,y,centername=o

c

(1)

detailc

name of the objectcform of the objectcircle2dname of the centerocoordinates of the center0,0radius of the circle1equation of the circlex2+y21=0

(2)

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

circlec,a2+b2=1

c

(3)

detailc

name of the objectcform of the objectcircle2dname of the centercenter_ccoordinates of the center0,0radius of the circle1equation of the circlea2+b21=0

(4)

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

_EnvHorizontalNamem:_EnvVerticalNamen:

circlec,pointoo,0,0,1

c

(5)

Equationc

m2+n21=0

(6)

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

linel2,x+y=1,x,y,circlec,x2+y2=1,x,y:

intersectionH,l2,c,M,N

M,N

(7)

H

M,N

(8)

detailH

name of the objectMform of the objectpoint2dcoordinates of the point0,1,name of the objectNform of the objectpoint2dcoordinates of the point1,0

(9)

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

linel2,x+y=1,x,y,pointA,a,12,pointB,35,b:

IsOnLineA,B,l2,cond

IsOnLine:   "hint: the following conditions must be satisfied: {-2/5+b = 0, -1/2+a = 0}"

FAIL

(10)

cond

25+b=0&and12+a=0

(11)

assumeopcond

IsOnLineA,B,l2

true

(12)

More examples can be found in examples,geometry.

See Also

examples,geometry

geometry/objects

geometry/transformation

geometry:-draw

UsingPackages