Флэш-приложения: механика
На этой странице располагаются простые флэш-приложения, демонстрирующие интересные математические или физические процессы.
Содержание
Случайное блуждание
Случайное блуждание — процесс, состоящий из последовательного суммирования случайных шагов. Имеет огромное количество приложений в самых различных областях знаний — например броуновское движение частицы в жидкости или колебания цен на бирже. Ниже представлена простейшая модель двумерного случайного блуждания — на каждом шаге к координатам точки с равной вероятностью добавляется -1, 0 или 1. Для наглядности также случайно меняется цвет точки.
play=true|height=640|width=800</flash> |
Со случайным блужданием связано много интересных математических фактов, скажем, в двумерном случае вероятность возвращения точки в исходное положение — единица, а матожидание времени возвращения — бесконечность. В трехмерном случае вероятность возвращения уже меньше единицы. Ниже представлены реализации того же приложения в меньших окнах, позволяющие сравнить несколько случайных блужданий.
play=true|height=320|width=400</flash> | play=true|height=320|width=400</flash> | play=true|height=320|width=400</flash> |
Текст программы на языке ActionScript 3.0 (разработчики А. Кривцов, А. Пшенов): <toggledisplay status=hide showtext="Показать↓" hidetext="Скрыть↑" linkstyle="font-size:default">
package { import flash.display.Shape; import flash.display.Sprite; import flash.events.Event; public class Main extends Sprite { public var start : Number = 0; public var d : Number; public function Rand() : Number { return Math.floor(3 * Math.random()) - 1; } public function RandomWalk(e:Event) : void { if (start == 0) { start = 1; d = 10; x = stage.stageWidth / 2; y = stage.stageHeight / 2; } else { x = x + d * Rand(); y = y + d * Rand(); if (x < 0) x = x + stage.stageWidth; if (x > stage.stageWidth) x = x - stage.stageWidth; if (y < 0) y = y + stage.stageHeight; if (y > stage.stageHeight) y = y - stage.stageHeight; } var s : Shape = new Shape(); var colour : uint = Math.floor(Math.random() * 0xffffff); s.graphics.beginFill(colour, 1); s.graphics.drawRect(x, y, d-1, d-1); stage.addChild(s); } public function Main():void { stage.addEventListener(Event.ENTER_FRAME, RandomWalk); } } }
</toggledisplay>
Другие страницы на сайте, использующие флэш-приложения
Средства разработки флэш-приложений
Разработка ведется на языке ActionScript 3.0. Для работы необходимо установить:
- Бесплатная среда разработки FlashDevelop 4.2.2
- Комплект средств разработки (SDK) Adobe Flex SDK 4.6