GoochShading

GoochShading[]

is a three-dimensional graphics directive specifying that surfaces that follow are to be drawn with a warm color facing toward the light and a cool color facing away.

GoochShading[col]

uses cool and warm colors obtained by blending col with slate Blue and Orange.

GoochShading[{ccol,wcol}]

uses the cool color ccol and the warm color wcol.

GoochShading[{w1,w2}{ccol,wcol}]

uses the colors ccol and wcol weighted by the wi.

GoochShading["scheme"]

uses the specified gradient color scheme in ColorData.

Details

  • GoochShading is also known as cool to warm shading.
  • GoochShading is typically used to highlight details and contours of three-dimensional objects.
  • The final colors of 3D surfaces are determined by linearly adding RGB colors from the diffuse reflection, specular reflection lights.
  • GoochShading[{w1,w2}{ccol,wcol}] specifies that luminosity on the surface should be mapped to the color gradients between ccol and wcol weighted by w1 and w2. A higher weight wi indicates that more of the corresponding color should be used.
  • Colors can be defined by RGBColor, Hue or any other color specification. Any number of colors can be used.
  • GoochShading[] is effectively equivalent to GoochShading[{LABColor[{0.4,0.4,-0.7}],LABColor[{0.7,0.5,0.8}]}].
  • In GoochShading[{ccol,wcol}], the colors ccol and wcol are weighted uniformly.
  • The setting Lighting"Accent" uses a directional light and faithfully reproduces colors on the surface.

Examples

open allclose all

Basic Examples  (4)

Apply Gooch shading to the unit sphere with a directional light:

Use a colored Gooch shading to show a knot:

Style a surface in a plot:

A sailing ship:

Scope  (13)

Basic Uses  (5)

Apply GoochShading to a graphics primitive:

Apply Gooch shading to a plot:

Apply Gooch shading to a chart:

Apply Gooch shading to a 3D object:

Summary box:

Specification  (5)

GoochShading with no arguments uses three gray tones:

Use colorized Gooch shading:

Use a custom color sequence:

Specify the weight of each color:

Use a predefined color scheme from ColorData:

Lighting  (3)

GoochShading works with all types of lights:

Use colored lights:

Use "Accent" lighting to faithfully reproduce colors on the surface.

Properties & Relations  (2)

Approximate the default system shader with GoochShading:

Approximate GoochShading with ToonShading:

Possible Issues  (2)

The default light scheme uses several colored light sources:

Use a single directional light to get the standard Gooch shading effect:

Surfaces are displayed in a darker color:

Automatically get a balanced three-tone color scheme:

Interactive Examples  (3)

Adjust the weights of the base colors:

Explore gradient color schemes from ColorData:

Explore indexed color schemes from ColorData:

Introduced in 2020
 (12.1)