Дорожная разметка
Слова и символы, нарисованные на дорогах, должны быть вытянуты, так как водители видят их под углом. Например, на рисунке ниже инженер по безопасности использует предполагаемую высоту глаз над дорогой 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. Выведите пустую строку после вывода для каждого случая. Следуйте формату примера вывода.