модель идеального газа

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Re: модель идеального газа

Сообщение nordlink19 » 10.01.2010 17:21:19

как увеличить кол-во малекул и как сделать что бы они сталкивались между собой :D
nordlink19
новенький
 
Сообщения: 13
Зарегистрирован: 23.12.2009 19:03:05

Re: модель идеального газа

Сообщение Climber » 11.01.2010 10:13:41

nordlink19 писал(а):как увеличить кол-во малекул
А они уже есть? А в каком виде?
nordlink19 писал(а):как сделать что бы они сталкивались между собой :D
Cначала напиши, как эти молекулы "выглядят".
Climber
постоялец
 
Сообщения: 415
Зарегистрирован: 03.06.2007 20:09:57
Откуда: Москва

Re: модель идеального газа

Сообщение nordlink19 » 14.01.2010 20:32:07

как сделать что бы они ещё и соударялись друг с другом :D
nordlink19
новенький
 
Сообщения: 13
Зарегистрирован: 23.12.2009 19:03:05

Re: модель идеального газа

Сообщение nordlink19 » 18.01.2010 18:25:24

как сделать что бы они ещё и соудорялись друг с другом ?
nordlink19
новенький
 
Сообщения: 13
Зарегистрирован: 23.12.2009 19:03:05

Re: модель идеального газа

Сообщение nordlink19 » 19.01.2010 20:30:02

if Moving then begin
Canvas.Pen.Color:=clBtnFace;
Canvas.Brush.Color:= clBtnFace;
Canvas.Ellipse(X-R,Y-R,X+R,Y+R);
if ((X+R+dx>ClientWidth) or (X-R+dx<0))then dx:=-dx;
if ((Y+R+dy>ClientHeight) or (Y-R+dy<0))then dy:=-dy;
X:=X+dx;
Y:=Y+dy;

Canvas.Pen.Color:=ColorCircle;
Canvas.Brush.Color:=ColorCircle;
Canvas.Ellipse(X-R,Y-R,X+R,Y+R);
nordlink19
новенький
 
Сообщения: 13
Зарегистрирован: 23.12.2009 19:03:05

Re: модель идеального газа

Сообщение nordlink19 » 22.01.2010 08:02:11

Все написал. шаров много. только проблема не могу понять в чем ошибка не сталкиваются и свё. но уже и не пересикают границы друг друга. чодят по краю.
Var
x1, y1, x2, y2: Real; {координаты центров}
r1, r2: Integer; {радиусы}
vx1, vy1, vx2, vy2: Real; {составляющие скоростей}

Procedure Bum;
var
l: Real; {Тот самый угол}
vx, vy: Real; {Дополнительные переменные}
begin
l:=Arctan((y2-y1)/(x2-x1)) - PI/2;
vx:=vx1;
vy:=vx2;
vx1:=(vx2+vy2)*cos(l);
vy1:=(vx2+vy2)*sin(l);
vx2:=(vx+vy)*cos(l+PI);
vy2:=(vx+vy)*sin(l+PI)

end;
nordlink19
новенький
 
Сообщения: 13
Зарегистрирован: 23.12.2009 19:03:05

Пред.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 60

Рейтинг@Mail.ru