powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / как сделать 3D карту с топографической карты на C# с использованием XNA?
16 сообщений из 16, страница 1 из 1
как сделать 3D карту с топографической карты на C# с использованием XNA?
    #36967812
ASPIRE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
как сделать 3D карту с топографической карты на C# с использованием XNA?
Буду благодарен з аполезную инфу!!!
...
Рейтинг: 0 / 0
как сделать 3D карту с топографической карты на C# с использованием XNA?
    #36968362
ASPIREкак сделать 3D карту с топографической карты на C# с использованием XNA?
Буду благодарен з аполезную инфу!!!
Сам этим не занимался, но знаю как делают в серьезных конторах:
1) отсканированую топографичскую карту редактируют в граф. редакторе (максимально выделяют горизонтали), остальное заливают белым
2) спец. прогой сканируют горизонтали, получают векторное представление
3) в ручную убирают разрывы и петли (ни одна прога на сег.. день автоматически полностью не справляется).
4) по векторной картинке горизонталей строится поверхность, разными методами (уравнение Бернулли, тонкая пластина, сплайны, кригинг и т.д.)
5) добавляют рандом. эррозию и др. вне масштабные фишки, потом лес (по заданной плотности и средней высоте) и строения

Известные проги для такой работы с картами SurfBuilder и BlackArt, но без ручной дорисовки до сих пор не получается. Один перец, к-рый этим занимается говорил, что полностью руками прорисовать горизонтали в CorelDraw по подложенной растровой карте выходит быстрее.

Вобщем нужны 2 программы: для подготовки векторного представления горизонталей и для построения поверхности. На чем их делать, ИМХО, без разницы, можно на C#
...
Рейтинг: 0 / 0
как сделать 3D карту с топографической карты на C# с использованием XNA?
    #36968382
ASPIRE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Унрегистеред,
Да это всё прикольно!!! Но у меня есть немножко другая мысля! Без преобразования карты тут канешно не обойдёшся. Просто по цвету нужно как то витенуть только те сплайны каторые нужно, тоисть те которые показывают неровности. Потом по этим сплайнам мы и строим 3D. Мне посоветовали использовать XNA потому что там, говарят проще с установлением уровней.Я уже искал в нете на эту тему какие то алгоритмы, пока что нету ничево толкового. Буду искать дальше! Мне эту квалификацыонную работу нужно сдать в июне!!Время пока что есть но уже хотелось бы что то начять делать. Буду благодарен за дельные советы!!!!
...
Рейтинг: 0 / 0
как сделать 3D карту с топографической карты на C# с использованием XNA?
    #36968434
ASPIRE, посмотри здесь
Главный сайт по 3D картам // http://www.vterrain.org/
Сайт автора пр. BlackArt // http://www.terrainmap.com/

По алгоритмам смотри в гуглях "PDE", "thin plate" и "kriging"
...
Рейтинг: 0 / 0
как сделать 3D карту с топографической карты на C# с использованием XNA?
    #36968592
ASPIRE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Унрегистеред,

Спасибо!!! Очень многа инфы !!! Буду читать!!!!!!!
...
Рейтинг: 0 / 0
как сделать 3D карту с топографической карты на C# с использованием XNA?
    #36972584
ASPIRE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Читал , читал и нашол только некоторые проги для оцыфровки!!! Больше к сожелению там ничево нету!!! Описаны так же и способы реальзации этой задачи !!! Мне б кусочек открытого кода !!! Но к сожелению....!!! Буду рыскать дальше!!!
...
Рейтинг: 0 / 0
как сделать 3D карту с топографической карты на C# с использованием XNA?
    #36973046
ASPIRE, не с того конца заходишь, ИМХО.
Какой тебе кусочек кода?
Задача чиста математиццкая. Состоит из 2х частей.
1) распознование изолиний на скане топогр. карты (ИМХО, в чистом виде задача формально не решаема)
2) построение поверхности по имеющимся правльным изолиниям (задача решаема на 150%, многими способами)
Какую часть ты хочешь замастрючить? Опрделись, тогда подскажем.
...
Рейтинг: 0 / 0
как сделать 3D карту с топографической карты на C# с использованием XNA?
    #36977887
ASPIRE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хотелось бы построить поверхность по имеющимся правльными изолиниями !!!!
...
Рейтинг: 0 / 0
как сделать 3D карту с топографической карты на C# с использованием XNA?
    #36977889
ASPIRE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ASPIRE,

Спасибо за то что хоть кто то пытаэтся мне помочь! Большое спасибо и за это!!!!!
...
Рейтинг: 0 / 0
как сделать 3D карту с топографической карты на C# с использованием XNA?
    #36978121
Если по готовым изолиниям, это просто, обычная интерполяция Z(X,Y)
По любому нужен 2-мерный массив, изолинии можно хранить как ломанные, т.е. списки точек. Или можно точки изолиний записать прямо в массив.

1) Самое простое это обратные расстояния: через точку (не лежащую на изолинии) проводим 2 перпендик. прямые, находим 4 ближайшие точки пересечения с изолиниями, значение в точке равно Z=(Z1/D1+Z2/D2+Z3/D3+Z4/D4)/(1/D1+1/D2+1/D3+1/D4), где Z1,Z2,Z3,Z4 - значения в точках пересечения с изолиниями, D1,D2,D3,D4 - нормированные расстояния до этих точек.
Просматриваем весь массив, вычисляем Z для каждой точке. Как найти точку пересечения 2-х отрезков и растояния, понятно.

2) Двойная линейная интерполяция: те же 2 прямые до пересечения с изолиниями, считаем 2 линейных приближения для точки, берем среднее.

3) То же самое, но для каждой прямой ищем по 2 пересечения с изолиниями с каждой стороны от точки (т.е. получаем 4 точки на каждой из 2-х прямых), считаем приближения по кубическому сплайну, опять берем среднее из двух приближений.

4) PDE (тепловое уравнение для 2-мерного случая) и тонкая пластина - ваще просто до беозбразия. Итеративный процесс, за 2-3 тыс. итераций получаем поверхность. Не буду рассказывать, см. тут: // http://www.terrainmap.com/downloads/finalreport.pdf, там прога для MatLab и описание

5) Для кригинга есть алгоритм в стенфордском фонде, ссылку не помню, ищи "cokb3d", имей в видуу, что алгоритм, как пложено, на Фортране.

Ну и будет те щастье. Еще бывают спец. методы, там крме математики учитывается геология (плотность породы и вероятность сползания), но про это уже ничо не скажу, не знаю
...
Рейтинг: 0 / 0
как сделать 3D карту с топографической карты на C# с использованием XNA?
    #36987617
ASPIRE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Унрегистеред,
Ух ты!!!!!!! Это уже интересно!!!! Спасибо!!!!
...
Рейтинг: 0 / 0
как сделать 3D карту с топографической карты на C# с использованием XNA?
    #36991833
ASPIRE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Унрегистеред,
Может подскажеш где скачать какую-то утилитку или прогу для преобразавания карты!!!
Хотелось бы что бы она работала с C++ или C#.
...
Рейтинг: 0 / 0
как сделать 3D карту с топографической карты на C# с использованием XNA?
    #36992049
ASPIREМожет подскажеш где скачать какую-то утилитку или прогу для преобразавания карты!!!
Хотелось бы что бы она работала с C++ или C#.
Сначала скажи, что во что преобразвовать?
...
Рейтинг: 0 / 0
как сделать 3D карту с топографической карты на C# с использованием XNA?
    #36992115
ASPIRE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нужно убрать всё из топорафической карты, кроме сплайнов по которым в последствие будем моделировать трехмерную карту.
...
Рейтинг: 0 / 0
как сделать 3D карту с топографической карты на C# с использованием XNA?
    #36992986
ASPIREНужно убрать всё из топорафической карты, кроме сплайнов по которым в последствие будем моделировать трехмерную карту.
Выше я об этом говорил, полностью автомтически не получаеттся, наск. мне известно, в тч. из за низкого качества печатных карт, но не только. Знаю 2 популярные проги: BlackArt (на www.terrainmap.com) и SurfBuilder (тоже freeware, видел на горбушке).
Кроме того, выше я вспоминал, что человек, к-рый занимается этим по работе, говорил, что прорисовать изолинии руками проще, чем специальным софтом.
Сделай простую прогу: чтобы показывала BMP со сканом карты, а юзер мышкой отмечал последовательность точек по каждой изолинии, т.е. получал их приближения ломаными линиями. Такие проги есть в демках к любому IDE, проще некуда.
С ломаными работать, ИМХО, проще и быстрее, чем со сплайнами, все начальные построения сведутся к школьной геометрии, практиески без потери точности.
Имей в виду (тоже уже говорил), что с картами я не работал, занимался 3D для других данных. Поищи на сайтах по GIS или по играм, там знают больше.
...
Рейтинг: 0 / 0
как сделать 3D карту с топографической карты на C# с использованием XNA?
    #36998210
ASPIRE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Унрегистере,
Спасибо!!!!! Извини что второй раз спросил !!!! Завтыкал немного!!!
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / как сделать 3D карту с топографической карты на C# с использованием XNA?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]