# Three-Dimensional Graphics Directives

In three dimensions, just as in two dimensions, you can give various graphics directives to specify how the different elements in a graphics object should be rendered.

All the graphics directives for two dimensions also work in three dimensions. There are however some additional directives in three dimensions.

Just as in two dimensions, you can use the directives PointSize, Thickness, and Dashing to tell *Mathematica* how to render Point and Line elements. Note that in three dimensions, the lengths that appear in these directives are measured as fractions of the total width of the display area for your plot.

In[1]:= |

In[2]:= |

Out[2]= |

As in two dimensions, you can use AbsolutePointSize, AbsoluteThickness, and AbsoluteDashing if you want to measure length in absolute units.

In[3]:= |

In[4]:= |

Out[4]= |

For Point and Line objects, the color specification directives also work the same in three dimensions as in two dimensions. For Polygon objects, however, they can work differently.

In two dimensions, polygons are always assumed to have an intrinsic color, specified directly by graphics directives such as RGBColor and Opacity. In three dimensions, however, *Mathematica* generates colors for polygons using a more physical approach based on simulated illumination. Polygons continue to have an intrinsic color defined by color directives, but the final color observed when rendering the graphic may be different based upon the values of the lights shining on the polygon. Polygons are intrinsically white by default.

Lighting->Automatic | use default light placements and values |

Lighting->None | disable all lights |

Lighting->"Neutral" | light using only white light sources |

Some schemes for coloring polygons in three dimensions.

In[5]:= |

Out[5]= |

In[6]:= |

Out[6]= |

In[7]:= |

Out[7]= |

In[8]:= |

Out[8]= |

In[9]:= |

Out[9]= |

EdgeForm[] | draw no lines at the edges of polygons |

EdgeForm[g] | use the graphics directives g to determine how to draw lines at the edges of polygons |

Giving graphics directives for all the edges of polygons.

When you render a three-dimensional graphics object in *Mathematica*, there are two kinds of lines that can appear. The first kind is lines from explicit Line primitives that you included in the graphics object. The second kind is lines that were generated as the edges of polygons.

You can tell *Mathematica* how to render all lines of the second kind by giving a list of graphics directives inside EdgeForm.

In[10]:= |

Out[10]= |

FaceForm[gfront,gback] | use gfront graphics directives for the front face of each polygon, and gback for the back |

Rendering the fronts and backs of polygons differently.

An important aspect of polygons in three dimensions is that they have both front and back faces. *Mathematica* uses the following convention to define the "front face" of a polygon: if you look at a polygon from the front, then the corners of the polygon will appear counterclockwise, when taken in the order that you specified them.

In[11]:= |

Out[11]= |