Overview of the geom3d Package
Calling Sequence
Description
Examples
geom3d:-command(arguments)
command(arguments)
The commands in the geom3d package enable you to work in three-dimensional Euclidean geometry. Note that the package does not support the extended space, that is, it does not handle points at infinity and lines at infinity.
Each command in the geom3d 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, plane, triangle, sphere, and polyhedra. To create the basic geometric objects, use the following commands.
dsegment
line
plane
point
segment
sphere
triangle
For basic geometric objects, the following commands are supported.
Point:
AreCollinear
AreConjugate
AreCoplanar
centroid
coordinates
distance
HarmonicConjugate
IsOnObject
midpoint
OnSegment
randpoint
xcoord
ycoord
zcoord
Segment/Directed Segment:
AreParallel
ArePerpendicular
DefinedAs
Line:
AreConcurrent
AreSkewLines
Equation
FindAngle
intersection
parallel
tname
Plane:
IsTangent
Triangle:
altitude
area
IsEquilateral
IsRightTriangle
sides
Sphere:
center
polar
pole
powerps
RadicalCenter
RadicalLine
RadicalPlane
radius
TangentPlane
volume
The study of polyhedra has been one of the most enduring, fascinating topics of geometry. The geom3d package supports various types of polyhedra.
Regular Polyhedra:
cube
dodecahedron
faces
GreatDodecahedron
GreatIcosahedron
GreatStellatedDodecahedron
hexahedron
icosahedron
incident
InRadius
IsRegular
MidRadius
octahedron
RegularPolyhedron
schlafli
SmallStellatedDodecahedron
tetrahedron
vertices
Quasi-regular Polyhedra:
cuboctahedron
icosidodecahedron
IsQuasi
General Polyhedra:
gtetrahedron
parallelepiped
Archimedean Solids:
Archimedean
GreatRhombicuboctahedron
GreatRhombiicosidodecahedron
IsArchimedean
SmallRhombicuboctahedron
SmallRhombiicosidodecahedron
SnubCube
SnubDodecahedron
TruncatedCuboctahedron
TruncatedDodecahedron
TruncatedHexahedron
TruncatedIcosahedron
TruncatedIcosidodecahedron
TruncatedOctahedron
TruncatedTetrahedron
Duality:
duality
HexakisIcosahedron
HexakisOctahedron
PentagonalHexacontahedron
PentagonalIcositetrahedron
PentakisDodecahedron
RhombicDodecahedron
RhombicTriacontahedron
TetrakisHexahedron
TrapezoidalHexecontahedron
TrapezoidalIcositetrahedron
TriakisIcosahedron
TriakisOctahedron
TriakisTetrahedron
The two processes to construct new polyhedra from given polyhedra are also supported.
facet
IsFacetted
IsStellated
stellate
Various types of geom3d[transformation] are supported.
GlideReflection
homology
homothety
inverse
inversion
projection
reflection
rotation
RotatoryReflection
ScrewDisplacement
StereographicProjection
transform
translation
transprod
The geom3d[draw] command provides the graphical visualization of all objects supported in the package.
Other commands are also implemented.
AreDistinct
detail
form
xname
yname
zname
To display the help page for a particular geom3d command, see Getting Help with a Function in a Package.
When an object is defined using its algebraic representation (that is, an equation or a polynomial), you can use any name for the x-axis, the y-axis, and the z-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 _EnvXName, _EnvYName, and _EnvZName to the axis names (or _EnvTName for the case of line) that you prefer.
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 (such as, real, positive, ...) when you want to apply a test (for example, AreOnObject) to an object. In this case, the power of the geom3d 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 true is assigned to cond.
The value of 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⁡geom3d:
sphere⁡s,x2+y2+z2=1,x,y,z,centername=o
s
detail⁡s
name of the objectsform of the objectsphere3dname of the centerocoordinates of the center0,0,0radius of the sphere1surface area of the sphere4⁢πvolume of the sphere4⁢π3equation of the spherex2+y2+z2−1=0
Define the same sphere but without the names of the axes in the input; you will be prompted for them.
sphere⁡c,m2+n2+p2=1
c
detail⁡c
name of the objectcform of the objectsphere3dname of the centercenter_c_1coordinates of the center0,0,0radius of the sphere1surface area of the sphere4⁢πvolume of the sphere4⁢π3equation of the spherem2+n2+p2−1=0
Define the same sphere where the names of the axes are assigned using the three environment variables.
_EnvXName≔m:_EnvYName≔n:_EnvZName≔p:
sphere⁡c,point⁡oo,0,0,0,1
Equation⁡c
m2+n2+p2−1=0
In the above examples, c is assigned to a geometric object (sphere), c can also be assigned to a list of objects.
line⁡l2,point⁡A,0,0,0,point⁡B,1,0,0,sphere⁡c,x2+y2+z2=1,x,y,z:
intersection⁡H,l2,c
intersection: "two points of intersection"
H
l2_intersect1_c,l2_intersect2_c
detail⁡H
name of the objectl2_intersect1_cform of the objectpoint3dcoordinates of the point1,0,0,name of the objectl2_intersect2_cform of the objectpoint3dcoordinates of the point−1,0,0
The following is an example with unknown parameters, which returns the message FAIL.
sphere⁡s,point⁡o,0,0,0,1:
IsOnObject⁡point⁡B,1,1,a,s,cond
IsOnObject: "hint: unable to determine if a^2+1 is zero"
FAIL
assume⁡cond
IsOnObject⁡point⁡B,1,1,a,s
true
See Also
assume
geom3d/objects
geom3d/transformation
geom3d[draw]
UsingPackages
Download Help Document