Crystal Shapes are used to visualize crystal orientations, twinning or lattice planes.

## Simple crystal shapes

In the case of cubic or hexagonal materials the corresponding crystal are often represented as cubes or hexagons, where the faces correspond to the lattice planes {100} in the cubic case and {1,0,-1,0},{0,0,0,1} in the hexagonal case. Such simple crystal shapes may be created in MTEX with the commands

Internally, a crystal shape is represented as a list of faces which are bounded by a list of vertices `cS.V`

and edges `cS.E`

Using the commands `plotInnerFace`

, `plot(cS,sS)`

and `arrow3d`

we may plot internal lattice planes, directions or slip systems into the crystal shape

## Calculating with crystal shapes

Crystal shapes are defined in crystal coordinates. Thus applying an orientation rotates them into specimen coordinates. This functionality can be used to visualize crystal orientations in EBSD maps

As we have seen in the previous section we can apply several operations on crystal shapes. These include

`factor * cS`

scales the crystal shape in size`ori * cS`

rotates the crystal shape in the defined orientation`[xy] + cS`

or`[xyz] + cS`

shifts the crystal shape in the specified positions

At this point it comes into help that MTEX supports lists of crystal shapes, i.e., whenever one of the operations listed above includes a list (e.g. a list of orientations) the multiplication will yield a list of crystal shapes. Lets illustrate this

## Plotting crystal shapes

The above can be accomplished a bit more directly and a bit more nice with

In the same way we may visualize grain orientations and grains size within pole figures

or even within ODF sections

## Twinning relationships

We may also you crystal shapes to illustrate twinning relation ships

## Defining complicated crystal shapes

For symmetries other then hexagonal or cubic one would like to have more complicated crystal shape representing the true appearance. To this end one has to include more faces into the representation and carefuly adjust their distance to the origin.

Lets consider a quartz crystal.

Its shape is mainly bounded by the following faces

If we take only the first three faces we end up with

i.e. we see only the possitive and negative rhomboedrons, but the hexagonal prism are to far away from the origin to cut the shape. We may decrease the distance, by multiplying the coresponding normal with a factor larger then 1.

Next in a typical Quartz crystal the negativ rhomboedron is a bit smaller then the positiv rhomboedron. Lets correct for this.

Finaly, we add the tridiagonal bipyramid and the positive Trapezohedron

## Marking crystal faces

We may colorize the faces according to their lattice planes using the command

or even label the faces directly

## Defining complicated crystals more simple

We see that defining a complicated crystal shape is a tedious work. To this end MTEX allows to model the shape with a habitus and a extension parameter. This approach has been developed by J. Enderlein in A package for displaying crystal morphology. Mathematica Journal, 7(1), 1997. The two parameters are used to model the distance of a face from the origin. Setting all parameters to one we obtain

The scale parameter models the inverse extension of the crystal in each dimension. In order to make the crystal a bit longer and the negative rhomboedrons smaller we could do

Next the habitus parameter describes how close faces with mixed hkl are to the origin. If we increase the habitus parameter the trapezohedron and the bipyramid become more and more dominant

## Select faces

A specific face of the crystal shape may be selected by its normal vector