Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.05.2009, 01:50   #21
("")(Э_Є)("")
Форумчанин
 
Регистрация: 26.01.2009
Сообщений: 112
По умолчанию

10 =

00001010 0bit save

10,10 =

10101010 4bit save

3,10 =

00111010 4bit save

Обозначим 10(1010) через 12(1100)

10,3 =

11XX0011 6bit save

10,10 =

11xxxx11 = 1111 8bit save


Нужно доработать
("")(Э_Є)("") вне форума Ответить с цитированием
Старый 09.05.2009, 01:57   #22
Парсифаль
Форумчанин
 
Аватар для Парсифаль
 
Регистрация: 28.04.2009
Сообщений: 186
По умолчанию

Да но метод перестанет работать при значениях больше 32... Нет?
Ruft ihm es zu durch alle Land', Der durch dies Wunder Gnade fand!
Hoch uber aller Welt ist Gott, Und Sein Erbarmen ist kein Spott
Парсифаль вне форума Ответить с цитированием
Старый 09.05.2009, 01:57   #23
("")(Э_Є)("")
Форумчанин
 
Регистрация: 26.01.2009
Сообщений: 112
По умолчанию

Можно хорошо выжать если в массиве часто встречаются длинные последовательности одинаковых чисел.
В любом случае мы имеем "халявные" токены
Код:
11 1011
12 1100
13 1101
14 1110
15 1111
("")(Э_Є)("") вне форума Ответить с цитированием
Старый 09.05.2009, 01:59   #24
("")(Э_Є)("")
Форумчанин
 
Регистрация: 26.01.2009
Сообщений: 112
По умолчанию

Конечно при условии, что число меньше 11 и больше -1. А метод универсальный - можно адаптировать под больше значения.
("")(Э_Є)("") вне форума Ответить с цитированием
Старый 09.05.2009, 02:02   #25
("")(Э_Є)("")
Форумчанин
 
Регистрация: 26.01.2009
Сообщений: 112
По умолчанию

Можно еще на последовательности разбивать и обозначать их через битовые токены.
("")(Э_Є)("") вне форума Ответить с цитированием
Старый 09.05.2009, 02:16   #26
("")(Э_Є)("")
Форумчанин
 
Регистрация: 26.01.2009
Сообщений: 112
По умолчанию

Нет универсального метода. Если это абсолютно случайные значения - вряд ли выйдет сжать лучше стандартного архиватора, на порядок уменьшить объем не получится, но чем больше массив, тем выше коэффициент сжатия. В случае с конкретными данным, можно сжать в сотни раз. Физические данные - "подбираем формулы". Геометрия - использование относительных координати, сложная логика - нейронные сети и тд. и тп. В каждом конкретном случае нужен конкретный метод сжатия или комбинация методов. Важные параметры: объем, характер данных, допускаются ли потери, возможность восстановления неполной, поврежденной базы.

PS. Єтот "конкурс" не для программистов

Последний раз редактировалось ("")(Э_Є)(""); 09.05.2009 в 02:21.
("")(Э_Є)("") вне форума Ответить с цитированием
Старый 09.05.2009, 02:16   #27
atomicxp
Форумчанин
 
Аватар для atomicxp
 
Регистрация: 01.05.2009
Сообщений: 110
По умолчанию

Задача похожа на кодек для воксельной технологии. Сжимать можно как с потерей качества, так и без. Радикальное сжатие возможно естественно только с потерей. Да и вообще, если бы было нужно сжать что-то, взяли бы 7-zip, никто бы тут не говорил о трёхмерных прямоугольных массивах.

P.S. кто-то видать кодеками хочет нахаляву разжиться для технологии трёхмерной сьёмки, камеры для которой кстати уже существуют. В будущем наверное это заменит привычное нам 2D телевидение. Между прочим воксели поддерживают современные видеокарты, так что с этим проблем тоже не возникнет.

Последний раз редактировалось atomicxp; 09.05.2009 в 02:21.
atomicxp вне форума Ответить с цитированием
Старый 09.05.2009, 02:25   #28
("")(Э_Є)("")
Форумчанин
 
Регистрация: 26.01.2009
Сообщений: 112
По умолчанию

Я не уверен, что существует большая разница сколько мерный массив мы сжимаем.
("")(Э_Є)("") вне форума Ответить с цитированием
Старый 09.05.2009, 02:27   #29
atomicxp
Форумчанин
 
Аватар для atomicxp
 
Регистрация: 01.05.2009
Сообщений: 110
Радость

Вот как это работает: воксельная камера.
atomicxp вне форума Ответить с цитированием
Старый 09.05.2009, 02:33   #30
atomicxp
Форумчанин
 
Аватар для atomicxp
 
Регистрация: 01.05.2009
Сообщений: 110
По умолчанию

пример 1
пример 2
пример 3
atomicxp вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Конкурс им. Парсифаля - н-мерные массивы. Парсифаль Общие вопросы C/C++ 32 08.05.2009 02:06
Отличие высокого от низкого Shevali Помощь студентам 4 31.03.2009 20:01
Новый конкурс на форуме программистов rpy3uH Свободное общение 113 01.03.2009 16:31
Задача по Паскалю. 1 уровень сложности. Сергей1 Помощь студентам 2 19.11.2007 22:45
конкурс программистов ! (первый конкурс) Alar Свободное общение 129 18.03.2007 00:50