TGViewer
Зачем мне эта математика Зачем мне эта математика @practicum_math · 16.5K subscribers
Post #814 4.2K
Как устроены QR-коды❓

Спасибо всем, кто вчера прошёл нашу мини-викторину! Было приятно видеть много правильных ответов. Теперь рассказываем подробнее, какая математика скрывается в чёрно-белых квадратиках.

🟢Двумерное кодирование

QR-код устроен как матрица из чёрных и белых модулей. Чтобы сканер не запутался, где верх и низ, в углах есть большие маркеры, а внутри — синхронизирующие линии. Каждый квадрат модуля кодирует 0 или 1. Такая система координат позволяет «поставить сетку» и правильно считать биты информации.

🟢От битов к многочленам

Чтобы хранить текст или ссылку, одних нулей и единиц мало — нужны способы защитить данные от ошибок. И здесь в дело вступает высшая математика. Информация в QR-коде представляется как последовательность чисел, а они, в свою очередь, — как коэффициенты многочлена. Приведём пример:

Сообщение «HELLO» можно легко превратить в многочлен: M(x) = 72x⁴ + 69x³ + 76x² + 76x + 79. Коэффициенты здесь — это ASCII-коды букв.

Текст «ABC» тоже может стать многочленом: 65 + 66x + 67x², в котором ASCII-коды A, B, C — 65, 66 и 67, соответственно.

В реальных QR-кодах преобразование текста выполняется не так прямолинейно. Но идея кодирования именно та. И появилась она, потому что с многочленами удобно работать в рамках конечных полей.


🟢Конечное поле

Его ещё называют полем Галуа, по имени Эвариста Галуа. Это система чисел, в которой сложение, умножение и деление замкнуты внутри ограниченного набора элементов. Например, поле из 256 элементов — GF(256) — выбирают
для работы с байтами.

В QR-кодах вычисления тоже происходят в GF(256). Из этого поля берут коэффициенты многочленов, и арифметика становится очень эффективной. Числа складываются и умножаются «по модулю», так что даже при ошибках восстанавливается строгая структура.


🟢«Страховочные» коэффициенты

Или, по-другому, контрольные символы. Их добавляют к исходному многочлену M(x), чтобы QR-код был устойчив к повреждениям. Это делают с помощью кодов Рида–Соломона:

Если у вас есть многочлен степени k–1, то для его однозначного восстановления достаточно знать его значения в k точках. А если вы знаете его значения в большем числе точек, то даже при потере части из них многочлен можно восстановить.

В QR-коде данные «записываются» в виде значений многочлена в разных точках конечного поля. А дальше сканер решает обратную задачу: восстанавливает многочлен по частично повреждённым данным.

Этот процесс напоминает интерполяцию: как если бы вы знали несколько точек на параболе и могли восстановить всю кривую. Современные QR-коды можно восстановить при повреждении до 30% площади!


🟢Комбинаторика масштабов

Даже небольшой QR-код на 21×21 модуль содержит миллиарды комбинаций. А более крупные версии уходят в масштабы чисел, сопоставимых с количеством атомов во Вселенной.

Так что каждый раз, когда ваш телефон безошибочно считывает QR-код с потрёпанной временем и погодой афиши, он фактически решает задачу алгебраической интерполяции в конечном поле.

Правда, иногда технология может оказаться избыточной. Яркий пример — QR-часы: вместо времени они показывают код, который нужно отсканировать, чтобы узнать, который час. Полезно разве что в мире без смартфонов.


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

#как_устроено
  • ❤ 23
  • 🔥 18
  • 🤓 5
More from @practicum_math
  1. Sep 25, 2026В третьей главе «Дома Бернулли» мы рассказали, как Даниил и его отец Иоганн оказались сопе…
  2. Sep 23, 2026Продолжение семейной саги Бернулли. Сегодня узнаем, как зависть передаётся по наследству.…
  3. Sep 21, 2026Академическая династия, построенная на... зависти 🤯 Чем дольше изучаешь математику, тем,…
  4. Sep 17, 2026Несмотря на объективную простоту вчерашней задачи, она интереснее, чем кажется на первый в…
  5. Sep 16, 2026Post #1154
  6. Sep 16, 2026Включайте звук и выигрывайте миллион решайте на время. Уверены, вы справитесь. Голосовать…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →