Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые обзорные » Побудова траєкторії Броунівського руху

Реферат Побудова траєкторії Броунівського руху





Color: = clBlack;

PaintBox.Canvas.Rectangle (0,0,400,400);

PaintBox.Canvas.Brush.Color: = clBlue;

PaintBox.Canvas.Pen.Color: = clBlue;

Randomize;

// визначення початкового положення частинок

for i: = 1 to N do

begin

// початкові координати

mol [i]. x: = RandomRange (R, PaintBox.Width-R);

mol [i]. y: = RandomRange (R, PaintBox.Height-R);

// початкове напрямок руху

mol [i]. angle: = Random (360) * Pi/180;

mol [i]. speed: = RandomRange (1, Vmax);

// Cоставляющие руху частки по осях

mol [i]. Vx: = Round (mol [i]. Speed ​​* Sin (mol [i]. Angle));

mol [i]. Vy: = Round (mol [i]. Speed ​​* Cos (mol [i]. Angle));

// вивід на екран

PaintBox.Canvas.Ellipse (mol [i]. x-R, mol [i]. y-R, mol [i]. x + R, mol [i]. y + R);

end;

Run: = True;

repeat

for i: = 1 to N do

begin

// стираємо молекулу

PaintBox.Canvas.Brush.Color: = clBlack;

PaintBox.Canvas.Pen.Color: = clBlack;

PaintBox.Canvas.Ellipse (mol [i]. x-R, mol [i]. y-R, mol [i]. x + R, mol [i]. y + R);

// обробка зіткнення

for j: = 1 to n do

if j <> i then

begin

// визначаємо зіткнення молекули

if sqrt (sqr (mol [i]. x-mol [j]. x) + sqr (mol [i]. y-mol [j]. y)) <2 * R +1 then

begin

temp: = mol [i]. Vx; mol [i]. Vx: = mol [j]. Vx; mol [j]. Vx: = temp;

temp: = mol [i]. Vy; mol [i]. Vy: = mol [j]. Vy; mol [j]. Vy: = temp;

end;

end;

// зсуваємо на нову позицію.

mol [i]. x: = mol [i]. x + mol [i]. Vx;

mol [i]. y: = mol [i]. y + mol [i]. Vy;

// перевірка на вихід за межі області

if mol [i]. x> PaintBox.Width-R then

begin

mol [i]. x: = PaintBox.Width-R;

mol [i]. Vx: =-mol [i]. Vx;

end;

if mol [i]. x

begin

mol [i]. x: = R;

mol [i]. Vx: =-mol [i]. Vx;

end;

if Mol [i]. Y> PaintBox.Height-R then

begin

mol [i]. y: = PaintBox.Height-R;

mol [i]. Vy: =-mol [i]. Vy;

end;

if mol [i]. y

begin

mol [i]. y: = R;

mol [i]. Vy: =-Mol [i]. Vy;

end;

// вивід на екран

PaintBox.Canvas.Brush.Color: = clBlue;

PaintBox.Canvas.Pen.Color: = clBlue;

PaintBox.Canvas.Ellipse (mol [i]. x-R, mol [i]. y-R, mol [i]. x + R, mol [i]. y + R);

Application.ProcessMessages;

end;

sleep (5);

Application.ProcessMessages;

if run = false then break;

until false;

end;

procedure TForm1.Button2Click (Sender: TObject);

begin

Run: = False;

end;

end.

{

// temp: = mol [i]. Vx; mol [i]. Vx: = mol [j]. Vx; mol [j]. Vx: = temp;

// temp: = mol [i]. Vy; mol [i]. Vy: = mol [j]. Vy; mol [j]. Vy: = temp;

// Random (360) * Pi/180;

mol [j]. angle: = 360 * Pi-mol [j]. angle;

// temp: = mol [i]. angle; mol [i]. angle: = mol [j]. angle; mol [j]. angle: = temp;

// Cоставляющие руху частки по осях

mol [j]. Vx: = Round (mol [j]. Speed ​​* Sin (mol [j]. Angle));

mol [j]. Vy: = Round (mol [j]. Speed ​​* Cos (mol [j]. Angle));

mol [i]. angle: = 360 * Pi-mol [i]. angle;

// Cоставляющие руху частки по осях

mol [i]. Vx: = Round (mol [i]. Speed ​​* Sin (mol [i]. Angle));

mol [i]. Vy: = Round (mol [i]. Speed ​​* Cos (mol [i]. Angle));

// зсуваємо на нову позицію.

mol [i]. x: = mol [i]. x + mol [i]. Vx;

mol [i]. y: = mol [i]. y + mol [i]. Vy;

// mol [j]. Vx: = mol [j]. Vx + mol [i]. Vx;

// mol [j]. Vy: = mol [j]. Vy + mol [i]. Vy;

В 

4.2 Код програми В«Побудова траєкторії броунівський рухВ»


unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ExtCtrls, StdCtrls;

type

TForm1 = class (TForm)

Button1: TButton;

Timer1: TTimer;

ScrollBar1: TScrollBar;

StaticText1: TStaticText;

Button2: TButton;

Button3: TButton;

Bevel1: TBevel;

ColorDialog1: TColorDialog;

Button4: TButton;

procedure Button1Click (Sender: TObject);

procedure initz;

procedure paint;

procedure ScrollBar1Change (Sender: TObject);

procedure FormCreate (Sender: TObject);

procedure Button2Click (Sender: TObject);

procedure Button3Click (Sender: TObject);

procedure Timer1Timer (Sender: TObject);

procedure Button4Click (Sender: TObject);

private

{Private declarations}

public

{Public declarations}

end...


Назад | сторінка 8 з 9 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Creation of control system by a personnel how to begin with a zero
  • Реферат на тему: Теорія броунівського руху і експериментальне доказ реального існування атом ...
  • Реферат на тему: Засоби регулювання дорожнього руху і порядок руху транспортних засобів
  • Реферат на тему: Визначення закону руху важільного механізму при встановленому режимі роботи ...
  • Реферат на тему: Визначення параметрів обертального руху валу