ACSUtils Wiki

An ACS library for ZDoom-based ports

User Tools

Site Tools


ru:math

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
ru:math [2019/04/18 23:25] – [min] korshunru:math [2019/04/18 23:33] (current) – [RotateVectorCS] korshun
Line 94: Line 94:
 ''num max(num a, num b)'' ''num max(num a, num b)''
  
-Returns the greater of two numbers.+Возвращает большее из двух чисел.
  
 ==== clamp ==== ==== clamp ====
-''num clamp(num x, num mininum, num maximum)''+''num clamp(num x, num минимум, num максимум)''
  
-Limits to the specified range+Ограничивает в указанном диапазоне
-  * If < mininumreturns the minumum+  * Если меньше минимумавозвращает минимум
-  * If is between mininum and maximumreturns X. +  * Если между минимумом и максимумомвозвращает X. 
-  * If > maximumreturns the maximum.+  * Если больше максимумавозвращает максимум.
  
 ==== cmp ==== ==== cmp ====
 ''int cmp(num a, num b)'' ''int cmp(num a, num b)''
  
-Compares two numbers and returns the result+Сравнивает два числа и возвращает результат
-  * If A > B, returns ''1''+  * Если A > B, возвращает ''1''
-  * If A = B, returns ''0''+  * Если A = B, возвращает ''0''
-  * If A < B, returns ''-1''.+  * Если A < B, возвращает ''-1''.
  
  
-===== Trigonometry =====+===== Тригонометрия =====
  
-ACSUtils provides a full set of trigonometric functions:+ACSUtils предоставляет полный набор тригонометрических функций:
  
-  * [[zdoom>sin]] is already built into ZDoom. +  * [[zdoom>sin]] уже встроен в ZDoom. 
-  * [[zdoom>cos]] is already built into ZDoom. +  * [[zdoom>cos]] уже встроен в ZDoom. 
-  * ''fixed tan(fixed angle)'' -- implemented as ''FixedDiv(sin(x), cos(x))''+  * ''fixed tan(fixed angle)'' -- реализован как ''FixedDiv(sin(x), cos(x))''
-  * ''fixed cot(fixed angle)'' -- implemented as ''FixedDiv(cos(x), sin(x))''+  * ''fixed cot(fixed angle)'' -- реализован как ''FixedDiv(cos(x), sin(x))''
-  * ''fixed sec(fixed angle)'' -- implemented as ''FixedDiv(1.0, sin(x))''+  * ''fixed sec(fixed angle)'' -- реализован как ''FixedDiv(1.0, sin(x))''
-  * ''fixed cosec(fixed angle)'' -- implemented as ''FixedDiv(1.0, cos(x))''.+  * ''fixed cosec(fixed angle)'' -- реализован как ''FixedDiv(1.0, cos(x))''.
  
 Inverse trigonometric functions: Inverse trigonometric functions:
-  * ''fixed atan(fixed x)'' -- implemented as ''[[zdoom>VectorAngle]](1.0, x)''+  * ''fixed atan(fixed x)'' -- реализован как ''[[zdoom>VectorAngle]](1.0, x)''
-  * ''fixed acot(fixed x)'' -- implemented as ''0.25 - atan(x)''+  * ''fixed acot(fixed x)'' -- реализован как ''0.25 - atan(x)''
-  * ''fixed asin(fixed x)'' -- implemented as ''atan(FixedDiv(x, FixedSqrt(1.0 - FixedMul(x, x))))''+  * ''fixed asin(fixed x)'' -- реализован как ''atan(FixedDiv(x, FixedSqrt(1.0 - FixedMul(x, x))))''
-  * ''fixed acos(fixed x)'' -- implemented as ''ang(2 * atan(FixedSqrt(FixedDiv(1.0 - x, 1.0 + x))))''+  * ''fixed acos(fixed x)'' -- реализован как ''ang(2 * atan(FixedSqrt(FixedDiv(1.0 - x, 1.0 + x))))''
-  * ''fixed asec(fixed x)'' -- implemented as ''acos(FixedDiv(1.0, x))''+  * ''fixed asec(fixed x)'' -- реализован как ''acos(FixedDiv(1.0, x))''
-  * ''fixed acosec(fixed x)'' -- implemented as ''asin(FixedDiv(1.0, x))''.+  * ''fixed acosec(fixed x)'' -- реализован как ''asin(FixedDiv(1.0, x))''.
  
  
Line 138: Line 138:
 ''fixed VectorLength3D(fixed x, fixed y, fixed z)'' ''fixed VectorLength3D(fixed x, fixed y, fixed z)''
  
-A 3D version of [[zdoom>VectorLength]]. Returns the length of the 3D vector.+Трёхмерная версия [[zdoom>VectorLength]]. Возвращает длину трёхмерного вектора.
  
 ==== dot ==== ==== dot ====
Line 144: Line 144:
   * 3D: ''fixed dot3(fixed x1, fixed y1, fixed z1, fixed x2, fixed y2, fixed z2)''   * 3D: ''fixed dot3(fixed x1, fixed y1, fixed z1, fixed x2, fixed y2, fixed z2)''
  
-Returns the [[wp>dot product]] of two vectorsShorthand for writing out ''FixedMul(x1, x2) + FixedMul(y1, y2) + ...''.+Возвращает [[wp>dot product|скалярное произведение]] двух векторовКраткий способ записи ''FixedMul(x1, x2) + FixedMul(y1, y2) + ...''.
  
 ==== normalize ==== ==== normalize ====
Line 150: Line 150:
   * 3D: ''fixed, fixed, fixed normalize3d(fixed x, fixed y, fixed z)''   * 3D: ''fixed, fixed, fixed normalize3d(fixed x, fixed y, fixed z)''
  
-[[wp>Normalized vector|Normalizes]] the vector and returns the result using [[multiple return values]].+[[wp>Normalized vector|Нормализует]] вектор и возвращает результат, используя [[multiple return values|несколько возвращаемых значений]].
  
-=== Example usage ===+=== Пример использования ===
 <code> <code>
 normalize3d(x, y, z); normalize3d(x, y, z);
Line 169: Line 169:
 ''fixed, fixed RotateVector(fixed x, fixed y, fixed angle)'' ''fixed, fixed RotateVector(fixed x, fixed y, fixed angle)''
      
-Rotates the vector by the angle and returns the result using [[multiple return values]].+Поворачивает вектор на указанный угол и возвращает результат, используя [[multiple return values|несколько возвращаемых значений]].
  
 === Example usage === === Example usage ===
Line 182: Line 182:
 ''fixed, fixed RotateVector(fixed x, fixed y, fixed cos, fixed sin)'' ''fixed, fixed RotateVector(fixed x, fixed y, fixed cos, fixed sin)''
  
-A faster version of RotateVector that accepts cos(angle) and sin(angle) instead of computing them.+Более быстрая версия ''RotateVector'', которая принимает косинус и синус угла вращения, вместо того, чтобы вычислять их.
  
 ==== RotatePoint ==== ==== RotatePoint ====
ru/math.1555619110.txt.gz · Last modified: 2019/04/18 23:25 by korshun