Up: Java Kali Home Page
Class SymmetryGroup
Class SymmetryGroup
java.lang.Object
|
+----SymmetryGroup
- class SymmetryGroup
- extends Object
The SymmetryGroup class holds the data for a particular symmetry
group. A symmetry group may be generated by
- a reflection
- a glide reflection
- a rotation
- up to two translations
Kali always performs the generators in that order. Given a line
segment upon which the group is to act, first the line segment is
reflected (if a reflection is present), then the line and its
reflection are glide reflected (if a glide reflection is present),
then the images are rotated (if a rotation is present) and finally
all images are translated according to whatever translations are
present.
Note: all the math happens in the
Panorama object; the SymmetryGroup
object just holds the group data.
- See Also:
- SymmetryGroups, Panorama
-
glideReflectionType
- If glideReflectionType != axis_none, do a glide reflection
a distance 1/2 along the specified axis.
-
glideSegments
- The locations of the glide segments.
-
gyrationPoints
- The locations of the gyration points.
-
index
- The index of the group (value is one of the constants defined
Constants.java)
-
mirrorSegments
- The locations of the mirror segments.
-
name
- The name of the group (for debug printing, etc)
-
numGlideSegments
- The number of glide segments (same as mirrorSegments.length).
-
numGyrationPoints
- The number of gyration points (same as mirrorSegments.length).
-
numMirrorSegments
- The number of mirror segments (same as mirrorSegments.length).
-
numTranslations
- numTranslations tells how many independent translations are
present.
-
reflectionType
- reflectionType has one of the values AXIS_NONE, AXIS_X0,
AXIS_X4, AXIS_Y0, or AXIS_Y4.
-
rotationOrder
- rotationOrder gives the order of the rotation about
the origin if a rotation is present.
-
translations
-
SymmetryGroup(int, String, int, int, int)
- Create a new SymmetryGroup object with the given data (and no
mirror segments, glide segments, or gyration points).
-
SymmetryGroup(int, String, int, int, int, DVector[], Segment[], Segment[], DVector[])
- Create a new SymmetryGroup object with the given data.
-
toString()
- Convert a SymmetryGroup to a string for printing
index
public int index
- The index of the group (value is one of the constants defined
Constants.java)
name
public String name
- The name of the group (for debug printing, etc)
reflectionType
public int reflectionType
- reflectionType has one of the values AXIS_NONE, AXIS_X0,
AXIS_X4, AXIS_Y0, or AXIS_Y4. If reflectionType != AXIS_NONE,
do a reflection about the specified axis.
glideReflectionType
public int glideReflectionType
- If glideReflectionType != axis_none, do a glide reflection
a distance 1/2 along the specified axis.
rotationOrder
public int rotationOrder
- rotationOrder gives the order of the rotation about
the origin if a rotation is present. Otherwise it's zero.
numTranslations
public int numTranslations
- numTranslations tells how many independent translations are
present. It will be 2 for a wallpaper group, 1 for a frieze
group, and 0 for a rosette group. The array "translations"
gives the translation vectors.
translations
public DVector translations[]
numMirrorSegments
public int numMirrorSegments
- The number of mirror segments (same as mirrorSegments.length).
mirrorSegments
public Segment mirrorSegments[]
- The locations of the mirror segments. NOTE: currently
Java Kali does not display these; they're included here
because they were present in the Mac version, and a future
version of Java Kali might display them.
numGlideSegments
public int numGlideSegments
- The number of glide segments (same as mirrorSegments.length).
glideSegments
public Segment glideSegments[]
- The locations of the glide segments.
numGyrationPoints
public int numGyrationPoints
- The number of gyration points (same as mirrorSegments.length).
gyrationPoints
public DVector gyrationPoints[]
- The locations of the gyration points.
SymmetryGroup
public SymmetryGroup(int index,
String name,
int reflectionType,
int glideReflectionType,
int rotationOrder)
- Create a new SymmetryGroup object with the given data (and no
mirror segments, glide segments, or gyration points).
SymmetryGroup
public SymmetryGroup(int index,
String name,
int reflectionType,
int glideReflectionType,
int rotationOrder,
DVector translations[],
Segment mirrorSegments[],
Segment glideSegments[],
DVector gyrationPoints[])
- Create a new SymmetryGroup object with the given data.
toString
public String toString()
- Convert a SymmetryGroup to a string for printing
- Overrides:
- toString in class Object
Up: Java Kali Home Page
The Geometry Center Home Page
Author: Mark Phillips
Comments to:
webmaster@geom.umn.edu
Created: Sep 16 1996 ---
Last modified: Sep 18 1996