{
  "id": "P09-C03",
  "title": "Проектор 80″: геометрия комнаты до установки",
  "kind": "board",
  "brand": "ПОНЯТНО / ПРОЕКЦИЯ",
  "role": "Рич-контент с расчётной геометрией",
  "objective": "Проверить геометрию экрана 80 дюймов формата 16:9 при дистанции 2,2 м.",
  "problem": "Указание «80 дюймов» не показывает ширину свободной стены. Дистанция сама по себе не гарантирует такой размер у любого объектива.",
  "choice": "Вычислила диагональ в миллиметрах и стороны по отношению 16:9. Для дистанции 2200 мм вывела требуемое проекционное отношение примерно 1,24; его нужно сравнить с характеристиками конкретного проектора.",
  "result": "Готов размерный лист: диагональ 2032 мм, ширина 1771 мм, высота 996 мм после округления. Расчёт показывает требование к оптике, а не обещание яркости.",
  "limit": "Световой поток и поведение на солнце не проверены. Геометрия предполагает экран 16:9 без учёта рамки и монтажных допусков.",
  "panels": [
    {
      "mode": "photo",
      "title": "Рабочая сцена в затемнении",
      "items": [
        "Экран 16:9",
        "Дистанция 2,2 м",
        "Фокус вручную"
      ],
      "caption": "Солнечная стена не используется для обещаний."
    },
    {
      "mode": "floorplan",
      "title": "Экран 80″ в пропорции 16:9",
      "roomWidth": 1771,
      "roomHeight": 996,
      "boxes": [
        {
          "x": 0,
          "y": 0,
          "w": 1771,
          "h": 996,
          "label": "80″ · 16:9",
          "kind": "clear"
        }
      ],
      "caption": "Контур построен в едином масштабе. Стороны округлены до миллиметра."
    },
    {
      "mode": "table",
      "title": "Проверяемый расчёт",
      "headers": [
        "Величина",
        "Формула",
        "Результат"
      ],
      "rows": [
        [
          "Диагональ",
          "80 × 25,4",
          "2032 мм"
        ],
        [
          "Ширина",
          "2032 × 16 / √337",
          "1771 мм"
        ],
        [
          "Высота",
          "2032 × 9 / √337",
          "996 мм"
        ],
        [
          "Отношение",
          "2200 / 1771",
          "≈ 1,24"
        ]
      ],
      "caption": "Округление сторон — до миллиметра."
    }
  ],
  "table": {
    "headers": [
      "Параметр",
      "Значение"
    ],
    "rows": [
      [
        "Диагональ",
        "2032 мм"
      ],
      [
        "Ширина",
        "1771 мм"
      ],
      [
        "Высота",
        "996 мм"
      ],
      [
        "Проекционное отношение",
        "≈ 1,24"
      ]
    ]
  },
  "extraFiles": [
    {
      "file": "geometry.js",
      "label": "Расчёт геометрии",
      "mimeType": "text/javascript",
      "content": "const diagonal=80*25.4,width=diagonal*16/Math.sqrt(337),height=diagonal*9/Math.sqrt(337);console.log({diagonal,widthMm:Math.round(width),heightMm:Math.round(height),requiredThrowRatio:2200/width});\n"
    },
    {
      "file": "calculator.js",
      "label": "Исходник расчёта",
      "mimeType": "text/javascript",
      "content": "function calculate(diagonal,distance){if([diagonal,distance].some(v=>!Number.isFinite(v)||v<=0))return \"Введите положительные числа.\";const d=diagonal*25.4,w=d*16/Math.sqrt(337),h=d*9/Math.sqrt(337);if([d,w,h,distance/w].some(v=>!Number.isFinite(v)||v<=0)||w<0.5||h<0.5)return 'Значения вне расчётного диапазона.';return 'Экран: '+Math.round(w)+' × '+Math.round(h)+' мм. Требуемое проекционное отношение: '+(distance/w).toFixed(2)+'. Сравните с паспортом объектива.';}\nif(typeof module!==\"undefined\")module.exports={calculate};"
    }
  ],
  "interactiveHTML": "<section class=\"box\"><h2>Расчёт экрана 16:9</h2><label>Диагональ, дюймы <input type=\"number\" min=\"0.01\" step=\"0.1\" id=\"diagonal\" value=\"80\"></label> <label>Дистанция, мм <input type=\"number\" min=\"0.01\" step=\"0.1\" id=\"distance\" value=\"2200\"></label> <p><button id=\"calc\">Рассчитать</button></p><output id=\"answer\" aria-live=\"polite\"></output><script src=\"calculator.js\"></script><script>document.getElementById(\"calc\").onclick=()=>document.getElementById(\"answer\").textContent=calculate(Number(document.getElementById(\"diagonal\").value),Number(document.getElementById(\"distance\").value));document.getElementById(\"calc\").click();</script></section>"
}
