- PVSM.RU - https://www.pvsm.ru -

Реверс-инжиниринг комикса xkcd

Около недели назад Рэндел Манро опубликовал комикс Frequency [1], в котором различные надписи моргают с частотой, которая примерно соответствует частоте этих событий в реальном мире: рождение, смерть, биение сердца, свадьба, кто-то разбивает экран iPhone, житель Европы впервые целуется и т.д. Красивая пульсирующая картина на самом деле состоит из 50 анимированных файлов GIF.

Один из любителей творчества Манро задался вопросом [2]: сколько времени занимает полный цикл у всех кадров? Для этого он скачал файлы GIF, написал собственный GIF-парсер — и зафиксировал цикл каждого файла. Результаты показаны в таблице ниже: планируемый цикл в секундах, планируемое количество показов в час, реальный цикл в секундах и реальное количество показов в час.

Для 21 картинки планируемый показатель отличается от реального, потому что ни один современный браузер [3] не поддерживает задержку фрейма менее 0,02 с. Если такая встречается, то браузер просто заменяет задержку на 0,1 с.

loop_seconds per_hour needs_adj loop_seconds_adj per_hour_adj
name
birth 0.24 15000.00 * 0.34 10588.24
death 0.56 6428.57 * 0.66 5454.55
domain 0.64 5625.00 * 0.74 4864.86
wikipedia 0.67 5373.13 * 0.77 4675.32
wedding 0.75 4800.00 * 0.85 4235.29
shark 0.83 4337.35 * 0.93 3870.97
heartbeat 0.86 4186.05 * 0.96 3750.00
turnsignal2 0.90 4000.00 * 1.00 3600.00
iphone 0.93 3870.97 * 1.03 3495.15
flight 0.93 3870.97 * 1.03 3495.15
turnsignal1 0.94 3829.79 * 1.04 3461.54
car_elsewhere 1.03 3495.15 * 1.13 3185.84
phoenixshoes 1.08 3333.33 * 1.18 3050.85
meteor 1.15 3130.43 * 1.25 2880.00
littleleague 1.23 2926.83 * 1.33 2706.77
bottles 1.27 2834.65 * 1.37 2627.74
denverpizza 1.27 2834.65 * 1.37 2627.74
ndsex 1.38 2608.70 * 1.48 2432.43
pulsar 1.40 2571.43 * 1.50 2400.00
cat_mockingbird 1.82 1978.02 * 1.92 1875.00
car_china 1.89 1904.76 * 1.99 1809.05
phoenix 2.05 1756.10 2.05 1756.10
tattoo 2.06 1747.57 2.06 1747.57
earthquake1 2.43 1481.48 2.43 1481.48
keys 2.43 1481.48 2.43 1481.48
eagle 2.69 1338.29 2.69 1338.29
vibrator 2.99 1204.01 2.99 1204.01
car_japan 4.01 897.76 4.01 897.76
facebook 4.32 833.33 4.32 833.33
recycled 4.64 775.86 4.64 775.86
bieber 4.73 761.10 4.73 761.10
kiss 5.53 650.99 5.53 650.99
car_germany 5.80 620.69 5.80 620.69
house 6.22 578.78 6.22 578.78
car_us 6.95 517.99 6.95 517.99
dogbite 7.01 513.55 7.01 513.55
amelia 7.79 462.13 7.79 462.13
parliament_toilet 10.06 357.85 10.06 357.85
dog 15.60 230.77 15.60 230.77
us_cancer 18.99 189.57 18.99 189.57
cat 21.30 169.01 21.30 169.01
fire_dept 23.00 156.52 23.00 156.52
earthquake2 24.26 148.39 24.26 148.39
bike 24.93 144.40 24.93 144.40
book_mockingbird 42.05 85.61 42.05 85.61
us_cancer_death 54.34 66.25 54.34 66.25
holeinone 180.00 20.00 180.00 20.00
earthquake3 242.60 14.84 242.60 14.84
earthquake4 2426.00 1.48 2426.00 1.48
oldfaithful 5640.00 0.64 5640.00 0.64

Пять самых частых событий.

Реверс инжиниринг комикса xkcd

Реверс инжиниринг комикса xkcd

Реверс инжиниринг комикса xkcd

Реверс инжиниринг комикса xkcd

Реверс инжиниринг комикса xkcd

Пять самых редких событий.

Реверс инжиниринг комикса xkcd

Реверс инжиниринг комикса xkcd

Реверс инжиниринг комикса xkcd

Реверс инжиниринг комикса xkcd

Реверс инжиниринг комикса xkcd

Частота каждого события представлена на теплокарте. Чем темнее цвет — тем чаще случается событие.

Реверс инжиниринг комикса xkcd

Самые редкие события — это землетрясения с магнитудой 4 и фонтанирование гейзера Old Faithful (цикл 94 минуты).

Автор: alizar

Источник [4]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/news/55808

Ссылки в тексте:

[1] Frequency: https://xkcd.com/1331/

[2] задался вопросом: http://notebooks.jsvine.com/reverse-engineering-xkcd-frequency/

[3] ни один современный браузер: http://nullsleep.tumblr.com/post/16524517190/animated-gif-minimum-frame-delay-browser-compatibility

[4] Источник: http://habrahabr.ru/post/213745/