2015-04-16 13:55:54
... удобно пользоваться колдунщиком, переходы между ... столкнулись, улучшая колдунщик цветов, представляет ...
+ развернуть текстсохранённая копия
Если вы когда-нибудь задавались вопросом, какого цвета бедро испуганной нимфы, недоумевали, о каком таком «перванше» идёт речь в любимой книге, или хотели перекодировать нужный оттенок из RGB в HSV, вы уже наверняка знакомы с колдунщиком цветов Яндекса. Если нет, то вот он, просим любить и жаловать.
Колдунщик цветов появился в 2008 году. К нему быстро привыкли: кому-то он помогал в работе, кому-то просто нравилось вращать барабан и узнавать о существовании цветов вроде «бисмарк-фуриозо». Но летом прошлого года страница результатов поиска поменяла интерфейс, и некоторыми возможностями пришлось временно пожертвовать — в том числе и колдунщиком цветов. Зато вернулся он в улучшенном виде.
Старый колдунщик знал 234 цвета. В новом их стало 1010: мы взяли за основу несколько существующих списков именованных цветов (это те, за которыми закреплены конкретное название и координаты в стандартных цветовых моделях вроде RGB) и добавили несколько оттенков, названия для которых придумали сами. Теперь нужно было разложить эти цвета по порядку — чтобы людям было удобно пользоваться колдунщиком, переходы между соседними цветами должны быть плавными. Надо ли говорить, что это оказалось и сложнее, и интереснее, чем мы думали.
Так выглядел наш набор цветов до сортировки.
Вручную выстроить эти цвета в плавную последовательность практически невозможно. Один и тот же цвет на глаз воспринимается по-разному — в зависимости от его окружения. Когда меняешь расположение одного цвета, нужно передвигать и другие. Местоположение одних только оттенков синего можно выверять до бесконечности. Очевидно, что эту задачу нужно решать математически.
В упрощенном виде её можно сформулировать так: нужно нанизать 1010 цветов на нитку — так, чтобы получившиеся бусы максимально плавно меняли окрас. Тут необходимо учитывать, что нитка одномерная, а все модели цветового пространства как минимум трёхмерны. Это связано с физиологией человеческого зрения. Фоторецепторы, с помощью которых мы различаем цвета, — колбочки — делятся на три типа, по чувствительности к разным длинам волн света. Первые интенсивно реагируют на фиолетово-синюю часть спектра, вторые — на зелёно-жёлтую, третьи — на жёлто-красную. Например, если раздражены два последних типа рецепторов, то мы видим жёлтый цвет, если только последние — красный.
Такая физиология человеческого восприятия отражена в цветовой модели RGB. Это трёхмерное пространство, заданное осями, по которым увеличивается интенсивность красной (red), зеленой (green) и синей (blue) компонент. Поместить наши цвета в это пространство никакой проблемы не составляет — их координаты известны. Проблема — в плавности переходов от одного цвета к другому.
Чтобы переход был плавным, две соседние «бусины» должны минимально отличаться по цвету — для человеческого восприятия. Это уточнение не такое очевидное, каким кажется. Логично предположить, что чем меньше один цвет отстоит от другого в математической модели, тем меньше они отличаются на глаз. Значит, необходимо найти такое расположение для нашей нитки, чтобы между последовательными бусинами-цветами было наименьшее расстояние. Это верный ход мысли, но не для всякой цветовой модели.
Цветовые пространства большинства моделей, в том числе и RGB, не однородны для нашего восприятия. Другими словами, человеческим глазом один и тот же сдвиг по осям координат ощущается по-разному в разных цветовых регионах. Если взять два цвета — например, красный и тёмно-зеленый — и изменить их координаты так, чтобы сдвиг по всем трём осям был равным и параллельным, то на глаз разница между красным и получившимся тёмно-красным будет больше, чем между тёмно-зеленым и тёмно-тёмно-зеленым. Это значит, что если мы найдем математический алгоритм, который по оптимальному маршруту обойдёт все интересующие нас объекты такого цветового пространства и нанижет их на одномерную нитку, то для человеческого глаза изменение её окраса не будет равномерным — а мы-то хотели добиться именно этого.
Одна из моделей, в которых визуальная однородность достигается математическими средствами, назвается CIELAB — в ней-то мы и решали нашу задачу. По своему устройству CIELAB принципиально отличается от RGB: оси координат в ней задают яркость и две пары противоположных цветов (красный — зеленый, синий — жёлтый).
Итак, мы поместили наши 1010 цветов в пространство, где геометрическое расстояние между цветами соответствует восприятию разницы между ними. Теперь нам осталось обойти их так, чтобы расстояние между каждыми двумя последовательными элементами было бы минимальным.
Тут напрашивается решение с помощью алгоритма «ближайшего соседа»: выбираем точку, которая к нам ближе всего, добравшись до неё, ищем новую ближайшую точку и так далее. Однако алгоритм «ближайшего соседа» решает только локальную задачу, игнорируя картину в целом. Представьте себе архипелаг, острова которого разбросаны так же неравномерно, как 1010 цветов в нашем пространстве. Если путешествовать по ним, каждый раз двигаясь к ближайшему острову, мы в результате рискуем очень скоро оказаться, например, на южном краю архипелага, оставив не охваченными еще десять островов на севере. Тогда нам придется совершить длинный перелет, или, в нашем случае, — резкий переход от одного цвета к другому. Так что это решение нам не подходит.
Задача, с которой мы столкнулись, улучшая колдунщик цветов, представляет собой частный случай одной из самых известных задач комбинаторной оптимизации — задачи коммивояжёра. В классическом виде она заключается в том, чтобы найти самый короткий маршрут, который позволил бы коммивояжёру хотя бы раз оказаться в каждом из городов в его списке, а в конце пути вернуться в исходную точку. Правда, мы имели дело не с плоской картой, а с трёхмерным пространством, но в остальном картина похожа: коммивояжёру предстояло посетить пляж Бонди, пески пустыни, горный луг, Мичиганский университет и ещё 1006 пунктов и при этом пройти по оптимальному маршруту. Как и для большинства классических задач, для задачи коммивояжёра существуют готовые алгоритмы оптимизации. Применив их к нашему случаю, мы получили вот такой цветной путь коммивояжёра в 3D.
Теперь повторить путь коммивояжёра в цветовом пространстве CIELAB вы можете на странице результатов поиска. Просто поищите, например, [цвет Яндекса].
В воскресенье, 22 февраля, в Лос-Анджелесе состоится церемония вручения премии «Оскар». Узнать, кто номинирован на премию, и посмотреть трейлеры интересных фильмов вы можете прямо в результатах поиска Яндекса — с помощью тематического колдунщика, который отвечает на связанные с «Оскаром» запросы: [кто получил оскар], [лучшая мужская роль], [оскар 2015] и так далее.
Некоторые фильмы, претендующие на «Оскар», сейчас идут в российском прокате. Найти расписание сеансов и купить билеты на них тоже можно на странице результатов поиска.
2015-02-13 14:01:05
... мы запустили интерактивный колдунщик, который поможет вам ... .png"/> Колдунщик срабатывает в поиске ...
+ развернуть текстсохранённая копия
День всех влюблённых — один из немногих праздников, когда можно дарить и получать подарки одновременно. И хотя подарок — штука приятная, его же нужно сначала выбрать, а это целое дело. Если вы до сих пор ломаете над этим голову, спросите совета у Яндекса. Специально к 14 февраля мы запустили интерактивный колдунщик, который поможет вам и с подарками, и с программой на вечер.
Колдунщик срабатывает в поиске по запросам [день святого валентина], [подарки на 14 февраля], [куда сходить на день святого валентина] или, например, [песни о любви]. Яндекс.Маркет подскажет идеи для подарков, Яндекс.Город поможет найти магазин цветов и ресторан для романтического ужина, а тематические плейлисты Яндекс.Музыки создадут нужную атмосферу в любой ситуации.
Если праздничного настроения нет и не спасают даже подарки, то, как писал классик, кино — это всегда выход из положения. Выбрать фильм тем, кто не следит за новинками проката, поможет наша инфографика. Мы проанализировали интересы пользователей КиноПоиска и выяснили, какие фильмы из тех, что идут в кино 14 февраля, больше интересовали мужчин, а какие — женщин.
Какой фильм выбрать, решать вам. А где его можно посмотреть в вашем городе, подскажет Яндекс.Афиша.
Новый год — время отдыха и веселья. Но попробуй тут отдохни, когда нужно нарядить ёлку, купить подарки, организовать праздничный стол и найти интересные занятия на долгие выходные. Чтобы помочь вам разобраться в предпраздничной суматохе, мы запустили новогодний колдунщик в поиске Яндекса. С его помощью вы можете узнать, что подарить, что приготовить, что послушать и куда сходить на Новый год. Просто спросите об этом у Яндекса.
Колдунщик появляется по поисковым запросам вроде [что подарить на новый год], [салаты на новый год] или [куда сходить на новый год]. На разные запросы отвечают разные сервисы Яндекса — те, которые могут помочь в решении задачи лучше всего. Например, в ответ на запрос [елки 1914 кино] Яндекс.Афиша покажет расписание сеансов и подскажет, какие ещё фильмы сейчас идут в кино. А Яндекс.Билеты помогут выбрать сеанс и купить билет прямо на странице результатов поиска.
Мы постарались собрать в колдунщике подсказки и готовые решения для всех новогодних дел. Например, вкладка «Подарки» поможет выбрать, что подарить маме, другу или коллегам на Новый год. Определились с подарками — в «Видеорецептах» можно посмотреть, как приготовить популярные новогодние блюда, а в «Одежде» — выбрать платье для праздничной ночи. Вкладка «Музыка» поможет с подборками новогодних песен, а «Развлечения» подскажут, какие места и события стоит посетить в праздничные дни января.
2014-10-07 13:25:42
... Яндекса запустился специальный колдунщик, посвящённый Формуле- ... с помощью колдунщика можно будет ...
+ развернуть текстсохранённая копия
До первого в современной истории России Гран-при Формулы-1 осталось всего несколько дней. Уже в эту пятницу трасса в Олимпийском парке Сочи примет свободные заезды пилотов, которые выйдут на старт гонки 12 октября. Мы не могли оставить без внимания событие такого масштаба и приготовили кое-что интересное для поклонников автоспорта. Сегодня в поиске Яндекса запустился специальный колдунщик, посвящённый Формуле-1:
Это настоящий спецпроект внутри поиска. По запросам вроде [формула-1 сочи] или [гран-при россии] вы увидите в поисковой выдаче интерактивный ответ, который позволит изучить трассу, проверить расписание заездов или узнать результаты квалификации. Запросы с названиями команд или именами гонщиков покажут объектный ответ — карточку пилота или команды с небольшой справкой о них.
Гран-при продолжается три дня и состоит из трёх этапов: свободные заезды, квалификация и собственно гонка. Все эти события будут появляться в колдунщике по мере того, как они происходят, со ссылками на онлайн-трансляции и результатами каждого этапа. Во время гонки с помощью колдунщика можно будет узнавать положение пилотов на трассе, а после финиша — посмотреть видео лучших моментов. А в разделе «Трасса» вы можете сами оказаться за рулём болида и проехать по «Сочи Автодрому».
Посмотрев на трассу глазами гонщика, вы можете выбраться из болида и совершить виртуальную прогулку по сочинской трассе с помощью панорам на Яндекс.Картах. Зайти в гараж команды или, например, побывать на главной трибуне. Для этого мы сняли почти 12 километров трассы и служебных дорог на автодроме. Получилось больше 2000 фотографий, из которых склеили более 500 панорам.
Российский этап Формулы-1 вызывает большой интерес у пользователей Яндекса. Многие запросы касаются трассы и расписания заездов, и мы надеемся, что наш новый колдунщик поможет вам найти нужные ответы.