Поля и шум

Топография

Карта выдуманной местности: горизонтали с утолщёнными, послойная окраска высот и отмывка рельефа.

  • шейдер на GPU
  • бесшовный тайл
  • зацикленная анимация
Открыть в редакторе →

Топографическая карта — одна из самых изящных инфографик: коричневые кольца горизонталей, сгущающиеся на крутых склонах, зелёные низины, белые вершины, мягкие тени хребтов. Этот слой рисует такую карту для местности, которой не существует: её рельеф выдуман фрактальным шумом. Получаются постеры, фоны, обложки блокнотов, а в режиме тайла — бесшовные текстуры.

Как это устроено

Сначала строится высота h — fbm из пяти октав, по желанию искажённый самим собой («Искажение»). Потом высоты режут на N уровней («Горизонтали»): горизонталь проходит там, где h · N — целое число. Чтобы линия была одной толщины и на пологом склоне, и на обрыве, расстояние до ближайшего уровня делят на то, насколько меняется высота от пикселя к пикселю, — и получают расстояние в пикселях.

c = h · N d = |c − round(c)| / Δc Δc — прирост c за один пиксель линия: d < ½ «Толщины линий»

Где горизонтали сближаются теснее собственной толщины, они плавно гаснут — как на настоящих картах, где обрывы рисуют отдельным знаком. Каждая n-я линия, где n — «Утолщённые», рисуется в 2,2 раза толще: это утолщённые горизонтали, по которым удобно считать высоту. «Окраска высот» заливает промежутки между горизонталями цветами палитры, по цвету на ярус, — это послойная, или гипсометрическая, окраска. «Отмывка» добавляет тени склонов при свете с северо-запада, как принято в картографии. «Цвет линий» в режиме «авто» берёт более тёмный оттенок заливки под линией (на тёмной — более светлый), как при печати карт. «Толщина линий» задана в тысячных короткой стороны, поэтому превью и экспорт 8K выглядят одинаково.

Немного истории

Линии равных глубин — изобаты — появились на голландской карте реки Спарне ещё в 1584 году, а линии равного магнитного склонения нанёс на карту Атлантики Эдмунд Галлей в 1701-м. Горизонтали на суше родились из попытки взвесить Землю. В 1774 году Невил Маскелайн измерял, насколько гора Шихаллион в Шотландии отклоняет отвес, а математик Чарльз Хаттон, вычисляя объём горы по тысячам замеров, соединил линиями точки равной высоты — и заметил, что их узор сразу показывает форму рельефа. К середине XIX века горизонтали стали стандартом съёмочных карт, а в XX веке признанным мастером отмывки рельефа стал швейцарский картограф Эдуард Имхоф.

Что покрутить

  • «Окраска высот» 0 и «Отмывка» 0 — чистые линии на фоне, строгий минималистичный постер.
  • Палитра от сине-зелёного через жёлтый и коричневый к белому — классическая шкала физических карт.
  • «Искажение» 0,8–1,5 делает хребты извилистыми, как у выветренных гор.
  • «Горизонтали» 40–60 с тонкими линиями — плотная гравюра; анимация со «Скоростью» 1 — медленно текущий рельеф.
  • Поставьте карте «Режим» «умножение» над «Градиентной сеткой», уберите «Окраску высот» и добавьте сверху «Зерно» — выйдет карта, напечатанная на старой цветной бумаге.

Параметры

Масштаб
Сколько холмов и долин укладывается в кадр
Горизонтали
Сколько уровней высоты — и столько же слоёв окраски
Утолщённые
Какая по счёту горизонталь рисуется толще; 0 — ни одна
Толщина линий
В тысячных короткой стороны — одинаково на превью и в 8K
Окраска высот
Насколько слои между горизонталями закрашены цветами палитры
Отмывка
Тени склонов при свете с северо-запада, как на картах
Искажение
Шум сдвигает сам себя — рельеф становится извилистее
Скорость
Сколько оборотов делает рельеф за петлю анимации
Цвет линий
«Авто» — тёмный или светлый оттенок окраски под линией