Мне нужно сделать топографическую карту местности, для которой у меня есть только довольно редкие выборки данных (x, y, высота). Очевидно, что я не могу сделать полностью точную карту, но хотелось бы, чтобы она была в каком-то смысле «гладкой». Мне нужно количественно оценить «гладкость» (вероятно, обратное среднее значение квадрата кривизны поверхности), и я хочу минимизировать целевую функцию, которая представляет собой сумму двух величин:
- Шероховатость поверхности
- Среднеквадратичное расстояние между высотой поверхности в точке выборки и фактической измеренной высотой в этой точке.
Поскольку на самом деле мне нужна топографическая карта, я действительно ищу способ построения контурных линий постоянной высоты, и может быть какой-то умный геометрический способ сделать это, даже не говоря о поверхностях. Конечно, я хочу, чтобы контурные линии тоже были плавными.
Приветствуются любые предложения. Я надеюсь, что это известная числовая проблема. Я вполне комфортно владею C и имею практические знания FORTRAN. О Matlab и R я довольно невежественен.
Относительно того, где расположены наши образцы: мы планируем примерно равное расстояние, но мы возьмем больше образцов там, где топография более интересна. Так, например, мы сэмплируем горные районы более плотно, чем равнину. Но у нас определенно есть выбор в отношении выборки, и мы могли бы взять даже пробы, если это упростит ситуацию. Единственные проблемы
Мы не знаем, сколько местности нам нужно нанести на карту, чтобы найти искомые объекты.
Взятие образца стоит умеренно дорого, порядка 10 минут. Таким образом, выборка сетки 100x100 может занять много времени.