Диссертация (Агентная модель поведения толпы в условиях чрезвычайной ситуации для оценки интенсивности фронта выходного потока), страница 61
Описание файла
Файл "Диссертация" внутри архива находится в папке "Агентная модель поведения толпы в условиях чрезвычайной ситуации для оценки интенсивности фронта выходного потока". PDF-файл из архива "Агентная модель поведения толпы в условиях чрезвычайной ситуации для оценки интенсивности фронта выходного потока", который расположен в категории "". Всё это находится в предмете "технические науки" из Аспирантура и докторантура, которые можно найти в файловом архиве НИУ ВШЭ. Не смотря на прямую связь этого архива с НИУ ВШЭ, его также можно найти и в других разделах. , а ещё этот архив представляет собой кандидатскую диссертацию, поэтому ещё представлен в разделе всех диссертаций на соискание учёной степени кандидата технических наук.
Просмотр PDF-файла онлайн
Текст 61 страницы из PDF
onStep ( ) ;i f ( s t a t u s != S t a t u s . k i l l e d ) {d_x = d_x_new ;d_y = d_y_new ;1385v = v_new ;setVelocity (v) ;moveTo ( x+moveCoef∗d_x , y+moveCoef∗d_y ) ;}}1390@ O v er r i d e@ A n y Lo g i cI n t er n al Co d eg en A P Ip u b l i c void onBeforeStep ( ) {super . onBeforeStep () ;1395i f ( s t a t u s != S t a t u s . k i l l e d ) {int i ;i f ( s t a t u s == S t a t u s . a l i v e ) { / / установка площади го р и зо н т а л ь н о й п р о екц и иs_t = s ;1400} e l s e i f ( s t a t u s == S t a t u s . d i s o r i e n t e d ) {s _ t = main .
si g m a_ 2∗s ;} e l s e i f ( s t a t u s == S t a t u s . i n j u r e d ) {s _ t = main . si g m a_ 1∗s ;}1405i f ( s i t u a t i o n == S i t u a t i o n . l a c k ) { / / установка параметров в зависимости от статуса ситуацииv a r s i g m a = main . v a r s i g m a [ 0 ] ;v a r r h o _ 3 = main . v a r r h o _ 3 [ 0 ] ;2701410141514201425143014351440144514501455146014651470147514801485v a r r h o _ 4 = main . v a r r h o _ 4 [ 0 ] ;} e l s e i f ( s i t u a t i o n == S i t u a t i o n . e x t i n c t i o n ) {v a r s i g m a = main . v a r s i g m a [ 1 ] ;v a r r h o _ 3 = main .
v a r r h o _ 3 [ 1 ] ;v a r r h o _ 4 = main . v a r r h o _ 4 [ 1 ] ;} e l s e i f ( s i t u a t i o n == S i t u a t i o n . a c t i v e ) {v a r s i g m a = main . v a r s i g m a [ 2 ] ;v a r r h o _ 3 = main . v a r r h o _ 3 [ 2 ] ;v a r r h o _ 4 = main .
v a r r h o _ 4 [ 2 ] ;} else {v a r s i g m a = main . v a r s i g m a [ 3 ] ;v a r r h o _ 3 = main . v a r r h o _ 3 [ 3 ] ;v a r r h o _ 4 = main . v a r r h o _ 4 [ 3 ] ;}f o r ( i = 0 ; i < 4 ; i ++) {d e l t a _ k [ i ] = main . v a r t h e t a [ i ]∗ Math . s q r t ( s _ t / Math . P I ) ;}r h o = c h i _ s ( ) / ( Math . pow ( main . e t a , 2 )∗ s _ t ) ; / / расчет плотностиi f ( chi_s ( ) !=0) {r h o _ k [ 2 ] = v a r r h o _ 3∗ s _ t ∗ c h i ( ) / c h i _ s ( ) ;r h o _ k [ 3 ] = v a r r h o _ 4∗ s _ t ∗ c h i ( ) / c h i _ s ( ) ;} else {r h o _ k [ 2 ] = D o u b l e . POSITIVE_INFINITY;r h o _ k [ 3 ] = D o u b l e . POSITIVE_INFINITY;}rho_k [ 0 ] = rho_k [ 2 ] / 3 ;rho_k [ 1 ] = rho_k [ 2 ] ∗ 2 / 3 ;i f ( r h o <= r h o _ k [ 0 ] ) { / / установка р а ди уса л и ч н о г о пространстваd e l t a = varsigma∗d e l t a _ k [ 0 ] ;} e l s e i f ( r h o <= r h o _ k [ 1 ] ) {d e l t a = varsigma∗d e l t a _ k [ 1 ] ;} e l s e i f ( r h o <= r h o _ k [ 2 ] ) {d e l t a = varsigma∗d e l t a _ k [ 2 ] ;} e l s e i f ( r h o <= r h o _ k [ 3 ] ) {d e l t a = varsigma∗d e l t a _ k [ 3 ] ;} else {set_status ( Status .
killed ) ;}i f ( s t a t u s != S t a t u s . k i l l e d ) {i f ( e x i t == E x i t . l e f t ) { / / установка точки выходаi f ( g et Y ( ) <main . b11+Math . s q r t ( s _ t / Math . P I ) ) {x _ e x i t = main . a11 ;y _ e x i t = main . b11+Math . s q r t ( s _ t / Math . P I ) ;} e l s e i f ( ( g et Y ( ) >=main .
b11+Math . s q r t ( s _ t / Math . P I ) ) &&(g et Y ( ) <=main . b12−Math . s q r t ( s _ t / Math . P I ) ) ) {x _ e x i t = main . a11 ;y _ e x i t = g et Y ( ) ;} else {x _ e x i t = main . a11 ;y _ e x i t = main . b12−Math . s q r t ( s _ t / Math . P I ) ;}} else {i f ( g et Y ( ) <main . b21+Math . s q r t ( s _ t / Math . P I ) ) {x _ e x i t = main . a21 ;y _ e x i t = main . b21+Math . s q r t ( s _ t / Math . P I ) ;} e l s e i f ( ( g et Y ( ) >=main . b21+Math .
s q r t ( s _ t / Math . P I ) ) &&(g et Y ( ) <=main . b22−Math . s q r t ( s _ t / Math . P I ) ) ) {x _ e x i t = main . a21 ;y _ e x i t = g et Y ( ) ;} else {x _ e x i t = main . a21 ;y _ e x i t = main . b22−Math . s q r t ( s _ t / Math . P I ) ;}}MyVector v ec = new MyVector ( x _ e x i t , y _ e x i t , g et X ( ) , g et Y ( ) ) ;D_x = v ec .
u n i t V e c t o r ( ) . g et X ( ) ;D_y = v ec . u n i t V e c t o r ( ) . g et Y ( ) ;x = g et X ( ) ;y = g et Y ( ) ;i n t index = getIndex ( ) ;d o u b l e r _ s = Math . s q r t ( s _ t / Math . P I ) ;d o u b l e x _ ex p l , y _ e x p l ;i f ( main . x _ e x p l . i sEm p t y ( ) ) { / / установка координат п о с л е д н е г о в зр ы в аx_expl = 0;y_expl = 0;}else {x _ e x p l = main . x _ e x p l . g e t ( main . x _ e x p l . s i z e ( ) −1) ;y _ e x p l = main . y _ e x p l .
g e t ( main . y _ e x p l . s i z e ( ) −1) ;}crowd . C o l l i s i o n c o l l i s i o n = new crowd . C o l l i s i o n ( main . p e r s o n , i n d e x , x , y , v , r _ s , s _ t , d_x , d_y ) ;i n t nomer = c o l l i s i o n . n o m e r C o l l i s i o n ( ) ;/ / MessageBox . WarningBox ( I n t e g e r . t o S t r i n g ( nomer ) , " Ошибка в в о да " ) ;2711490i f ( nomer >−1) { / / п р о в ер ка н а л и ч и я к о л л и з и иR e s u l t r e s u l t _ c o l = c o l l i s i o n .
c a l c ( nomer ) ;v_new = r e s u l t _ c o l . g et V ( ) ;d_x_new = r e s u l t _ c o l . g et X ( ) ;d_y_new = r e s u l t _ c o l . g et Y ( ) ;} e l s e { / / расчет обычного передвиженияcrowd . D e с i s i o n d e c i s i o n = new crowd . D e с i s i o n ( main . p e r s o n , main . a0 , main . b0 , main . l e n 1 , main .
l e n 2 , main . b11 ,main . b12 , main . b21 , main . b22 , i n d e x , main . b e t a _ o c c , main . b e t a _ d i r , main . b e t a _ d e s t , main . b e t a _ a n g l e ,main . b e t a _ w a l l , main . b e t a _ v e l , main . b et a_ m ax , main . b e t a _ a v g , main . b e t a _ e x p l , main . gamma_1 , main . gamma_2 ,main . gamma_3 , main . gamma_4 , main . gamma_5 , main . l a m b d a _ v e l , main . lambda_max , main . l am b d a_ av g , main . t h e t a ,x , y , x _ ex p l , y _ ex p l , main . gamma_acc , main .
gamma_dec , v , v_comf , v_max , v_hat_max , r _ s , main . e t a , d_x , d_y ,D_x , D_y , s t a t u s , s i t u a t i o n , e x i t , main . w a l l C o e f , main . p e r i o d ) ;Result res u lt _d ec = decision . newDirection ( ) ;v_new = r e s u l t _ d e c . g et V ( ) ;d_x_new = r e s u l t _ d e c . g et X ( ) ;d_y_new = r e s u l t _ d e c . g et Y ( ) ;}v = getVelocity () ;149515001505}}1510151515201525153015351540154515501555156015651570}/ ∗∗∗ Конструктор∗/p u b l i c P e r s o n ( En g i n e e n g i n e , A g en t owner , A g e n t L i s t <? e x t e n d s P er so n > c o l l e c t i o n ) {s u p e r ( e n g i n e , owner , c o l l e c t i o n ) ;i f ( i s T o p L e v e l C l a s s _ x j a l ( Person .
c l a s s ) ) {instantiateBaseStructure_xjal () ;}}@ A n y Lo g i cI n t er n al Co d eg en A P Ip u b l i c v o i d o n O w n er Ch an g ed _ x j al ( ) {s u p e r . o n O w n er Ch an g ed _ x j al ( ) ;setupReferences_xjal () ;}@ A n y Lo g i cI n t er n al Co d eg en A P Ip u b l i c void i n s t a n t i a t e B a s e S t r u c t u r e _ x j a l ( ) {super . i n s t a n t i a t e B a s e S t r u c t u r e _ x j a l ( ) ;setupReferences_xjal () ;}@ A n y Lo g i cI n t er n al Co d eg en A P Ip r i v a t e void set u p Ref er en ces_ x j al ( ) {main = g et _ Mai n ( ) ;}/ ∗∗∗ S i m p l e c o n s t r u c t o r .
P l e a s e add c r e a t e d a g e n t t o some p o p u l a t i o n by c a l l i n g g o T o P o p u l a t i o n ( ) f u n c t i o n∗/p u b l i c Person ( ) {}/ ∗∗∗ S i m p l e c o n s t r u c t o r . P l e a s e add c r e a t e d a g e n t t o some p o p u l a t i o n by c a l l i n g g o T o P o p u l a t i o n ( ) f u n c t i o n∗/p u b l i c P e r s o n ( i n t age , G en d er g en d er , d o u b l e v_comf , d o u b l e v_max , d o u b l e v_hat_max , S t a t u s s t a t u s , S i t u a t i o n s i t u a t i o n , E x i t e x i t ,boolean expl , boolean status_change , double s , boolean c r o s s _ e x i t ) {markParametersAreSet ( ) ;t h i s .
ag e = ag e ;t h i s . gender = gender ;t h i s . v_comf = v_comf ;t h i s . v_max = v_max ;t h i s . v _ h at _ m ax = v _ h at _ m ax ;this . status = status ;this . situation = situation ;this . exit = exit ;t h i s . expl = expl ;thi s . status_change = status_change ;this . s = s ;this . cross_exit = cross_exit ;}@ O v er r i d e@ A n y Lo g i cI n t er n al Co d eg en A P Ip u b l i c void cr ea t e ( ) {super . c re a te () ;/ / П р и св о ен и е н а ч а л ь н ы х з н а ч е н и й простым переменнымsetupPlainVariables_Person_xjal () ;/ / Динамическая и н и ц и а л и за ц и я элементов , у которых разрешено программное у п р а в л е н и е272_createPersistentElementsAP0_xjal () ;p r e s e n t a t i o n = new S h a p e T o p L e v e l P r e s e n t a t i o n G r o u p ( P e r s o n .
t h i s , t r u e , 0 , 0 , 0 , 0 , p e d e s t r i a n , r e c t a n g l e _ p a r , t e x t , r e c t a n g l e _ v a r ,text1 , rectangle_event , text2 , rectangle_func , text 3 ) ;i c o n = new S h ap eG r o u p ( P e r s o n . t h i s , t r u e , 0 , 0 , 0 ) ;/ / Соединители с н ер еп л и ц и р о ва нным и объектами/ / Создание р еп л и ц и р о в а н н ы х вложенных объектовs e t u p I n i t i a l C o n d i t i o n s _ x j a l ( Person .
c l a s s ) ;i f ( i s T o p L e v e l C l a s s _ x j a l ( Person . c l a s s ) ) {onCreate () ;}15751580}@ A n y Lo g i cI n t er n al Co d eg en A P Ip u b l i c void s e t u p E x t _ x j a l ( AgentExtension _ext ) {/ / И н и ц и а л и за ц и я свойств агентовi f ( _ext ins t an c eo f ExtAgentWithSpatialMetrics ) {double _value =15850;(( ExtAgentWithSpatialMetrics ) _ext ) . s e tV el oc ity ( _value ) ;1590}}15951600160516101615@ O v er r i d e@ A n y Lo g i cI n t er n al Co d eg en A P Ip u b l i c void s t a r t ( ) {super . s t a r t () ;st_disoriented .
start () ;st_injured . s t a rt () ;st_killed . start () ;t_change . s t a r t ( ) ;sit_change_2 . s t a r t () ;sit_change_1 . s t a r t () ;sit_change_0 . s t a r t () ;zeta . s t ar t () ;remove . s t a r t ( ) ;cross . s t a r t () ;comeback . s t a r t ( ) ;i f ( i s T o p L e v e l C l a s s _ x j a l ( Person . c l a s s ) ) {onStartup () ;}}@ A n y Lo g i cI n t er n al Co d eg en A P Ip u b l i c void o n S t ar t u p ( ) {super . onStartup ( ) ;int i ;t_expl . clear () ;r h o _ k = new d o u b l e [ 4 ] ;1620 d e l t a _ k = new d o u b l e [ 4 ] ;16251630163516401645R e s u l t S e t r s _ s q u a r e = main .