Полный вариант статьи ищите на сайте АРБУЗ - занимательный мир

Космические овалы Кассини

Напомним определение эллипса – это плоская фигура, у которой для каждой точки сумма расстояний от двух фиксированных точек (полюсов) постоянна. От соотношения расстояний между фокусами и этой суммы расстояний (или от соотношения полуосей) можно получить разные фигуры – от круга до (постепенно сплющиваясь) вырождения в линию.

Занимательные задачи, связанные с эллипсом основаны на его отражательных свойствах – лучи, выйдя из одного фокуса, обязательно соберутся в другом. А если не из фокуса? У Мартина Гарднера рассматривается бильярдный стол в форме эллипса. Так вот, если послать шар так, чтобы он не пересек отрезок между фокусами, то он так и будет кататься, не пересекая этот отрезок, заметая поверхность вокруг воображаемого эллипса меньших размеров. Если же послать шар (из произвольной точки) так, чтобы он пересек отрезок между фокусами эллипса, то он так и будет двигаться, каждый раз пересекая этот отрезок и касаясь двух воображаемых ветвей гипербол с фокусами в фокусах эллипса. Желающие могут реализовать эту забаву в виде программы.

А еще можно в уравнении эллипса x2 / a2 + y 2 / b 2 = r 2 попробовать поменять показатель степени, брать не 2, а от 0 до, предположим, 10, прорисовать совместно и проследить, как меняется форма от ромба до прямоугольника.

Пока на время распрощаемся с эллипсом. Теперь представьте любителя математики рассматривающего определение эллипса… Вполне естественно, что у него мелькнет мысль – а что, если постоянным будет не сумма расстояний от двух точек, а их произведение? Не поленитесь, попробуйте – напишите формулы расстояний от текущей точки с координатами x, y до фокусов (-а,0) и (а,0), перемножьте их и попробуйте привести полученное уравнение четвертой степени к «красивому» виду. Это уравнение и соответствует так называемым овалам Кассини. Знаете почему?

в 1680 Джовани Кассини изучал кривую Кассиниану, которая является геометрическим местом точек, чье произведение расстояний от двух фиксированных фокусов постоянно. Он работал над этой кривой в процессе изучения относительных движений Земли и Солнца и предложил это как кривая для планетарных орбит подходит больше, чем эллипс, предложенный Кеплером. Открытая чуть позже лемниската Якоба Бернулли была частным случаем овала Кассини, но это не было осознано математиками в течение ста лет.

Итак, мы записали произведение расстояний от двух фокусов:

 где a – половина расстояния между фокусами, а b 2 – и есть величина этого самого произведения. После раскрытия скобок и приведения подобных членов мы получим уравнение овалов в классическом виде:

Теперь мы можем проделать опыт, который мы делали в статье про улитку Паскаля – перенесем свободный член влево от знака равенства, но приравняем полученный многочлен не нулю, а некоторой переменной k, из которой мы получим значения красной, синей и зеленой составляющей цвета. Запуcтив процесс в цикле по координатам x и y, мы сразу получим потрясающий рисунок.

Рассмотрим получившуюся картинку. Мы видим на ней как обычные овалы при движении от периферии к центру начинают сужаться, появляется утоньшение посередине и потом перемычка, потом рисунок распадается на две части. Все эти кривые и есть семейство овалов Кассини. А вид их зависит от соотношения параметров a и b.

При значениях b > a * sqr(2) фигура выпуклая как эллипс.

При b =а* sqr (2)появляются прямые участки, фигура имеет вид как на рисунке слева.

При а < b < a * sqr(2) появляется вогнутая перемычка с четырьмя точками перегиба.

При a = b перемычка смыкается, полученная фигура называется лемнискатой Бернулли.

При a > b фигура разваливается на два овала.

То есть, на нашем первом рисунке мы сразу получили все семейство овалов Кассини.

С чего же мы начнем наши попытки нарисовать овалы Кассини по настоящему, чтобы поиграть с ними? Для рисования функции необходимо или явно выразить одну переменную через другую – но для этого пришлось бы решать уравнение четвертой степени, либо задать обе координаты в параметрическом виде – мне не встретилось нигде такое представление овалов Кассини. Или же, третий вариант, нарисовать все в полярных координатах, тем более что формула относительно не сложная:

r 2



 

Причем, сразу начнем с экспериментов – нарисуем не один овал, а в цикле будем менять параметр a (напомню - половина межфокусного расстояния). И результат:

 

Обратите внимание, как «расползался» овал от окружности (а=0) до Лемнискаты Бернулли (a = b ). И код этого чуда с глазами и ушами:

Оба подкоренных выражения вынесены в отдельные вспомогательные переменные с проверкой на положительность, впрочем, это технические мелочи.

Обратите внимание на раскраску – красная, синяя и зеленая составляющие привязаны к параметру f – центральному углу, что и дает радужные радиальные полосы. Можно было привязаться и к текущему радиусу или к комбинации угла и радиуса, попробуйте сами. А мы пока зададимся естественно вытекающим из предыдущего опыта вопросом – а что, если менять в цикле не фокусные расстояния, а радиус (точнее значение произведения двух радиусов), или, в наших обозначениях, переменную b. Сказано – сделано:

 

 

Мы снова получили, как и на первом рисунке семейство овалов Кассини с фиксированными фокусами. Доработка кода была минимальной – вместо цикла по переменной а (межфокусное расстояние) запустили цикл по переменной b (произведение радиусов). Вот и код:

Все ли хорошо? Нет… смущает пустота в распавшихся на две части зонах…  Цикл специально прерывался (точнее, начинался) при значении a = b, ибо при попытке прорисовать распадающиеся части выявляются неопознанные артефакты:

 

Рисунок, конечно, сам по себе красивый, но мы-то движемся к намеченной цели, а тут – неизвестно что. (Код такой же, как и в предыдущем случае, только внешний цикл имеет вид «For b = a To 0 Step -6»). Во-первых – не прорисованы внутренние зоны обоих овалов, а во-вторых – непонятные вылезания «наружу». Как избавиться от глюков? Первая мысль – неправильно отрабатывает синус, ибо, кто же винит в первую очередь себя? Потом станет стыдно за такие мысли… Но что делать? Морщим лоб, чешем репу в наивной попытке озарения…

Ну, конечно же – надо брать оба знака после вычисления квадратного корня, а у нас был предусмотрено только положительное значение… засучиваем рукава и… так и есть – начали прорисовываться внутренние области. В программе это реализовано вводом вспомогательных переменных k и j, которые постоянно меняют свой знак, а так, как мы проверяем знак подкоренного выражения, то к ошибке это не приводит, зато выводит внутренние области овалов. Для избавления от «вылезаний наружу» тоже находится средство – при построении развалившихся областей надо давать ограничения по полярному углу.

Но в Visual Basic’e (и в других популярных языках программирования) нет арксинуса, есть только арктангенс. Поэтому формулу чуть-чуть дорабатываем и имеем желанный результат:

 

Вот они, эти глаза из космоса, в виде кода:

Естественно, что при определении границ существования углов надо не забыть и о втором овале, обычно о нем вспоминают после первого «одноглазого» рисунка. Для достоверности пришлось ввести коэффициент 0,42 – так как формула была приведена для овала единичного радиуса без учетов нашего масштаба.

Что еще интересного, спросите далее? Есть красивые продолжения. Дело в том, что рассмотренные овалы с двумя фокусами всего лишь частный случай овалов Кассини, обобщенных на произвольное количество фокусов. Это обобщение открыл и исследовал в 1843 году Серрет (Serret)  и он же назвал все множество именем великого астронома.

 

 

И код программы:

Хотелось бы извиниться за использование одной и той же буквы, но думаю ясно, что в последних формулах «а» – это не межфокусное расстояние, как раньше, а масштабный коэффициент, учитывающий, что формулы даны для единичного радиуса. Тут же даем количество фокусов n равное трем:

 

 

И не в силах остановиться… это то же вихрь, который захватывает при рисовании циклоид и фигур Лиссажу, например, даем n=1.5

 

 

 

Все, усилием воли останавливаем эти чудесные опыты.

Еще три красивых, этюдных, момента.

Лемниската Бернулли

Лемнискату Бернулли можно определить как геометрическое место точек, для которых произведение расстояний от двух фокусов равно квадрату половины расстояния между фокусами. Великий физик описал эту «похожую на 8 поверхность» в своей статье Acta Eruditorumon, вышедшей в 1694 году. К сожалению, он не знал, что его лемниската – частный случай овалов, описанных Кассини четырнадцатью годами ранее.

Лемнискату Бернулли можно также рассматривать как частный случай циссоиды. Определения циссоиды давать не будем, лучше сразу рассмотрим на примере.

Выберем точку О, отстоящую от центра окружности с единичным радиусом на расстояние sqrt(2) и проведем из нее линию, пересекающую окружность в точках Q1 и Q2. Теперь сдвинем отрезок Q1Q2 вдоль линии до совмещения точки Q1 с точкой О. При движении отрезка точка Q2 будет рисовать циссоиду, в данном случае лемнискату Бернулли.

Спросите, чему равна площадь одного крыла бабочки лемнискаты Бернули? Если а – половина фокусного расстояния, то S = a2(!!!) без всяких там Пи и прочих коэффициентов, словно это обычная квадратная табуретка!

Вот простейший пример лемнискаты Бернулли

А знаете ли вы, какая фигура получится при разрезании тора (бублика)? Правильно – овалы Кассини.

И последней не совсем серьезной темой, имеющей отдаленное отношение к овалам Кассини, будет теория яиц. Или, точнее, яйцевидных поверхностей. Собственно, поверхностью они станут после вращения вокруг продольной оси, а пока займемся поисками самого подходящего сечения. Самый простой способ – в определении эллипса ввести поправочку и рассматривать постоянство суммы расстояний от двух фокусов, но с учетом того, что расстояние от одного из фокусов умножается на постоянный коэффициент. Не поленитесь, попробуйте вывести уравнение яйцевидного эллипса и прорисовать при разных значениях искажающего коэффициента. Вряд ли вы найдете более интересное и востребованное времяпрепровождение. Куры должны быть благодарны аналитической геометрии. (Уравнение получится, предупреждаю, громоздким. По этой же причине не получилось исказить таким же образом овалы Кассини, хотя очень хотелось попробовать)

Разработаны различные методики яйцевидного искажения эллипсов. Одна из них задается уравнением (в символах Бейсика) X ^2+(1.4x*1.6*y)2 =1 для круга единичного радиуса, или равно R2 в общем случае, откуда Y = sqr(R2 - X2 )/( R *1.6*1.4x ). В общем-то, коэффициент 1.4 сразу вызвал подозрение, и решено было менять его в цикле, как показали опыты, от 1 до 1.007 с шагом 0.001, что вы и видите на картинке.

 

А вот и код этого набора яиц. Переменная n вспомогательная для раскраски.

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

 

Реклама