iHDD.RU
Список форумов Форум iHDD.RU Форум iHDD.RU
Ремонт накопителей и восстановление информации
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

 
AGEO

 
Начать новую тему   Ответить на тему    Список форумов Форум iHDD.RU -> Двинянинов(tm) о винчестерах  Двинянинов(tm) о винчестерах
AGEO
Автор Сообщение
maysoft



Зарегистрирован: 27.09.2005
Сообщения: 666

СообщениеДобавлено: Пт, 27 Янв, 2006 22:10    Заголовок сообщения: AGEO Ответить с цитатой

Copyright (c) Dvinyaninov A Ru 2004
Freeware. Refer is require.

AGEO

Получается сразу из языка A и упаковки.

<
Примерный план упаковки. Не проверен.

Пусть требуется составить карту Земли. Карта будет храниться как набор файлов - снимков поверхности.

Рассмотрим Землю как шар. По экватору широта - 360 градусов. 0 - 359 градусов 0-59 минут 0-59 секунд упаковываются в 36 значений 0..9A..Z как

Код:
  1 байт - град/10 ( 359/10 <= 35 )
  2 байт - ( град mod 10 ) * 3 + мин/10 ( <= 27+59/10 <= 32 )
  3 байт - ( мин mod 10 ) * 3 + сек / 30 ( 9*3 + 59/30 <= 29 )
  4 байт - сек mod 30 ( 29 <= 36 )
При этом упаковка идет не от отметки время, а от географической отметки.

Долгота упаковывается так же. Итого получаем 4+4=8 байт. Длина экватора - 40'000 км. 1 град = 112 км. 1 мин = 1.9 км. 1 сек = 30 м. Примерный подсчет показывает что участок Земли 1 секунда * 1 секунда составляет 30 м * 30 м.

Сразу же получаем алгоритм разрезания карт и алгоритм склеивания и укрупнения карт. Сразу же получаем алгоритм поиска и запроса карты с данными координатами. И вообще это уже не карта. Это уже план. Карта - мелкие масштабы, план - крупные масштабы. Граница карты и плана - вроде бы масштаб 1:100 000 или 1:10 000. Не знаток.

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

За начало отсчетов видимо следует принять Южный полюс и линию примерной смены дня. В упаковке типа A нет отрицательных чисел. Если требуются отрицательные числа и начало отсчета - экватор и гринвич, то за ноль надо взять середину интервала 0..9A..Z и крайние цифры-буквы считать символами переполнения. Число цифр+букв тогда должно быть нечетным. У нас чет. Тогда надо рассматривать не 36-значную арифметику, а меньше. Делайте сами.

Примерный нуль :

Код:
 "01234567890ABCDEFG H IJKLMNOPQRSTUVWXYZ"
  ^12345678901234567 8 901234567890123456
  ..........11111111 1 122222222223333333
 <~----------------- 0 -----------------~>
 -                                       +
Нулем предлагается считать - H. Минус бесконечность - 0. Плюс бесконечность - Z. Осталось 36-3=33 или 34 символа. В минусе 16+1 символов. В плюсе 17+1 символов. Пытайтесь. Можно еще и Y сделать плюс бесконечность.

Вот такая почти художественная литература. Потому что просто и понятно. Но лучше ничего не сделать.
==== EOF ============================================
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Форум iHDD.RU -> Двинянинов(tm) о винчестерах Часовой пояс: GMT + 3
Страница 1 из 1

 








Rambler's Top100 Рейтинг@Mail.ru

Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB