Дорожня розмітка
Слова та символи, намальовані на дорогах, повинні бути видовженими, оскільки водії бачать дороги під кутом. Наприклад, використовуючи рисунок нижче, інженер з безпеки використовує припущений рівень очей над дорогою h і визначає, яким великим символ повинен здаватися на відстані d від позиції водія. Видимий розмір виражається як кутовий розмір поля зору водія, α. Дорога (горизонтальна лінія на рисунку) вважається ідеально рівною.
Зовнішній вигляд знака для водія має бути таким, ніби він розташований у площині, позначеній P на рисунку, повністю заповнюючи поле зору. Площина перпендикулярна до пунктирної лінії від очей водія до точки на відстані d вздовж дороги від позиції водія. Звісно, точка на знаку, яка "віртуально" знаходиться в цій площині, насправді знаходиться на покритті в точці, де лінія від очей водія через точку в площині перетинає дорогу. Таким чином, знак на покритті заповнить область, позначену "знак" на рисунку. Іншими словами, масштабуйте максимальне значення y до 100% від P, а менші значення y до відповідних відсотків від P, і відобразіть відповідну довжину відстані, позначеної "знак" на рисунку.
Напишіть програму, яка надасть інформацію для підготовки трафарету для малювання знаків на дорогах, враховуючи h, d, α та опис "не розтягнутого" символу. Опис символу надається у вигляді послідовності точок у декартовій системі координат так, щоб "не розтягнутий" символ можна було намалювати, "з'єднуючи точки" — намалюйте лінію від першої точки до другої, потім до третьої і так далі, і нарешті намалюйте лінію назад до першої точки. Наприклад, стрілка, що вказує водієві їхати прямо в смузі з символом, може виглядати як фігура, показана ліворуч, яка задається шляхом надання координат семи точок, позначених P0 до P6. Пунктирні лінії представляють осі X та Y, а крапкові лінії представляють контур фігури. Технік, який вимірює не розтягнутий символ, вирівнює його так, щоб найлівіша точка(и) торкалася осі Y, а найнижча точка(и) торкалася осі X.
Горизонтальна перспектива символу не коригується; змінюються лише значення y для точок у символі.
Вхідні дані
Буде розглянуто довільну кількість випадків. Вхід для кожного випадку починається з одного рядка, що містить три дійсні числа h, d та α, і ціле число n, розділені пробілами. h та d надаються в метрах, а α надається в градусах. Цей рядок слідує за n рядками, кожен з яких містить два дійсні числа x та y, що представляють декартові координати точки в символі, який потрібно намалювати. n ніколи не буде більше ніж 20.
Вхід для останнього випадку слідує за рядком, що містить чотири нулі.
Вихідні дані
Для кожного вхідного випадку спочатку відобразіть рядок, що містить номер випадку (1, 2, …). Після цього відобразіть один рядок, що містить координати x та y для кожної точки в розтягнутому символі. Відобразіть два знаки після десяткової точки в кожному значенні x та y. Відступіть кожен з цих рядків на три (3) пробіли, поставте один пробіл між значеннями x та y, і не залишайте пробілів після значення y. Відобразіть порожній рядок після виводу для кожного випадку. Дотримуйтесь формату зразка виводу.