Карты высот являются эффективным методом хранения информации, если значения обычно различаются по каждой координате, а способ различения не предсказуем. Другими словами, карты высот эффективны, когда вы работаете со случайными данными. Если в ваших данных есть шаблон, обычно есть лучшее решение.
Рассмотрим строку, описанную y = x
. Вы можете описать этот уклон с помощью карты высот с разрешением 1, которая будет выглядеть примерно так: [(1, 1), (2, 2), (3, 3), ...]
. Если ваша карта высот имеет высокое разрешение, этот список будет очень большим. В качестве альтернативы вы можете описать этот наклон как линию, проходящую через точки (1, 1) и (2, 2) . В этом случае гораздо эффективнее определить линию / объем через определенные точки / вершины.
Для данных, подобных местности, поскольку они обычно неслучайны, я бы рекомендовал второй подход через полигональные сетки . Вы можете найти такую библиотеку, как JMesh .
Для дальнейшего чтения, здесь - отличный ответ (откровенно говоря, лучше моего) на обмене стеками разработки игр, относящимися к этой теме.