Флэш-приложения: механика — различия между версиями

Материал из Department of Theoretical and Applied Mechanics
Перейти к: навигация, поиск
Строка 1: Строка 1:
''На этой странице располагаются простые [http://ru.wikipedia.org/wiki/Adobe_Flash флэш]-приложения, демонстрирующие интересные процессы, относящиеся к [[механика|механике]] и смежным областям знаний.''
+
''На этой странице располагаются простые [[Флэш-программирование|флэш]]-приложения, демонстрирующие интересные процессы, относящиеся к [[механика|механике]] и смежным областям знаний.''
  
 
== Случайное блуждание ==
 
== Случайное блуждание ==
Строка 79: Строка 79:
 
</source>
 
</source>
 
</toggledisplay>
 
</toggledisplay>
 
 
== Другие страницы на сайте, использующие флэш-приложения ==
 
*[[Флэш-приложения: техника программирования]]
 
*[[Balls: flash application]]
 
*[[Пшенов Антон. Курсовой проект по теоретической механике]]
 
 
== Средства разработки флэш-приложений ==
 
 
Разработка ведется на языке [http://ru.wikipedia.org/wiki/ActionScript ActionScript] 3.0.
 
Для работы необходимо установить:
 
 
* Бесплатная среда разработки [https://e.mail.ru/cgi-bin/msglist?back=1#readmsg?id=13560394230000000699&folder=0 FlashDevelop 4.2.2]
 
* Комплект средств разработки (SDK) [http://www.adobe.com/devnet/flex/flex-sdk-download-all.html Adobe Flex SDK 4.6]
 
 
== Справочные материалы ==
 
 
* Справочные данные и обучение от разработчика (Adobe): [http://help.adobe.com/ru_RU/as3/learn/index.html рус], [http://help.adobe.com/ru_RU/as3/learn/index.html eng]
 
* [http://easyflash.org/ easyflash.org]: флэш-уроки на русском языке
 
* [http://racer242install.blogspot.ru/2008/04/flashdevelop-300-beta6-flex-sdk-3.html Советы по установке FlashDevelop]
 
  
 
== См. также ==
 
== См. также ==
  
 +
*[[Флэш-программирование]]
 +
*[[Программирование и моделирование в Интернет]]
 
*[[Интересные ссылки]]
 
*[[Интересные ссылки]]
 
*[http://www.ibiblio.org/e-notes/webgl/webgl.htm WebGL examples]
 
*[http://www.ibiblio.org/e-notes/webgl/webgl.htm WebGL examples]
 +
  
 
[[Category: flash]]
 
[[Category: flash]]
 
[[Category: Механика]]
 
[[Category: Механика]]

Версия 01:38, 27 января 2013

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

Случайное блуждание

Случайное блуждание — процесс, состоящий из последовательного суммирования случайных шагов. Имеет огромное количество приложений в самых различных областях знаний — например броуновское движение частицы в жидкости или колебания цен на бирже. Ниже представлена простейшая модель двумерного случайного блуждания — на каждом шаге к координатам точки с равной вероятностью добавляется -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>

См. также