Архивы: по дате | по разделам | по авторам

Роз узор

Архив
автор : Евгений Скляревский   18.09.2001

Перефразируя французскую поговорку "Кто сам пилит свои дрова, согревается дважды", Жак Арсак как-то заметил: "Кто сам программирует свои игрушки, наслаждается дважды!" Процесс программирования циклоид несложен и увлекателен, достаточно "пройтись" в цикле по формулам...

Перефразируя французскую поговорку «Кто сам пилит свои дрова, согревается дважды», Жак Арсак как-то заметил: «Кто сам программирует свои игрушки, наслаждается дважды!» Процесс программирования циклоид несложен и увлекателен, достаточно «пройтись» в цикле по формулам:

X = Int((R1 + R2) * Cos(R2 * T/R1) - R3 * Cos((R1 + R2) / R1 * T))

Y = Int((R1 + R2) * Sin(R2 * T/R1) - R3 * Sin((R1 + R2) / R1 * T))

Здесь R1 - радиус круга, по которому катится колесо, R2 - радиус колеса, катящегося по кругу (если с минусом, то внутри него), R3 - радиус, на котором лежит рисуемая точка на колесе, Т - счетчик цикла, он же полярный угол, на котором лежит центр колеса в данный момент. Создадим форму с кнопками управления (кому лень - пишите, вышлю) и насладимся игрушкой, оторваться от которой невозможно. Если R3=R2, имеем частный случай точки на ободе колеса, при увеличении R3 (реборда) появляются петли, при уменьшении - траектория сглаживается, вырождаясь при R3=0 в круг. Это большое удовольствие - менять R3 и наблюдать сказочные узоры. Дальше - вспомним о наименьшем общем кратном двух чисел. Если R2 равен трети R1, то нарисуется три лепестка, если четверти, то четыре, что не так интересно. Но если задать R1=120 и R2=32, то циклоида нарисует пятнадцать лепестков, обойдя по кругу четыре раза.

Так происходит потому, что до наименьшего общего кратного чисел 120 и 32 (оно равно 480) первому из них не хватает множителя 4, а второму - 15. Задание взаимно простых R1 и R2 (120 и 29) приведет к сплошному замазыванию траектории, так как лепестки никогда не наложатся друг на друга. Самые красивые картинки получаются при «слегка» некратных радиусах, например, 120 и 27, 120 и 35, 120 и 55, 120 и 56. Сразу же можно рисовать и с отрицательными значениями R2, проверяя те же закономерности внутри круга с разными значениями R3.

А как изменится картинка, если поменять знак у R3? И еще вопрос (из книги Ст. Барра «Россыпи головоломок». - М.: Мир, 1987): точка на колесе с радиусом, в шесть раз меньшим, чем радиус круга, внутри которого оно катится, нарисует шесть арок. А что нарисует точка на колесе с радиусом, равным 5/6 радиуса круга? Подскажу - на два последних вопроса ответ одинаков.

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

© ООО "Компьютерра-Онлайн", 1997-2024
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.