Флэш-приложения: механика — различия между версиями
(Новая страница: «''На этой странице располагаются простые флэш-приложения, демонстрирующие интересные мат...») |
Wikiadmin (обсуждение | вклад) м (Замена текста — «</syntaxhighligh>» на «</syntaxhighlight>») |
||
(не показано 20 промежуточных версий 5 участников) | |||
Строка 1: | Строка 1: | ||
− | ''На этой странице располагаются простые флэш-приложения, демонстрирующие интересные | + | [[ТМ|Кафедра ТМ]] > [[Программирование]] > [[Программирование и моделирование в Интернет|Интернет]] > [[Флэш-программирование|Флэш]] > '''Механика''' <HR> |
+ | [[Кафедра ТМ]] > [[Интересные ссылки]] > '''Механика''' <HR> | ||
+ | |||
+ | '''''На этой странице располагаются простые [[Флэш-программирование|флэш]]-приложения, демонстрирующие интересные процессы, относящиеся к [[механика|механике]] и смежным областям знаний.''''' | ||
== Случайное блуждание == | == Случайное блуждание == | ||
− | [http://ru.wikipedia.org/wiki/%D0%A1%D0%BB%D1%83%D1%87%D0%B0%D0%B9%D0%BD%D0%BE%D0%B5_%D0%B1%D0%BB%D1%83%D0%B6%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5 Случайное блуждание] — процесс, состоящий из последовательного суммирования случайных шагов. Имеет огромное количество приложений в самых различных областях знаний — например [http://ru.wikipedia.org/wiki/%D0%91%D1%80%D0%BE%D1%83%D0%BD%D0%BE%D0%B2%D1%81%D0%BA%D0%BE%D0%B5_%D0%B4%D0%B2%D0%B8%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5 броуновское движение] частицы в жидкости или колебания цен на бирже. Ниже представлена простейшая модель двумерного случайного блуждания — на каждом шаге к координатам точки с равной вероятностью добавляется -1, 0 или 1. Для наглядности также случайно меняется цвет точки | + | [http://ru.wikipedia.org/wiki/%D0%A1%D0%BB%D1%83%D1%87%D0%B0%D0%B9%D0%BD%D0%BE%D0%B5_%D0%B1%D0%BB%D1%83%D0%B6%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5 Случайное блуждание] — процесс, состоящий из последовательного суммирования случайных шагов. Имеет огромное количество приложений в самых различных областях знаний — например [http://ru.wikipedia.org/wiki/%D0%91%D1%80%D0%BE%D1%83%D0%BD%D0%BE%D0%B2%D1%81%D0%BA%D0%BE%D0%B5_%D0%B4%D0%B2%D0%B8%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5 броуновское движение] частицы в жидкости или колебания цен на бирже. Ниже представлена простейшая модель двумерного случайного блуждания — на каждом шаге к координатам точки с равной вероятностью добавляется -1, 0 или 1. Для наглядности также случайно меняется цвет точки. |
{| class="simple" border="1" | {| class="simple" border="1" | ||
Строка 11: | Строка 14: | ||
Со случайным блужданием связано много интересных математических фактов, скажем, в двумерном случае вероятность возвращения точки в исходное положение — единица, а [http://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D1%82%D0%BE%D0%B6%D0%B8%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5 матожидание] времени возвращения — бесконечность. | Со случайным блужданием связано много интересных математических фактов, скажем, в двумерном случае вероятность возвращения точки в исходное положение — единица, а [http://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D1%82%D0%BE%D0%B6%D0%B8%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5 матожидание] времени возвращения — бесконечность. | ||
− | В трехмерном случае вероятность возвращения меньше единицы. Ниже представлены реализации того же приложения в меньших окнах, позволяющие сравнить несколько случайных блужданий. | + | В трехмерном случае вероятность возвращения уже меньше единицы. Ниже представлены реализации того же приложения в меньших окнах, позволяющие сравнить несколько случайных блужданий. |
<br style="clear: both" /> | <br style="clear: both" /> | ||
Строка 22: | Строка 25: | ||
<br style="clear: both" /> | <br style="clear: both" /> | ||
− | == | + | Текст программы на языке [http://ru.wikipedia.org/wiki/ActionScript ActionScript] 3.0 (разработчики [[А. Кривцов]], [[А. Пшенов]]): <toggledisplay status=hide showtext="Показать↓" hidetext="Скрыть↑" linkstyle="font-size:default"> |
+ | <syntaxhighlight lang="as3" line start="1" enclose="div"> | ||
+ | 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); | ||
+ | } | ||
+ | |||
+ | } | ||
+ | |||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | </toggledisplay> | ||
== См. также == | == См. также == | ||
− | *[[ | + | *[[Флэш-программирование]] |
+ | *[[Программирование и моделирование в Интернет]] | ||
+ | *[http://www.ibiblio.org/e-notes/webgl/webgl.htm WebGL examples] | ||
+ | |||
+ | |||
+ | [[Category: Программирование]] | ||
+ | [[Category: flash]] | ||
+ | [[Category: Механика]] |
Текущая версия на 13:55, 9 марта 2015
Кафедра ТМ > Программирование > Интернет > Флэш > МеханикаКафедра ТМ > Интересные ссылки > Механика
На этой странице располагаются простые флэш-приложения, демонстрирующие интересные процессы, относящиеся к механике и смежным областям знаний.
Случайное блуждание[править]
Случайное блуждание — процесс, состоящий из последовательного суммирования случайных шагов. Имеет огромное количество приложений в самых различных областях знаний — например броуновское движение частицы в жидкости или колебания цен на бирже. Ниже представлена простейшая модель двумерного случайного блуждания — на каждом шаге к координатам точки с равной вероятностью добавляется -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">
1 package
2 {
3 import flash.display.Shape;
4 import flash.display.Sprite;
5 import flash.events.Event;
6
7 public class Main extends Sprite
8 {
9 public var start : Number = 0;
10 public var d : Number;
11
12 public function Rand() : Number
13 {
14 return Math.floor(3 * Math.random()) - 1;
15 }
16
17 public function RandomWalk(e:Event) : void
18 {
19 if (start == 0)
20 {
21 start = 1;
22 d = 10;
23 x = stage.stageWidth / 2;
24 y = stage.stageHeight / 2;
25 }
26 else
27 {
28 x = x + d * Rand();
29 y = y + d * Rand();
30 if (x < 0) x = x + stage.stageWidth;
31 if (x > stage.stageWidth) x = x - stage.stageWidth;
32 if (y < 0) y = y + stage.stageHeight;
33 if (y > stage.stageHeight) y = y - stage.stageHeight;
34 }
35
36 var s : Shape = new Shape();
37
38 var colour : uint = Math.floor(Math.random() * 0xffffff);
39 s.graphics.beginFill(colour, 1);
40
41 s.graphics.drawRect(x, y, d-1, d-1);
42
43 stage.addChild(s);
44 }
45
46 public function Main():void
47 {
48 stage.addEventListener(Event.ENTER_FRAME, RandomWalk);
49 }
50
51 }
52
53 }
</toggledisplay>