проект:    архи.всё -> энтропия
   Flash ActionScript и странные аттракторы
Центр Исследования Хаоса Энтропия
Архитектурный журнал
прессслужба


Лекции
Строительство

 

Я уже как-то рассказывал и показывал, как работает сервер приложений Cold Fusion от Macromedia. Но вот, опять встречаю человека, а он мне и говорит: "А-а-а, флэшки? Это которые картиночки про Масяньку?". Елы-палы, объясняю для детей природы…

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

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

Вот так вот под шумок у нас на компьютерах и поселилась самая что ни на есть операционная среда Flash и виртуальная Flash-машина.

Изначально Flash работал только под MS Windows и Mac OS. Благодаря фирме Sun Flash был портирован под X-Windows, то есть на Solaris, IRIX, BSD, Linux. Количество установленных Flash-плееров приблизительно равно количеству установленных браузеров, которые, в свою очередь, в любом случае сопутствуют графическим оболочкам, таким как KDE. Короче, на сегодня вероятность встретить на персональном компьютере Flash-плеер составляет около 86%, и то последние 14% относятся к "только что установленным", на которые плагин просто не успел попасть.

Конечно же, первую роль играет красивая анимация — но, заметьте, сетевая анимация. То есть поддерживается доступ к сетевым ресурсам для загрузки данных и изображений. Конечно, все это ограничено довольно специфичными рамками, но главное — есть доступ к серверам приложений. А значит, все, что нельзя сделать, локально можно делегировать серверу. И в этом заключается прикол, так и должны работать сетевые приложения.

Важен и фактор компактности самого плеера, который на сегодня не превышает 400 Кб для большинства платформ. Такой плеер легко встроить в любой смартфон или хэндхэлд. Сравните с виртуальной машиной Java даже в минимальной версии. Конечно же, на стороне Java — мощность и богатство платформы, но у этой мощности имеются не только стороники, но и противники. Есть же люди, платящие суммы как за супермощные джипы, так и за маломощные и экологичные автомобильчики — и последних все больше. Так и в программировании: для изучения всех иерархий классов и разработки новых иерархий в Java может понадобиться много месяцев. А задача за это время может быть решена на Flash — и при том, заметьте, серверная часть будет портабельной и инвариантной, так что тут даже больше гибкости и правильности. О том, что фронт-энд будет красивее на Flash, можно и не говорить — конечно, если под рукой есть про-дизайнер с руками в нужном месте.

 

Ладно, хватит чесать блох — переходим к практике дзен. Практику нам раздали такую: создать портабельное, интерактивное, распределенное приложение. Причем никаких масянек, никаких летающих пингвинов — что-то из мира науки, что-то из математики. Что-то, что бы могло показать, что Flash может использоваться в качестве калькулятора.

 

Задачка: странные аттракторы (очень краткий курс)

Придумал, а точнее — вспомнил. Есть в мире математики такие популярные вещи, как странные аттракторы. Это когда что-то там движется странно. Как известно, когда решаешь дифуру, то в простом случае получается что-то такое периодическое, или не совсем — ну, короче, что-то не странное. Поведение простого колебатора одно из трех: либо затухает, либо выходит на орбиту (тупо аппроксимирует к ней), либо вообще входит в резонанс (само с собой — одна часть уравнения с другой) и разрывает все к ежам, как говорится — "движущиеся части системы выходят из наблюдаемой области". Во втором случае колебатор называют осциллятором.

 

Ага, нету такого слова колебатор? Ну о'кей, считайте меня автором — с момента публикации у меня на это слово все права.

 

А потом обнаруживается, что некоторые системы колбасятся по непонятному закону — то есть не видно, где у него период. Одним из простых странных колебаторов является система, описываемая уравнением Дюффинга:

 

dx/dt=dfy, dy/dt = x-x3 — c*y + A*cos(w*t)

 

Как видите (ну, типа видите), тут в наличие источник суеты в виде какого-то внешнего колебатора A*cos(w*t) и "гальмо" (энергетическая утечка, в механике — трение) в виде -c*y и, плюс к этому, еще какая-то гадость, описывающая закон движения точки в пространстве в зависимости от времени. Есть несложная физическая интерпретация — но она нам сейчас без интереса. Хотите — почитайте здесь: {www.mcasco.com/pattr1.html}.

 

Да, так вот, при некоторых параметрах получаем достаточно замысловатое движение. Странно ведут себя как координата x, так и скорость y. Вот как выглядит, например, жужжание хаотического шмеля.

Координата и скорость точки в хаотическом режиме

Для прикольности можно построить график зависимости x от y — красиво видно, как и куда сходится поведение системы с течением времени.

 

 

Скорость как функция координаты

Больше таких картинок вы можете увидеть на сайте, с которого было взято это изображение — линк в конце статьи. Я нарочно взял независимые результаты, чтобы потом сравнить их с собственными, тут никакой ошибки. Интерактивную версию можно посмотреть здесь: {http://theory2.phys.cwru.edu/~pete/java_chaos/DuffingApplet.html}.

 

Есть еще вариант: отмечать на графике только точки в одной фазе колебатора возбуждения. Это именно и есть странный аттрактор. Там такой кисель смешной образуется — называется подковообразное преобразование. По этим картинкам определять странность вообще просто. Посмотреть на странный аттрактор "в натуре" в виде gif-анимации можно по адресу: {www.sekine-lab.ei.tuat.ac.jp/~kanamaru/Chaos/e/Animation/duffing.html}.

 

Что нас будет интересовать, это то, при каких параметрах проявляется странное поведение. Само поле параметров является слегка глючным: при одних параметрах проявляется странность аттрактора, при других (даже бесконечно близких) — как и не бывало, налицо отвратительная и нежелательная гармония. Вот и постараемся, по крайней мере графически, отобразить области, где странность проявляется, а также области, где таких странностей нет.

 

Числовые методы в одно касание

Как видим, перед нами дифференциальное уравнение второго порядка. Для этого случая есть старые и миллион раз проверенные числовые методы интегрирования. На самом деле там все проще, чем кажется: вычисления производятся методом "а почему бы и нет" — то есть берется начальная точка и как бы немного аппроксимируется первыми членами разложения Эйлера к следующей в предположении, что это не черт знает где, а где-то рядом. Ну, то есть y[i+1]=y[i]+dy.

 

  . страницы:
1  >
2  
3  
4  
5  
  . содержание:
       архи. трансформер ( развернуть и cвернуть )
      
  . архи.поиск:
  . архи.другое:
проект Которосль
  . архи.дизайн:
 
  Семён Расторгуев ©  рaдизайн ©


    © Арсений Чеботарев, {"Комиздат"}


    © 2007—2015, проект АрхиВсё,  ссылайтесь...
Всё.