Overview of the geometry Package
Calling Sequence
Description
Examples
geometry:-command(arguments)
command(arguments)
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
AreOrthogonal
center
CircleOfSimilitude
powerpc
RadicalAxis
RadicalCenter
radius
similitude
TangentLine
Ellipse:
foci
MajorAxis
MinorAxis
Parabola:
directrix
focus
vertex
Hyperbola:
asymptotes
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
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=&or⁡expr_1,...,expr_n or cond=&and⁡expr_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.
with⁡geometry:
circle⁡c,x2+y2=1,x,y,centername=o
c
detail⁡c
name of the objectcform of the objectcircle2dname of the centerocoordinates of the center0,0radius of the circle1equation of the circlex2+y2−1=0
Define the same circle but without the names of the axes in the input; you will be prompted for them.
circle⁡c,a2+b2=1
name of the objectcform of the objectcircle2dname of the centercenter_ccoordinates of the center0,0radius of the circle1equation of the circlea2+b2−1=0
Define the same circle where the names of the axes are assigned by the two environment variables.
_EnvHorizontalName≔m:_EnvVerticalName≔n:
circle⁡c,point⁡oo,0,0,1
Equation⁡c
m2+n2−1=0
In the above examples, c is assigned to a geometric object (circle), c can also be assigned to a list of objects.
line⁡l2,x+y=1,x,y,circle⁡c,x2+y2=1,x,y:
intersection⁡H,l2,c,M,N
M,N
H
detail⁡H
name of the objectMform of the objectpoint2dcoordinates of the point0,1,name of the objectNform of the objectpoint2dcoordinates of the point1,0
The following is an example with unknown parameters, which returns the message FAIL.
line⁡l2,x+y=1,x,y,point⁡A,a,12,point⁡B,35,b:
IsOnLine⁡A,B,l2,cond
IsOnLine: "hint: the following conditions must be satisfied: {-2/5+b = 0, -1/2+a = 0}"
FAIL
cond
−25+b=0&and−12+a=0
assume⁡op⁡cond
IsOnLine⁡A,B,l2
true
More examples can be found in examples,geometry.
See Also
examples,geometry
geometry/objects
geometry/transformation
geometry:-draw
UsingPackages
Download Help Document