@vitvov

Как построить полную сетку из не полной?

Здравствуйте.
Стоит задача нарисовать изолинии на карте, по известным точкам. Одна точка хранит в себе данные долготы, широты и число.
Найденные мною алгоритмы для C# conrec и contours работают хорошо, но, для их использования нужна полностью заполненная равномерная сетка (двумерный массив значений, где индексы массива считаются его координатами).
Проблема заключается в том, что мои данные располагаются не равномерно, и нужно построить по ним равномерную сетку. Уже неделю борюсь с этим и не могу побороть (знания в математике подводят).
Так же смотрел в сторону триангуляции, но все четно.
Подскажите, как я могу нарисовать изолинии по неравномерной сетке, или как перейти от неравномерной сетке в равномерную?
  • Вопрос задан
  • 480 просмотров
Решения вопроса 1
Mrrl
@Mrrl
Заводчик кардиганов
Думаю, что лучше ещё раз посмотреть в сторону триангуляции.
После того, как триангуляция Делоне исходных точек построена, то для любого треугольника и любого уровня высоты пересечение изолинии с треугольником будет либо пустым, либо точкой, либо отрезком. Координаты концов отрезка определяются линейной интерполяцией. И продолжать изолинию можно будет просто шагая по треугольникам.
Проблема возникнет, когда изолиния уткнётся в вершину. Теоретически, из вершины может быть больше двух путей - если она оказалась седловой точкой. Чтобы этого избежать, достаточно просмотреть в начале все данные, и если попадётся "круглое" число - слегка его изменить.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Nipheris
@Nipheris Куратор тега C#
Тоже не совсем поменял что такое неравномерная сетка, может вам просто брать среднее из ближайших значений в той точке, где значения нет? Ну или как-то иначе интерполировать..
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы