math

Matematik kütüphanesi, sayıları işlemek için fonksiyonlar sağlayan standart bir Lua kütüphanesidir. Garry's Mod'da birkaç ek matematik fonksiyonu eklenmiştir.

Alanlar

Herhangi bir sayısal karşılaştırmada her sayının bundan daha küçük olacağı anlamında, etkin bir şekilde sonsuzluğu temsil eden bir değişken. Örneğin, eğer x bir sayı ise, x > math.huge, taşma durumu (aşağıya bakınız) dışında ASLA doğru olmayacaktır. Lua, 2^1024'e (bir double'ın üs limiti) eşit veya daha büyük olan herhangi bir sayıyı inf (sonsuz) olarak kabul edecek ve dolayısıyla buna eşit sayacaktır.
number math.pi
Matematiksel pi sabitini içeren bir değişken. (3.1415926535898) Ayrıca bakınız: Trigonometri Kayan noktalı sayıların doğası gereği, math.pi ile yapılan hesaplamaların sonuçlarının beklediğiniz gibi olmayabileceği unutulmamalıdır. Aşağıdaki ikinci örneğe bakın.
number math.tau
2*math.pi'ye eşdeğer olan matematiksel tau sabitini içeren bir değişken. (6.28318530718) Ayrıca bakınız: Trigonometri Kayan noktalı sayıların doğası gereği, math.tau ile yapılan hesaplamaların sonuçlarının beklediğiniz gibi olmayabileceği unutulmamalıdır. math.pi sayfasındaki ikinci örneğe bakın.

Metotlar

number math.abs( number x )
Bir sayının mutlak değerini hesaplar (etkin bir şekilde herhangi bir negatif işareti kaldırır).
number math.acos( number cos )
Verilen sayının arkkosinüsünü döndürür.
İki açı arasındaki farkı hesaplar.
number math.Approach( number current, number target, number change )
Belirtilen miktarda hedef değere kademeli olarak yaklaşır.
number math.ApproachAngle( number currentAngle, number targetAngle, number rate )
Bir açıyı, belirtilen oranda diğerine doğru artırır. Bu fonksiyon, açıları temsil eden sayılar (0-360) içindir, Angle nesneleri için DEĞİLDİR!
number math.asin( number normal )
Verilen sayının arksinüsünü döndürür.
number math.atan( number normal )
Verilen sayının arktanjantını döndürür.
number math.atan2( number y, number x )
math.atan(y / x) gibi işlev görür, ancak açının bulunduğu çeyreği de dikkate alır ve bu nedenle sınırlı bir çıktı aralığına sahip değildir. Y argümanı önce gelir!
number math.BinToInt( string string )
İkili (binary) bir metni sayıya dönüştürür.
Vector math.BSplinePoint( number fraction, table points, number fractionMax )
Bézier-Spline algoritması için temel kod.
Bu dahili olarak kullanılır - kullanabiliyor olsanız da muhtemelen kullanmamalısınız. Bunun yerine math.BSplinePoint kullanın. Bezier-Spline algoritması için temel kod, math.BSplinePoint için yardımcı bir fonksiyondur.
number math.ceil( number number )
Bir sayıyı yukarıya doğru yuvarlar. Bu fonksiyonun tersi için math.floor'a bakın.
Vector math.CHSpline( number frac, Vector point0, Vector tan0, Vector point1, Vector tan1 )
Kübik Hermite spline algoritması.
number math.Clamp( number input, number min, number max )
Bir sayıyı minimum ve maksimum bir değer arasında sınırlar.
number math.cos( number number )
Verilen açının kosinüsünü döndürür.
number math.cosh( number number )
Verilen açının hiperbolik kosinüsünü döndürür.
Vector math.CubicBezier( number frac, Vector p0, Vector p1, Vector p2, Vector p3 )
Kübik bezier ile 4 kontrol noktası arasında Lerp noktası. 3 kontrol noktasıyla çalışan benzer bir fonksiyon için math.QuadraticBezier'e bakın.
number math.deg( number radians )
Radyanı dereceye dönüştürür.
number math.Dist( number x1, number y1, number x2, number y2 )
Bunu kullanmamanızı tavsiye ederiz. Gelecekteki bir güncellemede değiştirilebilir veya kaldırılabilir. Bunun yerine math.Distance kullanmalısınız 2D uzaydaki iki nokta arasındaki farkı döndürür. math.Distance'ın takma adıdır.
number math.Distance( number x1, number y1, number x2, number y2 )
2D uzaydaki iki nokta arasındaki farkı döndürür.
number math.DistanceSqr( number x1, number y1, number x2, number y2 )
2D uzaydaki iki nokta arasındaki karesel farkı döndürür. Bu, hesaplama açısından math.Distance'dan daha hızlıdır.
number math.ease.InBack( number fraction )
Geri dönmeden önce yumuşatma yönünü hafifçe tersine çevirerek yumuşak bir başlangıç yapar. Bu, Lerp ile kullanıldığında düzgün çalışmaz, çünkü kesiri 0 ile 1 arasında sınırlar. Bunun yerine kendi sınırsız Lerp versiyonunuzu kullanmanız gerekir.
number math.ease.InBounce( number fraction )
Zıplayan bir top gibi yumuşak bir başlangıç yapar. Bu, Lerp ile kullanıldığında düzgün çalışmaz, çünkü kesiri 0 ile 1 arasında sınırlar. Bunun yerine kendi sınırsız Lerp versiyonunuzu kullanmanız gerekir.
number math.ease.InCirc( number fraction )
Dairesel bir fonksiyon kullanarak yumuşak bir başlangıç yapar.
number math.ease.InCubic( number fraction )
Kesirin küpünü alarak yumuşak bir başlangıç yapar.
number math.ease.InElastic( number fraction )
Lastik bir bant gibi yumuşak bir başlangıç yapar. Bu, Lerp ile kullanıldığında düzgün çalışmaz, çünkü kesiri 0 ile 1 arasında sınırlar. Bunun yerine kendi sınırsız Lerp versiyonunuzu kullanmanız gerekir.
number math.ease.InExpo( number fraction )
2 tabanlı ve kesrin üs olarak kullanıldığı üstel bir denklem kullanarak yumuşak bir başlangıç yapar.
number math.ease.InOutBack( number fraction )
Her iki uçta da geri dönmeden önce yumuşatma yönünü hafifçe tersine çevirerek yumuşak bir başlangıç ve bitiş yapar. Bu, Lerp ile kullanıldığında düzgün çalışmaz, çünkü kesiri 0 ile 1 arasında sınırlar. Bunun yerine kendi sınırsız Lerp versiyonunuzu kullanmanız gerekir.
number math.ease.InOutBounce( number fraction )
Zıplayan bir top gibi yumuşak bir başlangıç ve bitiş yapar. Bu, Lerp ile kullanıldığında düzgün çalışmaz, çünkü kesiri 0 ile 1 arasında sınırlar. Bunun yerine kendi sınırsız Lerp versiyonunuzu kullanmanız gerekir.
number math.ease.InOutCirc( number fraction )
Dairesel bir fonksiyon kullanarak yumuşak bir başlangıç ve bitiş yapar.
number math.ease.InOutCubic( number fraction )
Kesirin küpünü alarak yumuşak bir başlangıç ve bitiş yapar.
number math.ease.InOutElastic( number fraction )
Lastik bir bant gibi yumuşak bir başlangıç ve bitiş yapar. Bu, Lerp ile kullanıldığında düzgün çalışmaz, çünkü kesiri 0 ile 1 arasında sınırlar. Bunun yerine kendi sınırsız Lerp versiyonunuzu kullanmanız gerekir.
number math.ease.InOutExpo( number fraction )
2 tabanlı ve kesrin üs olarak kullanıldığı üstel bir denklem kullanarak yumuşak bir başlangıç ve bitiş yapar.
number math.ease.InOutQuad( number fraction )
Kesirin karesini alarak yumuşak bir başlangıç ve bitiş yapar.
number math.ease.InOutQuart( number fraction )
Kesri 4. kuvvete yükselterek yumuşak bir başlangıç ve bitiş yapar.
number math.ease.InOutQuint( number fraction )
Kesri 5. kuvvete yükselterek yumuşak bir başlangıç ve bitiş yapar.
number math.ease.InOutSine( number fraction )
math.sin kullanarak yumuşak bir başlangıç ve bitiş yapar.
number math.ease.InQuad( number fraction )
Kesirin karesini alarak yumuşak bir başlangıç yapar.
number math.ease.InQuart( number fraction )
Kesri 4. kuvvete yükselterek yumuşak bir başlangıç yapar.
number math.ease.InQuint( number fraction )
Kesri 5. kuvvete yükselterek yumuşak bir başlangıç yapar.
number math.ease.InSine( number fraction )
math.sin kullanarak yumuşak bir başlangıç yapar.
number math.ease.OutBack( number fraction )
Bitirmeden önce yumuşatma yönünü hafifçe tersine çevirerek yumuşak bir bitiş yapar. Bu, Lerp ile kullanıldığında düzgün çalışmaz, çünkü kesiri 0 ile 1 arasında sınırlar. Bunun yerine kendi sınırsız Lerp versiyonunuzu kullanmanız gerekir.
number math.ease.OutBounce( number fraction )
Zıplayan bir top gibi yumuşak bir bitiş yapar. Bu, Lerp ile kullanıldığında düzgün çalışmaz, çünkü kesiri 0 ile 1 arasında sınırlar. Bunun yerine kendi sınırsız Lerp versiyonunuzu kullanmanız gerekir.
number math.ease.OutCirc( number fraction )
Dairesel bir fonksiyon kullanarak yumuşak bir bitiş yapar.
number math.ease.OutCubic( number fraction )
Kesirin küpünü alarak yumuşak bir bitiş yapar.
number math.ease.OutElastic( number fraction )
Lastik bir bant gibi yumuşak bir bitiş yapar. Bu, Lerp ile kullanıldığında düzgün çalışmaz, çünkü kesiri 0 ile 1 arasında sınırlar. Bunun yerine kendi sınırsız Lerp versiyonunuzu kullanmanız gerekir.
number math.ease.OutExpo( number fraction )
2 tabanlı ve kesrin üs olarak kullanıldığı üstel bir denklem kullanarak yumuşak bir bitiş yapar.
number math.ease.OutQuad( number fraction )
Kesirin karesini alarak yumuşak bir bitiş yapar.
number math.ease.OutQuart( number fraction )
Kesri 4. kuvvete yükselterek yumuşak bir bitiş yapar.
number math.ease.OutQuint( number fraction )
Kesri 5. kuvvete yükselterek yumuşak bir bitiş yapar.
number math.ease.OutSine( number fraction )
math.sin kullanarak yumuşak bir bitiş yapar.
number math.EaseInOut( number progress, number easeIn = 0, number easeOut = 1 )
Verilen yumuşatma kesirlerini dikkate alarak bir değer kesirinin ilerlemesini hesaplar
number math.exp( number exponent )
Euler sabitinin x'inci kuvvetini döndürür.
number math.Factorial( number val_in )
Bir tam sayının faktöriyelini hesaplayan basit bir fonksiyondur.
number math.floor( number number )
Bir sayıyı aşağıya doğru yuvarlar. Bu fonksiyonun tersi için math.ceil'e bakın.
number math.fmod( number base, number modulator )
Belirtilen değerlerin modülüsünü döndürür. Bu, % operatörüne benzer olsa da, ilk argüman negatifse negatif bir değer döndürürken, % operatörü ilk işlenen negatif olsa bile pozitif bir değer döndürür. Bu fonksiyon ayrıca % operatöründen daha yavaştır.
Lua referans açıklaması: x = m2e olacak şekilde m ve e döndürür, e bir tam sayıdır ve m'nin mutlak değeri ((0.5, 1) aralığındadır (veya x sıfır olduğunda sıfırdır). Sayı değerini normalleştirilmiş bir kesir ve bir üs olarak ayırmak için kullanılır. İki değer döndürülür: ilki 1/2 (dahil) ile 1 (hariç) aralığında bir çarpan ve ikincisi bir tam sayı üssüdür. Sonuç, x = m*2^e olacak şekildedir.
string math.IntToBin( number int )
Bir tam sayıyı ikili (base-2) bir metne dönüştürür.
boolean math.IsNearlyEqual( number a, number b, number tolerance = 1e-8 )
İki kayan noktalı sayının neredeyse eşit olup olmadığını kontrol eder. Bu, kayan noktalı sayılardaki doğruluk sorunlarını azaltmak için kullanışlıdır. Aşağıdaki örneklere bakın.
number math.ldexp( number normalizedFraction, number exponent )
Normalleştirilmiş bir sayı alır ve kayan noktalı gösterimini döndürür. Etkin bir şekilde normalizedFraction * 2.0 ^ exponent sonucunu döndürür. math.frexp bu fonksiyonun tersidir.
number math.log( number x, number base = e )
Tek bir argümanla, x'in doğal logaritmasını (e tabanında) döndürür. İki argümanla, x'in verilen tabandaki logaritmasını, log(x)/log(base) olarak hesaplayarak döndürür.
number math.log10( number x )
x'in 10 tabanındaki logaritmasını döndürür. Bu genellikle math.log(x, 10)'dan daha doğrudur.
number math.max( ... )
Tüm argümanların en büyük değerini döndürür.
number math.min( ... )
Tüm argümanların en küçük değerini döndürür.
number math.mod( number base, number modulator )
Bunu kullanmamanızı tavsiye ederiz. Gelecekteki bir güncellemede değiştirilebilir veya kaldırılabilir. Bu, GMod'un şu anda kullandığından daha yeni Lua sürümlerinde kaldırılmıştır. Bunun yerine % operatörünü veya math.fmod'u kullanmalısınız. Belirtilen değerlerin modülüsünü döndürür. math.fmod ile aynıdır.
number, number math.modf( number base )
Modülo işleminin tam sayı ve kesirli bileşenini döndürür.
Açıyı normalleştirir, böylece -180 ile 180 arasında bir değer döndürür.
number math.pow( number x, number y )
x'in y üssünü döndürür. Özellikle, math.pow(1.0, x) ve math.pow(x, 0.0), x sıfır veya bir nan olsa bile her zaman 1.0 döndürür. Eğer hem x hem de y sonlu ise, x negatifse ve y bir tam sayı değilse, math.pow(x, y) tanımsızdır.
Vector math.QuadraticBezier( number frac, Vector p0, Vector p1, Vector p2 )
Kuadratik bezier ile 3 kontrol noktası arasında Lerp noktası. 4 kontrol noktasıyla çalışan bir fonksiyon için math.CubicBezier'e bakın.
number math.rad( number degrees )
Derece cinsinden bir açıyı radyan cinsinden eşdeğerine dönüştürür.
number math.Rand( number min, number max )
min ve max arasında rastgele bir ondalıklı sayı (float) döndürür. Ayrıca bakınız: math.random
number math.random( number m = nil, number n = nil )
Argümansız çağrıldığında, 0 dahil ancak 1 hariç olmak üzere 0 ile 1 aralığında tekdüze sözde rastgele bir gerçek sayı döndürür. Bir tam sayı olan m ile çağrıldığında, 1 ile m (dahil) aralığında tekdüze sözde rastgele bir tam sayı döndürür. İki tam sayı olan m ve n ile çağrıldığında, m ile n (dahil) aralığında tekdüze sözde rastgele bir tam sayı döndürür. Ayrıca bakınız: math.Rand
math.randomseed( number seed )
Rastgele sayı üretecini tohumlar (seed). Aynı tohum, math.random ile her seferinde aynı sayı dizisini garanti edecektir. Tahmin edilen alanlar (predicted realms) arasında paylaşılan rastgele değerler için util.SharedRandom kullanın. Bu fonksiyonun yanlış kullanımı, oyundaki tüm rastgele sayıları etkileyecektir.
number math.Remap( number value, number inMin, number inMax, number outMin, number outMax )
Değeri bir aralıktan diğerine yeniden eşler
number math.Round( number value, number decimals = 0 )
Verilen değeri en yakın tam sayıya veya belirtilen ondalık basamağa yuvarlar.
number math.sin( number number )
Verilen açının sinüsünü döndürür.
number math.sinh( number number )
Verilen açının hiperbolik sinüsünü döndürür.
number math.SnapTo( number input, number snapTo )
Bir sayıyı, verilen sayının en yakın katına sabitler. Ayrıca bakınız: Angle:SnapTo.
number math.sqrt( number value )
Sayının karekökünü döndürür.
number math.tan( number value )
Verilen açının tanjantını döndürür.
number math.tanh( number number )
Verilen sayının hiperbolik tanjantını döndürür.
number math.TimeFraction( number start, number end, number current )
Mevcut zamanın başlangıç ve bitiş zamanlarına göre nerede olduğunun kesirini döndürür
number math.Truncate( number num, number digits = 0 )
İstenmeyen ondalık basamakları kırpar.

Tüm sunucular · GmodTR Launcher · Rehber · GMod Wiki · GmodTR nedir? · Sunucu ekle · Discord