/
AiLegion
/
witcher3-engine
Обзор
Документация
Войти
/
AiLegion
/
witcher3-engine
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
core/mathAdv.ws
474 строки
20 KB
AiLegion
Create: 2DArray.ws, array.ws, curve.ws, curvePoint.ws, engineTime.ws, math.ws, mathAdv.ws, misc.ws, object.ws, resource.ws, states.ws, string.ws
22 июн 2026, 09:34
Верифицирован
22 июн 2026, 09:34
3357b44
Код
Авторство
О чём код?
��/ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / / * * � 2 0 1 5 C D P R O J E K T S . A . A l l r i g h t s r e s e r v e d . / * * T H E W I T C H E R � i s a t r a d e m a r k o f C D P R O J E K T S . A . / * * T h e W i t c h e r g a m e i s b a s e d o n t h e p r o s e o f A n d r z e j S a p k o w s k i . / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / i m p o r t f u n c t i o n t _ I d e n t i t y ( a : E n g i n e Q s T r a n s f o r m ) ; i m p o r t f u n c t i o n t _ S e t I d e n t i t y ( ) : E n g i n e Q s T r a n s f o r m ; i m p o r t f u n c t i o n t _ B u i l t T r a n s ( m o v e : V e c t o r ) : E n g i n e Q s T r a n s f o r m ; i m p o r t f u n c t i o n t _ B u i l t R o t Q u a t ( q u a t : V e c t o r ) : E n g i n e Q s T r a n s f o r m ; i m p o r t f u n c t i o n t _ B u i l t R o t A n g l e s ( x : f l o a t , y : f l o a t , z : f l o a t ) : E n g i n e Q s T r a n s f o r m ; i m p o r t f u n c t i o n t _ B u i l t S c a l e ( s c a l e : V e c t o r ) : E n g i n e Q s T r a n s f o r m ; i m p o r t f u n c t i o n t _ T r a n s ( a : E n g i n e Q s T r a n s f o r m , m o v e : V e c t o r ) ; i m p o r t f u n c t i o n t _ R o t Q u a t ( a : E n g i n e Q s T r a n s f o r m , q u a t : V e c t o r ) ; i m p o r t f u n c t i o n t _ S c a l e ( a : E n g i n e Q s T r a n s f o r m , s c a l e : V e c t o r ) ; i m p o r t f u n c t i o n t _ S e t T r a n s ( a : E n g i n e Q s T r a n s f o r m , m o v e : V e c t o r ) : E n g i n e Q s T r a n s f o r m ; i m p o r t f u n c t i o n t _ S e t R o t Q u a t ( a : E n g i n e Q s T r a n s f o r m , q u a t : V e c t o r ) : E n g i n e Q s T r a n s f o r m ; i m p o r t f u n c t i o n t _ S e t S c a l e ( a : E n g i n e Q s T r a n s f o r m , s c a l e : V e c t o r ) : E n g i n e Q s T r a n s f o r m ; i m p o r t f u n c t i o n t _ G e t T r a n s ( a : E n g i n e Q s T r a n s f o r m ) : V e c t o r ; i m p o r t f u n c t i o n t _ G e t R o t Q u a t ( a : E n g i n e Q s T r a n s f o r m ) : V e c t o r ; i m p o r t f u n c t i o n t _ G e t S c a l e ( a : E n g i n e Q s T r a n s f o r m ) : V e c t o r ; i m p o r t f u n c t i o n t _ S e t M u l ( a : E n g i n e Q s T r a n s f o r m , b : E n g i n e Q s T r a n s f o r m ) : E n g i n e Q s T r a n s f o r m ; i m p o r t f u n c t i o n t _ S e t M u l M u l I n v ( a : E n g i n e Q s T r a n s f o r m , b : E n g i n e Q s T r a n s f o r m ) : E n g i n e Q s T r a n s f o r m ; i m p o r t f u n c t i o n t _ S e t M u l I n v M u l ( a : E n g i n e Q s T r a n s f o r m , b : E n g i n e Q s T r a n s f o r m ) : E n g i n e Q s T r a n s f o r m ; i m p o r t f u n c t i o n t _ S e t I n t e r p o l a t e ( a : E n g i n e Q s T r a n s f o r m , b : E n g i n e Q s T r a n s f o r m , w : f l o a t ) : E n g i n e Q s T r a n s f o r m ; i m p o r t f u n c t i o n t _ I s E q u a l ( a : E n g i n e Q s T r a n s f o r m , b : E n g i n e Q s T r a n s f o r m ) : b o o l ; i m p o r t f u n c t i o n t _ I n v ( a : E n g i n e Q s T r a n s f o r m ) ; i m p o r t f u n c t i o n t _ S e t I n v ( a : E n g i n e Q s T r a n s f o r m ) : E n g i n e Q s T r a n s f o r m ; i m p o r t f u n c t i o n t _ N o r m a l i z e Q u a t ( a : E n g i n e Q s T r a n s f o r m ) ; i m p o r t f u n c t i o n t _ B l e n d N o r m a l i z e ( a : E n g i n e Q s T r a n s f o r m , w : f l o a t ) ; i m p o r t f u n c t i o n t _ I s O k ( a : E n g i n e Q s T r a n s f o r m ) : b o o l ; i m p o r t f u n c t i o n q _ S e t I d e n t i t y ( ) : V e c t o r ; i m p o r t f u n c t i o n q _ I d e n t i t y ( a : V e c t o r ) ; i m p o r t f u n c t i o n q _ S e t I n v ( a : V e c t o r ) : V e c t o r ; i m p o r t f u n c t i o n q _ I n v ( a : V e c t o r ) ; i m p o r t f u n c t i o n q _ S e t N o r m a l i z e ( a : V e c t o r ) : V e c t o r ; i m p o r t f u n c t i o n q _ N o r m a l i z e ( a : V e c t o r ) ; i m p o r t f u n c t i o n q _ S e t M u l ( a : V e c t o r , b : V e c t o r ) : V e c t o r ; i m p o r t f u n c t i o n q _ S e t M u l M u l I n v ( a : V e c t o r , b : V e c t o r ) : V e c t o r ; i m p o r t f u n c t i o n q _ S e t M u l I n v M u l ( a : V e c t o r , b : V e c t o r ) : V e c t o r ; i m p o r t f u n c t i o n q _ S e t S h o r t e s t R o t a t i o n ( f r o m : V e c t o r , t o : V e c t o r ) : V e c t o r ; i m p o r t f u n c t i o n q _ S e t S h o r t e s t R o t a t i o n D a m p e d ( f r o m : V e c t o r , t o : V e c t o r , w : f l o a t ) : V e c t o r ; i m p o r t f u n c t i o n q _ S e t A x i s A n g l e ( a x i s : V e c t o r , a n g l e : f l o a t ) : V e c t o r ; i m p o r t f u n c t i o n q _ R e m o v e A x i s C o m p o n e n t ( q u a t : V e c t o r , a x i s : V e c t o r ) ; i m p o r t f u n c t i o n q _ D e c o m p o s e A x i s ( q u a t : V e c t o r , a x i s : V e c t o r ) : f l o a t ; i m p o r t f u n c t i o n q _ S e t S l e r p ( a : V e c t o r , b : V e c t o r , w : f l o a t ) : V e c t o r ; i m p o r t f u n c t i o n q _ G e t A n g l e ( a : V e c t o r ) : f l o a t ; i m p o r t f u n c t i o n q _ G e t A x i s ( a : V e c t o r ) : V e c t o r ; i m p o r t f u n c t i o n v _ S e t I n t e r p o l a t e ( a : V e c t o r , b : V e c t o r , w : f l o a t ) : V e c t o r ; i m p o r t f u n c t i o n v _ S e t R o t a t e d D i r ( q u a t : V e c t o r , d i r : V e c t o r ) : V e c t o r ; i m p o r t f u n c t i o n v _ S e t T r a n s f o r m e d P o s ( t r a n s : E n g i n e Q s T r a n s f o r m , v e c : V e c t o r ) : V e c t o r ; i m p o r t f u n c t i o n v _ Z e r o E l e m e n t ( a : V e c t o r , i : i n t ) ; f u n c t i o n E P S I L O N ( ) : f l o a t { r e t u r n 0 . 0 0 0 1 f ; } f u n c t i o n G e t R a n g e P c t _ F ( m i n V a l : f l o a t , m a x V a l : f l o a t , v a l u e : f l o a t ) : f l o a t { r e t u r n ( v a l u e - m i n V a l ) / ( m a x V a l - m i n V a l ) ; } f u n c t i o n G e t R a n g e P c t _ V ( r a n g e : V e c t o r , v a l u e : f l o a t ) : f l o a t { i f ( r a n g e . X ! = r a n g e . Y ) { r e t u r n ( ( v a l u e - r a n g e . X ) / ( r a n g e . Y - r a n g e . X ) ) ; } e l s e { r e t u r n r a n g e . X ; } } f u n c t i o n G e t R a n g e V a l _ F ( m i n V a l : f l o a t , m a x V a l : f l o a t , p c t : f l o a t ) : f l o a t { r e t u r n ( m i n V a l + ( m a x V a l - m i n V a l ) * p c t ) ; } f u n c t i o n G e t R a n g e V a l _ V ( r a n g e : V e c t o r , p c t : f l o a t ) : f l o a t { r e t u r n ( r a n g e . X + ( r a n g e . Y - r a n g e . X ) * p c t ) ; } f u n c t i o n G e t M a p p e d R a n g e V a l u e ( i n R a n g e : V e c t o r , o u t R a n g e : V e c t o r , v a l u e : f l o a t ) : f l o a t { v a r c l a m p e d P c t : f l o a t ; c l a m p e d P c t = C l a m p F ( G e t R a n g e P c t _ V ( i n R a n g e , v a l u e ) , 0 . f , 1 . f ) ; r e t u r n G e t R a n g e V a l _ V ( o u t R a n g e , c l a m p e d P c t ) ; } f u n c t i o n I n t e r p T o _ F ( c u r r e n t : f l o a t , d e s i r e d : f l o a t , d e l t a T i m e : f l o a t , i n t e r p S p e e d : f l o a t ) : f l o a t { v a r d i s t , d e l t a : f l o a t ; i f ( i n t e r p S p e e d <