Skip to contents

An engraving ladder is an ordered list of hatch layers; each is applied only where the tone field is at least its threshold, so darker regions accumulate more (and finer, cross-hatched) layers. Defaults trace the classic etching progression: a sparse base layer, then denser same-angle lines, then a second angle (cross-hatch), then the fine angles that read as black.

Usage

engrave_ladder(
  n_levels = 5L,
  base_gap = 0.1,
  gap_ratio = 0.62,
  base_angle = 45,
  cross_after = 3L,
  cross_angle = 90,
  tone_floor = 0.12,
  tone_ceiling = 0.92
)

Arguments

n_levels

Number of hatch layers. Default 5.

base_gap

Pitch (inches) of the sparsest layer. Each subsequent layer tightens geometrically toward base_gap * gap_ratio^(n_levels - 1). Default 0.10.

gap_ratio

Multiplicative pitch shrink per layer (0 < r <= 1; smaller = faster densening). Default 0.62.

base_angle

Angle (degrees) of the first layer. Default 45.

cross_after

Layer index (1-based) at which cross-hatching begins; from this layer on, angles alternate by cross_angle. Default 3.

cross_angle

Angular offset (degrees) of the cross direction. Default 90.

tone_floor, tone_ceiling

Tone thresholds of the first and last layers; the layers' thresholds are spread evenly between them. A region with tone below tone_floor is left blank (paper); tone at or above tone_ceiling gets every layer. Defaults 0.12 and 0.92.

Value

A list of layers, each list(gap, angle, threshold).