- 2L. , . .

, . T F . (F F).


L=10, C=car(L), 
moveXat(C 215), moveYat(C 150), show(C),

%    traffic,

function: car(L),
C=iniFG(0 '#00aaaa' -L 0),
% , t=time(2*PI 8), 
X=fun(220+130*sin(t)), Y=fun(150+130*cos(t)), 
addFG(C 'F' 'F' '#447777' X Y),
%  ,
addFG(C 'T' 'T' '#222222' [-L-2 -L+2 -L+2 -L-2] [-L-2 -L-2 L+2 L+2]),
%  ,
addFG(C 'T' 'T' '#222222' [L-2 L+2 L+2 L-2] [-L-2 -L-2 L+2 L+2]), 
% ,
addFG(C 'T' 'T' '#ff9955' [-L-4 -L-4 L+6 L+6] [-L L L -L]),
% ,
addFG(C 'T' 'T' '#ffbb55' [-L -L L L] [-L L L -L]),
return C, 
end,

. ticker(T) T , . traffic.


%toolbox traffic,

if tick=0, C=car(10), 
moveXat(C 20), moveYat(C 150), show(C), end,
if tick<20, moveX(C 10), show(C), ticker(100), 
end,

-

s , ( ).


%toolbox runge, %toolbox traffic, 

if tick=0, 
%     dX/dt=B(V),
X=[0 0 0], %  x y   ,
H=0.1, %   ,
V=100, % , 
dt=0.3, %   ,
%   ,
C=car(10), ticker(50), end, 

if tick<40, 
%     ,
moveXat(C 10+X[0]), moveYat(C 150+X[1]), turnat(C X[2]),
%   -   , 
s=20*PI*cos(0.5*tick)/180, s=?,
%    dX/dt=Fun(X) ,
X=Runge(X dt), show(C), ticker(50), end, 

%      Fun(X),

function: Fun(X),
% s -    | f -  ,
f=X[2], % f=Pi2Pi(X[2]), 
if f>PI, f=f-2*PI, end, if f<-PI, f=f+2*PI, end,
X[2]=f, % s=sat(s 0.8), 
B=[V*cos(f) V*sin(f) H*V*tan(s)], X={B*dt}, return X,
end,

V . , . .



Rambler's Top100