Другие языки программирования и технологии
помогите распознавать карту через языки программирование
дано карта города на чертежном формате ( рисунка .jpg) , надо найти наикратчайший путь по дороги от точки А до В . Программу надо написать на Visual basic, но если кто то сможет написать на другие языки, я не против, буду очень благодарен....
Ну и задачку Вам задали.
Хотите посоревноваться с ведущими мировыми фирмами занимающимися электронной картографией ???
Что бы решить Вашу задачу, карта населенного пункта должна быть выполнена в векторной графике, а не в растровом JPG.
В векторной карте дорога - это набор линий (векторов) . И найти кратчайший путь от А до Б просто (почти просто... )
Координаты и длина каждого вектора известна. Достаточно сделать перебор и учесть масштаб.
А JPG картинка - это набор пикселей разного цвета. И все.. .
Для этого и веторизируют растровые изображения http://ru.wikipedia.org/wiki/Векторизация_(графика)
>> Ну можно перенарисовать дорогу, чтоб цвет дороги отличился от других цветов карты.
Ага.. .Это же JPG !!!Просто так не возьмешь в Paint и не зальешь всю дорогу от сих, и до границ.
Попробуйте. Там же не один белый цвет, а целая куча оттенков белого.
Проще заново всю карту нарисовать.. .
Если Вы все же решите пойти по сложному пути и раскрасить дороги карты другим цветом,
то алгоритм может быть такой:
Представим карту в виде координатной сетки.
Создадим двухмерный массив согласно количества ячеек сетки.
Просканируем каждую "ячейку" картинки с координатами от ...и до.. .на наличие красного цвета (дорога)
Если в ячейке есть дорога (красный цвет) , то в массив занесем "1", иначе "0".
В итоге, получим массив примерно такого типа:
Остается посчитать наименьшее количество "единичек" от А до Б.. .
Естественно, чем больше размерность массива, тем выше будет точность расчета.
Хотите посоревноваться с ведущими мировыми фирмами занимающимися электронной картографией ???
Что бы решить Вашу задачу, карта населенного пункта должна быть выполнена в векторной графике, а не в растровом JPG.
В векторной карте дорога - это набор линий (векторов) . И найти кратчайший путь от А до Б просто (почти просто... )
Координаты и длина каждого вектора известна. Достаточно сделать перебор и учесть масштаб.
А JPG картинка - это набор пикселей разного цвета. И все.. .
Для этого и веторизируют растровые изображения http://ru.wikipedia.org/wiki/Векторизация_(графика)
>> Ну можно перенарисовать дорогу, чтоб цвет дороги отличился от других цветов карты.
Ага.. .Это же JPG !!!Просто так не возьмешь в Paint и не зальешь всю дорогу от сих, и до границ.
Попробуйте. Там же не один белый цвет, а целая куча оттенков белого.
Проще заново всю карту нарисовать.. .
Если Вы все же решите пойти по сложному пути и раскрасить дороги карты другим цветом,
то алгоритм может быть такой:
Представим карту в виде координатной сетки.
Создадим двухмерный массив согласно количества ячеек сетки.
Просканируем каждую "ячейку" картинки с координатами от ...и до.. .на наличие красного цвета (дорога)
Если в ячейке есть дорога (красный цвет) , то в массив занесем "1", иначе "0".
В итоге, получим массив примерно такого типа:

Остается посчитать наименьшее количество "единичек" от А до Б.. .
Естественно, чем больше размерность массива, тем выше будет точность расчета.
и что, в задании сказано чтобы программа брала jpg файл и сама понимала где там улица, а где там дерево?
я более чем уверен что тебе вручную надо описать карту как кучу соединённых узлов.... говоря иначе, это будет граф
и потом уже сочинять программу обхода графа.
или покрой карту города сеткой и если клетка попадает на дорогу, то это пусто, а если занято чем-то.. . занято.
и используя метод.... хм, скажем для примера, волновой метод, находишь кратчайший путь...
я более чем уверен что тебе вручную надо описать карту как кучу соединённых узлов.... говоря иначе, это будет граф
и потом уже сочинять программу обхода графа.
или покрой карту города сеткой и если клетка попадает на дорогу, то это пусто, а если занято чем-то.. . занято.
и используя метод.... хм, скажем для примера, волновой метод, находишь кратчайший путь...
Исхак Рамиль
Да там не карта с деревами и домами, там карта просто нарисовано, чертежная карта....вот пример карты :
Ну можно перенарисовать дорогу, чтоб цвет дороги отличился от других цветов карты.

Ну можно перенарисовать дорогу, чтоб цвет дороги отличился от других цветов карты.
Похожие вопросы
- Добрый день. Помогите пожалуйста с выбором языка программирования для изучения.
- Помогите с выбором изучения языка программирования, после которого будет легче работать с другими языками?
- помогите выбрать язык программирования
- Помогите с выбором языка программирования
- Помогите выбрать язык программирования. И ответить на некоторые вопросы.
- А какие языки программирования изучали в 80х и на чём вы их изучали?
- Какой язык программирования выбрать для изучения для начинающего ? (внутри)
- Здравствуйте. Помогите с языком программирования
- С какого языка программирования начать?
- Какой язык программирования следует изучить в первую очередь, если в программировании вообще ничего не понимаешь?
Я вот думаю решить по такому алгоритму:
Если кликнает на дорогу первый раз, там и будет точка А, а потом второй клик будет точка В. Работа будет с пикселами, по этому я хотел перенарисовать дороги, чтоб отличились, вот то точки А дойдет до точки В, потом сохраняет результат на перемену, потом будет идти по другой дороге, таким образом сохраняет все возможные пути и их длину, потом сравнивает все результаты потом будет известно результат... сможете мне помочь написать программку..?