Вариант решения глюков с прокладкой и подсказками!

Обсуждаем все вопросы по PocketGPS Pro и MacCentre PocketGPS, а также PocketNavigator.
Аватара пользователя
VarAn
Профессор (5 lvl)
Сообщения: 688
Зарегистрирован: Пн май 24, 2004 14:51

Вариант решения глюков с прокладкой и подсказками!

Сообщение VarAn » Чт сен 01, 2005 11:54

Предлагаю использовать алгоритм не просчета вершин на перекрестках, а принципиально другой принцип построения перекрестков:

Для всех перекрестков нужно составить несколько стандартных шаблонов правильного проезда данных перекрестков и закрепить за каждым перекрестком по одному шаблону.

Кроме этого будет не лишней возможность для пользователей - иметь возможность вручную на КПК менять эти шаблоны из списка в зависимости от изменений на перекрасках, устраиваемыми гаишниками.

При этом программа при проезде перекрестка не будет пытаться каждый раз анализировать вершины углов, а просто будет выполнять предписанный алгоритм проезда для данного конкретного перекрестка по шаблону.

Этим самым мы снижаем вычислительные нагрузки в программе, улучшаем надежность правильности прокладки маршрута, выдачи подсказок и избавляемся от системы запретов проезда.

В итоге мы получаем карту с графами на дорогах и легко корректируемыми перекрестками вместо существующей системы.

Как Вам этот вариант?
HP IPAQ hx4700 + GlobalSat BC-337 (SiRF III)                      http://smileys.smileycentral.com/cat/new/8_22/7_6_8.gif

Alligator.
Профессор (5 lvl)
Сообщения: 708
Зарегистрирован: Пт окт 10, 2003 14:25

Сообщение Alligator. » Чт сен 01, 2005 15:20

Боюсь, что я не очень понял :oops:

Ты предлагаешь для каждого перекрестка хранить в программе все возможные варианты его проезда + правильную подсказку для каждого варианта?

Если так, то имхо получится слишком много дополнительной информации :shock:

BreQwaS
Кандидат (3 lvl)
Сообщения: 124
Зарегистрирован: Пт июл 15, 2005 18:12

Сообщение BreQwaS » Чт сен 01, 2005 15:42

Ты предлагаешь для каждого перекрестка хранить в программе все возможные варианты его проезда + правильную подсказку для каждого варианта?
Почему же? Нужно хранить граф маршрутов. Но это и так есть - именно по этому графу строятся маршруты.

А вот шаблоны - IMHO штука безнадёжная... Не всё под них можно подогнать. Анализ на лету - гораздо более верный подход. Вопрос в том, как сделать его более точным...
WBR,
BreQwaS.

ICQ: 241785226
LJ: http://livejournal.com/users/breqwas
Hard: iPAQ hx4700, SD Kingston 1 Gb, Luch-BT

Logout
Кандидат (3 lvl)
Сообщения: 107
Зарегистрирован: Ср окт 06, 2004 17:37

Сообщение Logout » Пн сен 05, 2005 14:42

А у меня проще есть предложение (с точки зрения разработки).

Во-первых, на карте перекрестки должны быть как-либо обозначены. То есть, у вершие входа и выхода из перекрестка должен быть соответствующий признак. У ребер насколько я понимаю такой признак уже есть (коричнеывй цвет стрелок).

Дальше алгоритм такой:
1) Определить точку входа на перекресток
2) определить точку выхода из перекрестка.
3) посчитать угол между ребром перед входом на перекресток и линией, соединяющей точку входа и выхода. По этому углу мы определим правый это поворот или левый.
4) Посмотреть другие точки выхода из перекрестка. Если существует более чем одна точка выхода в том же направлении, то вычислить порядковый номер нужного выхода (для того чтобы сказать "2-й направо" например)
5) Подобрать нужную картинку для подсказки из набора что я приводил ранее (http://www.pocketgps.ru/board/viewtopic ... 569#232569)
6) Выбрать нужный звуковой файл соответсвующий картинке

Единственная сложность которую я вижу - это сложные перекрестки (Тверская застава, Таганская и т.д.), но это не проблема. Просто надо их разбить на несколько перекрестков. ТОгда подсказка будет выдаваться "по шагам", как в другим навигационных системах.

Как продолжение идее, "склеивать" подсказки типа "первый поворот направо затем возьмите левее во второй заезд".

Аватара пользователя
VarAn
Профессор (5 lvl)
Сообщения: 688
Зарегистрирован: Пн май 24, 2004 14:51

Сообщение VarAn » Пн сен 05, 2005 14:49

5) Подобрать нужную картинку для подсказки из набора что я приводил ранее
А еще можно отображать на картинке-подсказке предстоящего поворота копию изображения маршрутной линии в изогнутом месте.
HP IPAQ hx4700 + GlobalSat BC-337 (SiRF III)                      http://smileys.smileycentral.com/cat/new/8_22/7_6_8.gif

BreQwaS
Кандидат (3 lvl)
Сообщения: 124
Зарегистрирован: Пт июл 15, 2005 18:12

Сообщение BreQwaS » Пн сен 05, 2005 14:52

3) посчитать угол между ребром перед входом на перекресток и линией, соединяющей точку входа и выхода. По этому углу мы определим правый это поворот или левый.
Угу. А если это roundabout, где если смотреть на угол между входом и выходом - будет поворот налево, а реально поворачивать нужно сначала направо, а потом ещё раз направо?
WBR,
BreQwaS.

ICQ: 241785226
LJ: http://livejournal.com/users/breqwas
Hard: iPAQ hx4700, SD Kingston 1 Gb, Luch-BT

Logout
Кандидат (3 lvl)
Сообщения: 107
Зарегистрирован: Ср окт 06, 2004 17:37

Сообщение Logout » Пн сен 05, 2005 15:00

BreQwaS писал(а):
3) посчитать угол между ребром перед входом на перекресток и линией, соединяющей точку входа и выхода. По этому углу мы определим правый это поворот или левый.
Угу. А если это roundabout, где если смотреть на угол между входом и выходом - будет поворот налево, а реально поворачивать нужно сначала направо, а потом ещё раз направо?
roundabout - это отдельная ситуация (которую я временно вычеркнул из "алгоритма"). Если вы сходите по ссылке в первом письме - то увидите пример картинки с "раундэбаутом".
Подсказка должна быть простая: "n-й съезд с кругового движения".
При этом, картинок достаточно будет 4-х видов:
1) поворот направо по кругу
2) проезд по кругу прямо
3) поворот по кругу налево
4) разворот по кругу.
Выбирается наиболее подходящая картинка из условий точки входа и точки выхода.

Logout
Кандидат (3 lvl)
Сообщения: 107
Зарегистрирован: Ср окт 06, 2004 17:37

Сообщение Logout » Пн сен 05, 2005 15:02

VarAn писал(а):
5) Подобрать нужную картинку для подсказки из набора что я приводил ранее
А еще можно отображать на картинке-подсказке предстоящего поворота копию изображения маршрутной линии в изогнутом месте.
1) Если б я работал бы в МакЦентре - я б за такую идею метнул бы в вас чем-нибудь тяжелым :) ИМХО это не так просто сделать.
2) Зачем? У нас же есть уже карта! Картинка со стрелочками предназначена для схематического обозначения маневра. Чтобы раз взглянул и все стало понятно.

Аватара пользователя
gren
Кандидат (3 lvl)
Сообщения: 162
Зарегистрирован: Ср сен 03, 2003 11:15

Сообщение gren » Пн сен 05, 2005 15:22

Предлагаю другой алгоритм: поторопить ТомТом скорее выйти в России :lol: :lol: :lol:

все наши обсуждения здесь бесполезны....
Последний раз редактировалось gren Пн сен 05, 2005 16:27, всего редактировалось 1 раз.
Grenhttp://smiles.ru/coll/major/bmw.gif
iPaq 2210, CF, SD, GPS Haicom 303S

BreQwaS
Кандидат (3 lvl)
Сообщения: 124
Зарегистрирован: Пт июл 15, 2005 18:12

Сообщение BreQwaS » Пн сен 05, 2005 15:46

roundabout - это отдельная ситуация (которую я временно вычеркнул из "алгоритма")
Боюсь "отдельных ситуаций" будет многовато - вспомните московские развязки.

Более "читерский" вариант - когда приближается хитрая рзвязка и программа не уверена, какие давать подказки, надо говорить что-то типа "впереди сложный перекрёсток" и показывать его на картинке крупным планом - мол, рули как хочешь :)
WBR,
BreQwaS.

ICQ: 241785226
LJ: http://livejournal.com/users/breqwas
Hard: iPAQ hx4700, SD Kingston 1 Gb, Luch-BT

Alligator.
Профессор (5 lvl)
Сообщения: 708
Зарегистрирован: Пт окт 10, 2003 14:25

Сообщение Alligator. » Пн сен 05, 2005 15:55

Logout писал(а): Дальше алгоритм такой:
1) Определить точку входа на перекресток
2) определить точку выхода из перекрестка.
3) посчитать угол между ребром перед входом на перекресток и линией, соединяющей точку входа и выхода. По этому углу мы определим правый это поворот или левый.
4) Посмотреть другие точки выхода из перекрестка. Если существует более чем одна точка выхода в том же направлении, то вычислить порядковый номер нужного выхода (для того чтобы сказать "2-й направо" например)
По-моему алгоритм будет плохо обрабатывать проезд перекрестка типа "ступеньки", как в на картинке.
Если я правильно понял предложенный алгоритм, подсказка будет "второй поворот налево".
Имхо в данном случае не самая подходящая подсказка ... :-(

Нормальная подсказка будет если разбить на два и выдать связанную подсказку - "налево, потом направо".

Но встает вопрос в каких случаях разбивать, а в каких нет ... :?:
Вложения
A.jpg
A.jpg (92.24 КБ) 14847 просмотров

Чайни
Профессор (5 lvl)
Сообщения: 673
Зарегистрирован: Вс ноя 07, 2004 21:35

Сообщение Чайни » Пн сен 05, 2005 17:12

gren писал(а):Предлагаю другой алгоритм: поторопить ТомТом скорее выйти в России :lol: :lol: :lol:

все наши обсуждения здесь бесполезны....
...и бесплатны :lol:
"Вот если бы все на мине подорвались... Но об этом можно только мечтать !"

K750i + HP4700 + BT338

Logout
Кандидат (3 lvl)
Сообщения: 107
Зарегистрирован: Ср окт 06, 2004 17:37

Сообщение Logout » Пн сен 05, 2005 18:34

Alligator. писал(а):
Logout писал(а): Дальше алгоритм такой:
1) Определить точку входа на перекресток
2) определить точку выхода из перекрестка.
3) посчитать угол между ребром перед входом на перекресток и линией, соединяющей точку входа и выхода. По этому углу мы определим правый это поворот или левый.
4) Посмотреть другие точки выхода из перекрестка. Если существует более чем одна точка выхода в том же направлении, то вычислить порядковый номер нужного выхода (для того чтобы сказать "2-й направо" например)
По-моему алгоритм будет плохо обрабатывать проезд перекрестка типа "ступеньки", как в на картинке.
Если я правильно понял предложенный алгоритм, подсказка будет "второй поворот налево".
Имхо в данном случае не самая подходящая подсказка ... :-(

Нормальная подсказка будет если разбить на два и выдать связанную подсказку - "налево, потом направо".

Но встает вопрос в каких случаях разбивать, а в каких нет ... :?:
ну почему же. Правильно скажет: "поворот налево во второй заезд". После поворота скажет "поворот направо". Что тут не так? А про связку подсказок я уже говорил.

Правда, что-то я сомневаюсь в том, что это будет реализовано...
:cry:

Logout
Кандидат (3 lvl)
Сообщения: 107
Зарегистрирован: Ср окт 06, 2004 17:37

Сообщение Logout » Пн сен 05, 2005 18:37

BreQwaS писал(а):
roundabout - это отдельная ситуация (которую я временно вычеркнул из "алгоритма")
Боюсь "отдельных ситуаций" будет многовато - вспомните московские развязки.

Более "читерский" вариант - когда приближается хитрая рзвязка и программа не уверена, какие давать подказки, надо говорить что-то типа "впереди сложный перекрёсток" и показывать его на картинке крупным планом - мол, рули как хочешь :)
"Развязка" кстати, это еще один вариант :-)
Вообще, мне на ум приходит всего четыре вида транспортных узлов:
1) перекресток
2) круговое движение
3) развязка (когда дороги пересекаются на разных уровнях)
4) сложный перекресток (Таганская пл. и т.п.). Это вручную надо разбивать на более простые перекрестки.

BreQwaS
Кандидат (3 lvl)
Сообщения: 124
Зарегистрирован: Пт июл 15, 2005 18:12

Сообщение BreQwaS » Пн сен 05, 2005 19:16

Это вручную надо разбивать на более простые перекрестки.
Что-то я сомневаюсь, что разбивка вручную - это хорошая идея :)
WBR,
BreQwaS.

ICQ: 241785226
LJ: http://livejournal.com/users/breqwas
Hard: iPAQ hx4700, SD Kingston 1 Gb, Luch-BT

Закрыто

Вернуться в «PocketGPS Pro и MacCentre PocketGPS»