Здравствуйте, Kulibin, Вы писали:
V>>У меня алгоритм совсем несложный получился..
K>У меня вообм то тоже не сложный всё-таки математик как не как.
K>тут в начеле февраля будет выставка на ввц я там буду показывать своё
В Москве я буду проездом, числа наверно 5, и 13 на обратном пути).
Зайду, гляну, если скажете куда..
K>У меня решено огромное колличество алгоритмических приёмов,
Да, занимался и этим, хотя ИМХО — лучше наверно взять готовую либу,
коих уже достаточно много (по крайней мере я их смотрел, и никаких
прёимуществ своих алгоритмов перед библиотечными не нашёл, чего не
сказать о редакторах)
K>Начнем с того что сканированное изображение сшивается в общее, с использованием деформаций, натяжек,
У нас такое было уже 5 лет назад
(
http://ugp.udm.ru/ru/struct/1/06/automap/tour/page4.shtml),
причём нам было дешевле юзать дешёвые сканеры A3 или A4 со
своей спец программамой
(
http://ugp.udm.ru/ru/struct/1/06/automap/tour/page6.shtml),
чем покупать дорогущий большой сканер..
K>все это дело может достигать размеров более 2 милионов на 2
K>милиона пикселей и занимать сотни гигабайт, а работает очень
K>быстро, более 15 раз в секунду отрисовка идет, все считается в
K>динамике, используется билиненйная фильтрация, и усреднение,
Ну Ижевск не Москва, сотни Гб нам тестировать особо не на чем..
Но 500-масштаб нашего города сплошным растром (~2.3Гб, тогда винты такие были..)
у нас очень хорошо работал..
А всё остальное естественно ограничивается не столько алгоритмами, сколько быстрой,
специализированной системой хранения на диске..
Сколько раз в секунду, я точно уже не помню, но векторный "город Ижевск"
(~30000 домов + куча другой мишуры) наша система рисовала в ~10 раз быстрее MapInfo
(короче, уже тогда всё практически помещалось в память, хотя система написана так,
что это не очень важно, и идёт и на 8 Mb)
А "растровый" рисовался даже побыстрее, так как мы как правило никаких сложных
преобразований непосредственно перед прорисовкой не делали, а сразу пихали готовый
растр на экран..
K>Вся эта красота (подложка) написана на ASM ипользуютс MMX сейчас я
K>буду потключать 3dNow! с SSE пока проблеммы
Крута..
Мы поступили проще, при вклейке планшета в карту, заранее масштабировали
(и, если нужно, поворачивали) его в 3-4 основных масштабах,
которых пользователю хватало..
Так что основная часть тут у нас была — система хранения,
и "летало" это всё ещё на Pentium I c 32 Mb..
(см. требования
http://ugp.udm.ru/ru/struct/1/06/automap/techpar.shtml)
Конечно, был режим и получения "произвольного" масштаба
(который на тех тачках конечно был помедленнее, но сейчас наверно "летает",
так как хранили всё в bmp (чтобы не тратится на распаковку), и масштабировали
из ближайшего уже отмасштабированного уровня), но им редко пользовались..
K>На счет графического редактора интересует делалось ли создание
K>сложных приметивов (с использованием сплайнов, других кривых
K>совместно с другими приметивами, то что называется путями), я этим буду сейсас заниматься,
Были спец. редакторы:
— дорожной сети (граф, с перекрйстками и скруглениями)
— кульман (редко пользовались, но зато он гарантировал "любое" построение..)
— сплайны для ГИС как то не очень использовались, так что был простой, без
коромысел (положения коромысел я вычислял по вершинам, так что сам
редактор мало отличается от редактора ломаной)
Что такое "пути" и зачем это нужно, я не очень понимаю..
(Наверно для поддержки линейно-узловой топологии?)
Но, имеющаяся технология написания редакторов
довольно легко позволяет писать редакторы любой сложности, с высокой
долей повторного использования кода..
В часности, насколько я понимаю уту задачу — тут граф, соединённый различными
модификациями polyline (с точки зрения редактора ессно)
K>так же буду делать трех мерку, всего этого хозяйства, а там алгоритмы куда сложнее
Делали нечто подобное
(
http://ugp.udm.ru/ru/struct/1/06/geoart/index.shtml)
В том числе была и модель рельефа с триангуляцией, но наши "манахеры" рынка сбыта толком
не нашли, поэтому эта часть в "неопробованном" толком пользавателями виде..
Вообще, если интересно, наверно лучше писать дальше в приват (vva@udm.ru)