Four To The Floor Four To The Floor
Elementary+
EN Russian UK

Миссия создана при поддержке компании Ajax.

В 2011 году Ajax Systems была лишь амбициозной идеей. Сегодня наши системы безопасности продаются в 90 странах и защищают более 350 тыс. человек. За последние 3 года компания выросла в 30 раз и уже реализовала более двух миллионов устройств. Каждое разработано, произведено и протестировано в Киеве.

Ajax, как система, это не просто набор датчиков и централи, а удобные и красивые приложения, которые помогают пользователям настраивать систему и управлять...

Когда речь заходит о необходимости детекции движения, в нашем распоряжении имеются самые разные типы датчиков, имеющих общую черту - они отслеживают изменения состояния среды в "поле зрения". Если задуматься не просто о фиксировании движения в целом, но о детекции появления/движения человека, можно быстро прийти к мысли о том, что оптимальным решением был бы такой тип датчика, который регистрирует изменения какой-либо характеристики, свойственной как человеку, так и окружающей его среде. И такая характеристика есть. Любой объект с ненулевой (по шкале Кельвина) температурой испускает тепловое излучение. Инфракрасное излучение, в свою очередь, является частью общего спектра теплового излучения. Плотность потока излучения зависит от типа объекта, его площади и температуры. Хотя человеческий глаз не воспринимает инфракрасное излучение, оно, тем не менее, довольно интенсивное. Если поднести сбоку ладонь к чашке с горячим кофе, то тепло, которое можно почувствовать, и демонстрирует наглядно мощность теплового (инфракрасного) излучения.

room

На детекции инфракрасного излучения PIR-системы (освещения и/или безопасности) и работают. Представим себе закрытую комнату и PIR-датчик, установленный на потолке и "смотрящий" вниз. Поскольку все объекты излучают тепловую энергию, все предметы в комнате создают относительно постоянный фоновый уровень инфракрасного излучения, который регистрируется датчиком. Довольно часто PIR-системам повышают порог чувствительности для того, что они не реагировали, например, на домашних животных. Но даже с учётом повышенного порога чувствительности система способна распознать появление человека в поле видимости датчика, поскольку человеческое тело, в среднем, испускает тепловое излучение мощностью ~1кВт, поэтому, когда человек оказывается в поле видимости датчика, система регистрирует значительное увеличение теплового излучения и реагирует, например, уведомляя пользователя о проникновении или включая свет.


PIR sensor


Теперь мы можем перейти непосредственно к задаче этой миссии. Даются размеры комнаты и список PIR-датчиков, установленных на потолке. Требуется определить, вся ли комната входит в зону видимости датчиков (вернуть True) или нет (вернуть False). Нижний левый угол прямоугольника (комнаты) совпадает с точкой начала координат O, верхний правый угол определяется длиной W и шириной H. Каждый датчик определяется координатами xi и yi точки, где он установлен, и его радиусом действия Ri.

Входные данные: Два аргумента:

  • список, содержащий значения длины и ширины комнаты (целочисленные) [W, H]
  • список, содержащий информацию координаты и радиусы датчиков (целочисленные)
    [[xi, yi, Ri], [xi+1, yi+1, Ri+1], ....., [xn, yn, Rn]]

Выходные данные: True or False.

Примеры:

is_covered([200, 150], [[100, 75, 130]]) == True                                   #example #1
is_covered([200, 150], [[50, 75, 100], [150, 75, 100]]) == True                    #example #2
is_covered([200, 150], [[50, 75, 100], [150, 25, 50], [150, 125, 50]]) == False    #example #3

PIR sensor

Предварительные условия:
Все заданные параметры комнаты и датчиков являются целочисленными.

  • if (int - 10e-6 < f < int + 10e-6) then (f == int)
  • H ∈ (0; 1000]
  • W ∈ [H; 4*H]
  • xi ∈ [0; W]
  • yi ∈ [0; H]
  • Ri ∈ (0; 1600]
  • n ∈ [1; 10]
You should be an authorized user in order to see the full description and start solving this mission.