Как «разложить» все книги мира на одной гигантской полке? 📚 Оказывается, для этого достаточно внимательно посмотреть на коды ISBN. Рассказываем, как превратить набор цифр в книжную вселенную в одном визуальном пространстве, по которому можно гулять.
Международный стандартный книжный номер ISBN — это уникальный код книжного издания, который присваивается практически каждой опубликованной книге. ISBN состоит из 13 цифр, которые кодируют информацию о языке, издательстве и другие метаданные.
ISBN делится на несколько блоков:
Таким образом, каждая опубликованная книга имеет свой уникальный 13-значный номер. Причем эти цифры неслучайные: по ним можно определить, на каком языке написана книга и какое издательство ее опубликовало, а также получить более подробную метаинформацию по каждому конкретному изданию.
Оказывается, можно! Эта идея реализована в проекте Visualizing all books of the world in ISBN-Space. Давайте разберемся, как это сделано.
Если из номера ISBN убрать первые три, а также последнюю цифры, представляющие собой фиксированные поля, то останется 2 000 000 000 возможных комбинаций или книг. Попробуем расположить их не линейно, а по кривой, напоминающей книжную полку:
Пространственная раскладка номера ISBN в параллелепипеде для будущей визуализации
Книги заполнят пространство в следующем порядке в зависимости от их номера:
Внешне такое расположение номеров напоминает книжную полку.
Чтобы сохранить прямоугольные пропорции, применяется способ, аналогичный подсчету пропорций листов А4. Представим прямоугольник площадью 1 м2. Если сложить его пополам, получится прямоугольник, пропорциональный исходному. Повторив это действие четыре раза, мы получим прямоугольник размера листа А4. Соотношение сторон таких прямоугольников — 1:√2, однако в нашем случае пропорции будут следующими:
Расчет соотношения сторон для визуализации
Отношение 3.16:1 задает расположение каждой книги в нашем пространстве. Чтобы получить координаты для каждой книги, необходимо убрать из номера ISBN первые три и одну последнюю цифры, а также добавить вначале 0. В итоге получится последовательность из 10 цифр, которую можно разложить на координаты: в одну координату взять все нечетные индексы, а во вторую — все четные:
Преобразование ISBN в координаты на плоскости
Теперь можно перейти к визуализации.
Так выглядят книги с кодом ISBN, начинающимся на 978-06:
Книги с началом ISBN-кода 978-06
Размер такой плитки — около 100 килобайт. Каждый пиксель отвечает за отдельный параметр издания. Например, красный цвет кодирует средний год издания по всем книгам, которые занимают один и тот же пиксель. При максимальном увеличении изображения один пиксель соответствует одной книге:
Визуализация отдельных книг внутри плитки
Далее — цвет. Визуализация может использовать два подхода: хранить цветовые значения RGB напрямую в каждой плитке или сохранять в плитке абстрактные данные (например, год издания) и затем преобразовывать их в цвет с помощью градиента. Второй подход является более гибким — он позволяет сочетать разные данные в одной визуализации.
Более подробную информацию с исходным кодом можно найти в репозитории проектa на GitHub.
Итоговая визуализация выглядит так:
Визуализация книг по ISBN
Книга постоянного автора «Системного Блока» Б. В. Орехова «Башкирский стих XX века. Корпусное исследование»
И погулять по книжным полкам:
Книга Эдварда Саида «Ориентализм на книжной полке»
При сильном увеличении на экране отображается отдельный ряд книжной полки — каждая книга видна как полноценный корешок с названием, автором и штрих-кодом ISBN. По мере отдаления масштаб охватывает соседние ряды, и книги все еще выглядят как корешки. Однако при дальнейшем уменьшении делатели исчезают, а книги превращаются в цветные прямоугольники.
При последовательном уменьшении масштаба книги автоматически группируются сначала по издательству, а потом по стране и языку. В каждом случае эти группы будут подписаны для удобства навигации:
Группы книг в визуализации
Этот проект наглядно показывает, как абстрактные числовые коды ISBN можно превратить в интуитивно понятную визуальную карту книжного мира. Простая идея — рассматривать ISBN как координаты — позволяет увидеть глобальное книгоиздание под новым углом: проследить языковые и издательские потоки, исследовать временные срезы и находить неожиданные связи между книгами. Такая визуализация делает огромные массивы библиографических данных доступными для визуального анализа только специалистам, но и широкой аудитории.
Источник: Visualizing all books of the world in ISBN-Space — phiresky’s blog [Электронный ресурс]. URL: https://phiresky.github.io/blog/2025/visualizing-all-books-in-isbn-space (дата обращения: 22.06.2025).
Компания Google представила много новых ИИ-продуктов, а модель GPT опровергла известную математическую гипотезу Пала Эрдёша — рассказываем, что произошло в мире ИИ за последнее время
Facebook* и Instagram* будут сканировать фото и видео, чтобы находить детей, которые скрыли свой возраст
Можно ли заниматься NLP, если при словах «производная» и «матрица» хочется закрыть ноутбук? Да — если изучать математику не абстрактно, а через реальные задачи. Объясняем, какие разделы действительно нужны джуну,…