Как работает сравнение роста
Добавьте человека — и он появится на графике силуэтом, высота которого равна его настоящему росту в том масштабе, в котором сейчас нарисован график. Добавьте второго — оба перерисуются вместе, и две фигуры встанут ровно в том же отношении, в каком стоят их значения роста. Добавьте ещё восемнадцать — ничего не изменится: график станет шире и начнёт прокручиваться, но никого не сплющит, чтобы освободить место.
Всё управление слева. Имя — потому что график из неподписанных фигур превращается в загадку. Мужской или женский силуэт, который меняет форму и никогда не меняет высоту. Рост в сантиметрах или в футах с дюймами, смотря в чём вы привыкли думать. Цвет, чтобы конкретного человека было легко найти, когда их уже десять. Любого можно исправить или убрать, и график, линейка, сводка и разница обновятся сразу.
Никуда ничего не отправляется. Весь инструмент — это JavaScript в вашем браузере, поэтому он продолжает работать, даже если после загрузки страницы пропадёт интернет.
Как сравнить рост двух человек
Для самого частого случая — двое, один вопрос — есть «Быстрое сравнение» с готовыми парами, либо добавьте обоих сами. Когда на графике ровно двое, под ним появляется панель с разницей в обеих системах единиц, и в ней названо, кто именно выше. Фраза строится из значений роста, а не из порядка ввода, поэтому если вы первым ввели того, кто ниже, предложение не читается задом наперёд.
Пример. Шесть футов — это 6 × 30,48 = 182,88 см. Пять футов восемь дюймов — 5 × 30,48 + 8 × 2,54 = 172,72 см. Разница равна 182,88 − 172,72 = 10,16 см, то есть ровно четыре дюйма. На графике высотой 420 пикселей с линейкой до 200 см первая фигура рисуется на 384 пикселя, вторая — на 363: двадцать один пиксель разницы оценить глазом куда проще, чем представить себе «четыре дюйма».
Больше двух человек — и панель исчезает, потому что «выше» перестаёт иметь единственный ответ. Вместо неё работает сводная таблица под графиком: рост каждого в обеих системах единиц. Её же читает программа экранного доступа, и она же остаётся при печати.
Футы и дюймы в сантиметры
Оба перевода, на которых держится страница, — это определения, а не измерения, поэтому они точны в обе стороны. Международный дюйм с 1959 года равен ровно 2,54 см, а фут — это двенадцать дюймов, то есть ровно 30,48 см.
Формула простая: сантиметры = футы × 30,48 + дюймы × 2,54. В обратную сторону: разделить на 2,54, чтобы получить дюймы целиком, вынести целые футы делением на двенадцать, остаток — это дюймы.
Единственное место, где нужна аккуратность, — округление. 182,5 см — это 5 футов и 11,85 дюйма, и округление до ближайшего дюйма обязано дать 6′0″, а не 5′12″. Калькулятор переносит разряд сам, поэтому запись вроде «5 футов 12 дюймов» здесь появиться не может.
Вот значения, которые вводят чаще всего: 5′0″ — 152,4 см, 5′4″ — 162,56 см, 5′7″ — 170,18 см, 5′10″ — 177,8 см, 6′0″ — 182,88 см, 6′1″ — 185,42 см. И обратно: 160 см — это 5′3″, 165 см — 5′5″, 170 см — 5′7″, 175 см — 5′9″, 180 см — 5′11″, 190 см — 6′3″.
Рост хранится в сантиметрах, как бы вы его ни ввели, и переводится только в момент показа. Это важнее, чем кажется: инструмент, который хранил бы «5 и 10» и переводил при каждой перерисовке, накапливал бы округление, и у того, кто ввёл 177,8 см, значение постепенно превратилось бы в 178.
Как на самом деле выглядит разница в росте
Большинство людей плохо представляет себе названную разницу — именно поэтому страница рисует, а не печатает. Несколько ориентиров, которые полезно держать в голове.
Два с половиной сантиметра (дюйм) почти не видно, когда люди стоят порознь, и хорошо видно, когда они встали спиной к спине. Пять сантиметров — примерно то, что даёт обувь на толстой подошве. Десять сантиметров — заметная ступенька на фотографии: уровень глаз одного оказывается на уровне бровей другого. Пятнадцать сантиметров — тот, кто ниже, уже смотрит снизу вверх во время разговора. Тридцать — расстояние между взрослым среднего роста и десятилетним ребёнком.
График показывает это, а не описывает. Разница в 15 см между двумя взрослыми выглядит скромно; те же 15 см между ребёнком в 90 см и ребёнком в 105 см — это шестая часть всей фигуры, и выглядит она огромной. Оба прочтения верны, и разницу между ними как раз и показывает пропорциональный рисунок, которого пара чисел дать не может.
Как считается высота на экране
На графике один масштаб, и только он решает, какой высоты нарисована любая фигура. Масштаб равен высоте области графика в пикселях, делённой на верх линейки в сантиметрах; высота фигуры равна её росту, умноженному на этот масштаб.
Верх линейки задаётся самым высоким человеком: его рост округляется вверх до ближайших 10 см плюс примерно 6% запаса, чтобы макушка не упиралась в потолок, и никогда не опускается ниже 200 см — иначе график из одних детей перестал бы читаться как ростомер. Добавьте кого-то выше — линейка поднимется, масштаб уменьшится, и все перерисуются вместе. Картинка отъезжает; пропорции не двигаются.
Пример: самый высокий — 190 см, значит линейка идёт до 210 см, и при высоте графика 420 пикселей масштаб равен 2 пикселям на сантиметр. Тогда 190 см — это 380 пикселей, 180 см — 360, 150 см — 300. И 180 ÷ 150 = 1,2, и 360 ÷ 300 = 1,2: отношение на экране равно отношению в жизни, ради чего всё и затевалось.
Это утверждение выдерживает встречу с настоящим браузером благодаря двум вещам. Первая: фигура масштабируется по обеим осям одним и тем же числом, поэтому человек выше нарисован и пропорционально шире. Растянуть модель только по вертикали было бы самым простым способом сделать такую страницу — и это была бы ложь. Вторая: каждая фигура ставится от ступней, а не от головы. Рисунок сдвигается вниз на высоту графика минус собственную высоту фигуры, и подошвы всех фигур оказываются на одной линии с точностью до пикселя при любом росте.
Оба свойства проверяются автоматическими тестами проекта на целом наборе размеров графика и пар роста, а не на глаз: «фигуры вроде бы похожи на правду» — это не проверка.
Что показывают силуэты, а что нет
Силуэты — нейтральные фигуры обычных художественных пропорций: голова составляет примерно одну семь с половиной часть роста. Мужская и женская формы отличаются плечами, талией и бёдрами. Нарисованы они векторно, поэтому остаются чёткими при любом размере и ничего не весят.
Чем они не являются — так это телом. Двое людей одного роста могут сильно отличаться соотношением ног и корпуса, сложением и осанкой, и график ничего про это не знает.
Выбор пола — решение про рисунок, и на высоту он не влияет вообще. Переключите человека в 170 см с одного силуэта на другой — фигура будет нарисована ровно на ту же высоту, и это видно по линейке.
Ссылка и сохранение картинки
«Поделиться» собирает ссылку, внутри адреса которой лежит всё сравнение — имена, рост, пол и цвета. Открыв её где угодно, человек получит тот же график: ни учётной записи, ни базы данных для этого не нужно.
Каждое значение проверяется заново при открытии. Ссылка, обрезанная мессенджером или исправленная вручную, откроет пустой график, а не приведёт к чему-нибудь странному.
«Скачать график» сохраняет PNG: фигуры, имена, значения роста, линейку и линию пола на чистом фоне. Картинка собирается из того же рисунка, который вы видите на экране, поэтому пропорции в файле — те же, что и в браузере.
Чего страница не делает
Эта страница сравнивает рост, который вы ввели. Она не определяет рост по фотографии, не предсказывает будущий рост ребёнка и не знает, какого роста тот или иной конкретный человек. Сравнение ровно настолько хорошее, насколько хороши два измерения в нём, а названный самим человеком рост чаще всего завышен на пару сантиметров. Если ответ важен, мерьте без обуви, пятки вместе, спиной к стене.
Рост к тому же непостоянен. Почти у всех утром он больше, чем вечером, — примерно до 2 см, потому что за день межпозвонковые диски сжимаются. Это больше многих разниц, ради которых сюда и приходят, и это стоит знать, прежде чем считать разрыв в один сантиметр установленным фактом.