Спирограф - это игрушка, которая рисует гипотрохоиды и эпитрохоиды. Для этой задачи мы просто сосредоточимся на гипотрохоидах.
Из Википедии :
Гипотрохоид - это рулетка, отслеживаемая точкой, прикрепленной к окружности радиуса r, катящейся внутри неподвижной окружности радиуса R , где точка - это расстояние d от центра внутренней окружности.
Параметрические уравнения для них могут быть определены как:
Где θ - угол, образованный горизонталью и центром круга качения.
Ваша задача - написать программу, которая нарисует путь, пройденный точкой, определенной выше. В качестве входных данных вы получите R , r и d , все целые числа от 1 до 200 включительно.
Вы можете получить этот ввод из стандартного ввода, аргументов или пользовательского ввода, но его нельзя жестко запрограммировать в программе. Вы можете принять его в любой удобной для вас форме; в виде строк, целых чисел и т. д.
Предполагать:
- Единицы ввода даны в пикселях.
- R > = r
Выходными данными должно быть графическое представление гипотрохоида, определенного входными данными. ASCII- или другой текстовый вывод не допускается. Это изображение может быть сохранено в файл или отображено на экране. Включите скриншот или изображение вывода для ввода по вашему выбору.
Вы можете выбрать любые цвета для траектории / фона, с учетом ограничения контраста. Два цвета должны иметь компонент «Значение» HSV как минимум на половине шкалы. Например, если вы измеряете ВПГ от [0...1]
, должна быть как минимум 0.5
разница. Между [0...255]
ними должна быть минимальная 128
разница.
Это код гольфа, выигрывает минимальный размер исходного кода в байтах.
R>=r
, но d
не ограничен r
и может находиться где угодно в диапазоне 1-200.
R=200, r=1, d=200
. Вы можете изменить размер изображения для ввода, если хотите, или оставить его в постоянном размере, пока все это видно.
R > r
илиR ≥ r
? (То же самое дляr
иd
.)