Bitbybit Docs
    Preparing search index...

    Class MathBitByBit

    Aritmetika, pembulatan, rentang, angka acak dan fungsi trigonometri pada angka biasa. Fungsi trigonometri menerima dan memberikan sudut dalam radian; degToRad dan radToDeg mengonversi di batasnya, karena hampir setiap sudut yang diketik pengguna dalam derajat. Pembantu interpolasi (lerp, remap, ease, smoothstep, pingPong) adalah blok bangunan animasi dan variasi parametrik.

    Index

    Constructors

    basics

    • Menjumlahkan dua angka.

      Contoh: 5 dan 3 -> 8, -2 dan 7 -> 5

      Parameters

      Returns number

      Jumlahnya

      const sum = bitbybit.math.add({ first: 5, second: 3 });
      
    • Mengurangkan angka kedua dari yang pertama.

      Contoh: 10 dan 3 -> 7, 5 dan 8 -> -3

      Parameters

      • inputs: TwoNumbersDto

        Angka yang dikurangi dan angka pengurangnya

      Returns number

      Selisihnya

      const difference = bitbybit.math.subtract({ first: 10, second: 3 });
      
    • Mengalikan dua angka.

      Contoh: 5 dan 3 -> 15, -2 dan 4 -> -8

      Parameters

      Returns number

      Hasil kalinya

      const product = bitbybit.math.multiply({ first: 5, second: 3 });
      
    • Membagi angka pertama dengan yang kedua.

      Membagi dengan 0 menghasilkan Infinity, seperti dalam JavaScript. Contoh: 10 dan 2 -> 5, 7 dan 2 -> 3.5

      Parameters

      Returns number

      Hasil baginya

      const quotient = bitbybit.math.divide({ first: 7, second: 2 });
      
    • Memangkatkan angka pertama dengan yang kedua.

      Contoh: 2 pangkat 3 -> 8, 5 pangkat 2 -> 25, 10 pangkat -1 -> 0.1

      Parameters

      Returns number

      Hasil pangkat

      const cube = bitbybit.math.power({ first: 2, second: 3 });
      
    • Menemukan akar kuadrat sebuah angka.

      Angka negatif menghasilkan NaN. Contoh: 9 -> 3, 2 -> 1.414

      Parameters

      Returns number

      Akar kuadrat

    • Membuang tanda sebuah angka, sehingga hasilnya tidak pernah negatif.

      Contoh: -5 -> 5, 3 -> 3, 0 -> 0

      Parameters

      Returns number

      Nilai absolut

    • Membulatkan angka ke bilangan bulat terdekat; setengah dibulatkan ke atas.

      Contoh: 3.7 -> 4, 2.3 -> 2, 5.5 -> 6

      Parameters

      Returns number

      Bilangan bulat terdekat

    • Membulatkan angka ke bawah ke bilangan bulat di bawahnya.

      Contoh: 3.7 -> 3, -2.3 -> -3, 5 -> 5

      Parameters

      Returns number

      Bilangan bulat di bawahnya

    • Membulatkan angka ke atas ke bilangan bulat di atasnya.

      Contoh: 3.2 -> 4, -2.8 -> -2, 5 -> 5

      Parameters

      Returns number

      Bilangan bulat di atasnya

    • Membalik tanda sebuah angka.

      Contoh: 5 -> -5, -3 -> 3, 0 -> 0

      Parameters

      Returns number

      Angka dengan tanda berlawanan

    • Menemukan logaritma natural sebuah angka: pangkat yang harus diberikan pada e untuk angka itu.

      Contoh: 2.718 -> sekitar 1, 1 -> 0

      Parameters

      Returns number

      Logaritma natural

    • Menemukan logaritma basis 10 sebuah angka: pangkat yang harus diberikan pada 10 untuk angka itu.

      Contoh: 100 -> 2, 1000 -> 3, 10 -> 1

      Parameters

      Returns number

      Logaritma basis 10

    • Memangkatkan 10 dengan sebuah angka.

      Contoh: 2 -> 100, 3 -> 1000, -1 -> 0.1

      Parameters

      Returns number

      10 pangkat angka tersebut

    • Menemukan sinus sudut yang diberikan dalam radian.

      Contoh: 0 -> 0, pi/2 -> 1

      Parameters

      Returns number

      Sinus, antara -1 dan 1

    • Menemukan kosinus sudut yang diberikan dalam radian.

      Contoh: 0 -> 1, pi -> -1

      Parameters

      Returns number

      Kosinus, antara -1 dan 1

    • Menemukan tangen sudut yang diberikan dalam radian.

      Contoh: 0 -> 0, pi/4 -> sekitar 1

      Parameters

      Returns number

      Tangen

    • Menemukan sudut, dalam radian, yang sinusnya adalah angka yang diberikan.

      Contoh: 0 -> 0, 1 -> pi/2 (sekitar 1.57)

      Parameters

      Returns number

      Sudut dalam radian

    • Menemukan sudut, dalam radian, yang kosinusnya adalah angka yang diberikan.

      Contoh: 1 -> 0, -1 -> pi (sekitar 3.14)

      Parameters

      Returns number

      Sudut dalam radian

    • Menemukan sudut, dalam radian, yang tangennya adalah angka yang diberikan.

      Contoh: 0 -> 0, 1 -> pi/4 (sekitar 0.785)

      Parameters

      Returns number

      Sudut dalam radian, antara -pi/2 dan pi/2

    • Memangkatkan e, basis logaritma natural, dengan sebuah angka.

      Contoh: 0 -> 1, 1 -> sekitar 2.718, 2 -> sekitar 7.389

      Parameters

      Returns number

      e pangkat angka tersebut

    • Mengonversi sudut dari derajat ke radian.

      Contoh: 180 -> pi (sekitar 3.14159), 90 -> pi/2

      Parameters

      Returns number

      Sudut dalam radian

    • Mengonversi sudut dari radian ke derajat.

      Contoh: pi -> 180, pi/2 -> 90

      Parameters

      Returns number

      Sudut dalam derajat

    create

    • Meneruskan angka tanpa perubahan, sehingga sebuah nilai dapat diberi nama dan dipakai ulang.

      Contoh: 42 -> 42

      Parameters

      Returns number

      Angka yang sama

    generate

    • Memberikan angka acak dari 0 sampai, tetapi tidak termasuk, 1.

      Contoh: 0.342, 0.891 atau nilai lain apa pun dalam rentang itu

      Returns number

      Angka acak antara 0 dan 1

    • Memberikan angka acak antara low dan high.

      Contoh: low 0, high 10 -> 3.7, 8.2 atau nilai lain apa pun di antaranya

      Parameters

      Returns number

      Angka acak dalam rentang

      const value = bitbybit.math.randomNumber({ low: 0, high: 10 });
      
    • Memberikan daftar angka acak antara low dan high.

      Contoh: low 0, high 10, count 3 -> [2.5, 7.1, 4.8]

      Parameters

      • inputs: RandomNumbersDto

        Ujung bawah dan atas rentang serta berapa banyak angka yang dibuat

      Returns number[]

      Angka-angka acak

      const values = bitbybit.math.randomNumbers({ low: 0, high: 10, count: 3 });
      
    • Memberikan konstanta pi, perbandingan keliling lingkaran dengan diameternya.

      Contoh: 3.141592653589793

      Returns number

      Angka pi

    operations

    • Menerapkan satu operasi aritmetika ke dua angka: tambah, kurang, kali, bagi, pangkat atau modulus.

      Operasi membaca first lalu second: kurang menghasilkan first dikurangi second, pangkat menghasilkan first pangkat second. Contoh: 5 tambah 3 -> 8, 10 modulus 3 -> 1, 2 pangkat 3 -> 8

      Parameters

      Returns number

      Hasil operasi

      const result = bitbybit.math.twoNrOperation({ first: 2, second: 3, operation: Bit.Inputs.Math.mathTwoNrOperatorEnum.power });
      
    • Menemukan sisa setelah membagi satu angka dengan angka lain.

      Tandanya mengikuti angka pertama, seperti dalam JavaScript. Contoh: 10 modulus 3 -> 1, 17 modulus 5 -> 2

      Parameters

      • inputs: ModulusDto

        Angka yang dibagi dan angka pembaginya

      Returns number

      Sisa bagi

      const remainder = bitbybit.math.modulus({ number: 17, modulus: 5 });
      
    • Membulatkan angka ke jumlah tempat desimal tertentu.

      Contoh: 1.32156 ke 3 tempat -> 1.322

      Parameters

      Returns number

      Angka yang dibulatkan

      const rounded = bitbybit.math.roundToDecimals({ number: 1.32156, decimalPlaces: 3 });
      
    • Membulatkan angka ke jumlah tempat desimal tertentu dan membuang nol di akhirnya.

      Sebagai angka, hasilnya memang tidak dapat membawa nol di akhir; bedanya dengan roundToDecimals adalah derau floating-point seperti 1.320000001 dibersihkan menjadi 1.32. Contoh: 1.32156 ke 3 tempat -> 1.322, 1.320000001 -> 1.32, 1.000 -> 1

      Parameters

      Returns number

      Angka yang dibulatkan

      const clean = bitbybit.math.roundAndRemoveTrailingZeros({ number: 1.320000001, decimalPlaces: 3 });
      
    • Menerapkan satu operasi ke satu angka: absolut, negasi, akar kuadrat, pembulatan, logaritma, fungsi trigonometri dan inversnya, eksponensial, atau konversi antara radian dan derajat.

      Fungsi trigonometri bekerja dalam radian. Contoh: sqrt dari 5 -> 2.236, absolut dari -3 -> 3

      Parameters

      Returns number

      Hasil operasi

      const root = bitbybit.math.oneNrOperation({ number: 5, operation: Bit.Inputs.Math.mathOneNrOperatorEnum.sqrt });
      
    • Memetakan angka dari satu rentang ke rentang lain, mempertahankan posisi relatifnya.

      Angka di luar rentang sumber dipetakan secara proporsional melampaui rentang tujuan. Contoh: 5 dari [0,10] ke [0,100] -> 50, 0.5 dari [0,1] ke [-10,10] -> 0

      Parameters

      • inputs: RemapNumberDto

        Angka, rentang asalnya dan rentang tujuan pemetaannya

      Returns number

      Angka pada posisi relatif yang sama dalam rentang target

      const percent = bitbybit.math.remap({ number: 5, fromLow: 0, fromHigh: 10, toLow: 0, toHigh: 100 });
      
    • Memformat angka sebagai teks dengan jumlah tempat desimal tetap, mempertahankan nol di akhir.

      Contoh: 3.14159 dengan 2 tempat -> '3.14', 5 dengan 3 tempat -> '5.000'

      Parameters

      • inputs: ToFixedDto

        Angka dan berapa banyak tempat desimal yang ditampilkan

      Returns string

      Teks yang diformat

      const label = bitbybit.math.toFixed({ number: 3.14159, decimalPlaces: 2 });
      
    • Memetakan nilai dari 0 sampai 1 ke rentang min sampai max sepanjang kurva easing, sehingga hasilnya mempercepat atau memperlambat alih-alih berubah merata.

      Kurva easeIn mulai perlahan, kurva easeOut berakhir perlahan, kurva easeInOut keduanya. Contoh: 0.5 dari [0,100] dengan easeInQuad -> 25

      Parameters

      • inputs: EaseDto

        Nilai antara 0 dan 1, rentang target dan kurva easing

      Returns number

      Nilai hasil easing dalam rentang target

      const eased = bitbybit.math.ease({ x: 0.5, min: 0, max: 100, ease: Bit.Inputs.Math.easeEnum.easeInQuad });
      
    • Menjaga angka dalam rentang: di bawah min menjadi min, di atas max menjadi max.

      Contoh: 5 dalam [0,3] -> 3, -1 dalam [0,3] -> 0, 1.5 dalam [0,3] -> 1.5

      Parameters

      • inputs: ClampDto

        Angka dan rentang tempat angka dipertahankan

      Returns number

      Angka, dibatasi pada rentang

      const limited = bitbybit.math.clamp({ number: 5, min: 0, max: 3 });
      
    • Memadukan dari nilai awal ke nilai akhir berdasarkan pecahan t: 0 menghasilkan awal, 1 akhir, 0.5 titik tengah.

      t di luar 0 sampai 1 diekstrapolasi melewati ujung-ujungnya. Contoh: 0 ke 100 pada 0.5 -> 50, 10 ke 20 pada 0.25 -> 12.5

      Parameters

      • inputs: LerpDto

        Nilai awal, nilai akhir dan fraksi

      Returns number

      Nilai hasil pencampuran

      const mid = bitbybit.math.lerp({ start: 10, end: 20, t: 0.25 });
      
    • Menemukan letak sebuah nilai di antara awal dan akhir, sebagai pecahan: t yang diperlukan lerp untuk menghasilkannya.

      Contoh: 5 dalam [0,10] -> 0.5, 2.5 dalam [0,10] -> 0.25

      Parameters

      • inputs: InverseLerpDto

        Nilai awal, nilai akhir dan nilai yang dicari posisinya

      Returns number

      Fraksi dari awal ke akhir

      const fraction = bitbybit.math.inverseLerp({ start: 0, end: 10, value: 2.5 });
      
    • Mengubah nilai dari 0 sampai 1 menjadi kurva S halus yang mulai dan berakhir dengan lembut; nilai dibatasi ke rentang itu terlebih dahulu.

      Contoh: 0 -> 0, 0.5 -> 0.5, 0.25 -> 0.156

      Parameters

      Returns number

      Nilai yang dihaluskan antara 0 dan 1

    • Memberi tahu tanda sebuah angka: -1 jika negatif, 0 jika nol, 1 jika positif.

      Contoh: -5 -> -1, 0 -> 0, 3.14 -> 1

      Parameters

      Returns number

      1, 0 atau 1

    • Mempertahankan bagian angka setelah titik desimal, diukur naik dari bilangan bulat di bawahnya, sehingga hasilnya selalu dari 0 sampai 1.

      Contoh: 3.14 -> 0.14, -2.3 -> 0.7

      Parameters

      Returns number

      Bagian pecahan, dari 0 hingga kurang dari 1

    • Memutar angka ke dalam rentang sehingga bersiklus: melewati max masuk kembali di min, dan di bawah min masuk kembali di max.

      Berguna untuk sudut dan pola berulang; berbeda dengan modulus biasa, ini menangani angka negatif. Contoh: 1.5 dalam [0,1) -> 0.5, -0.3 dalam [0,1) -> 0.7, 370 dalam [0,360) -> 10

      Parameters

      • inputs: WrapDto

        Angka dan rentang tempat angka dilipat

      Returns number

      Angka yang dilipat, dari min hingga kurang dari max

      const angle = bitbybit.math.wrap({ number: 370, min: 0, max: 360 });
      
    • Memantulkan nilai bolak-balik antara 0 dan length seiring t bertambah: naik ke length, turun kembali ke 0, dan lagi.

      Contoh: length 1 pada t 0.5 -> 0.5, t 1 -> 1, t 1.5 -> 0.5, t 2 -> 0

      Parameters

      • inputs: PingPongDto

        Nilai berjalan dan panjang tempat memantul

      Returns number

      Nilai yang memantul antara 0 dan panjang

      const bounce = bitbybit.math.pingPong({ t: 1.5, length: 1 });
      
    • Memindahkan nilai ke arah target sejauh paling banyak maxDelta, tanpa melampauinya.

      Contoh: 0 menuju 10 sejauh 3 -> 3, 8 menuju 10 sejauh 3 -> 10

      Parameters

      • inputs: MoveTowardsDto

        Nilai saat ini, target dan langkah terbesar yang diizinkan

      Returns number

      Nilai setelah satu langkah

      const next = bitbybit.math.moveTowards({ current: 8, target: 10, maxDelta: 3 });
      
    • Menghitung ekspresi aritmetika sederhana yang ditulis sebagai teks: angka, +, -, tanda perkalian, /, tanda kurung dan spasi.

      Ekspresi diurai dan dihitung oleh pustaka sendiri, tidak pernah diserahkan ke engine JavaScript untuk dijalankan, sehingga aman dengan teks yang diketik pengguna. Contoh: '(3+2) kali 4' yang ditulis dengan tandanya -> 20, '10/3' -> 3.3333

      Parameters

      Returns number

      Nilai hasil perhitungan

      const value = bitbybit.math.evalArithmetic({ expression: "(3 + 2) * 4" });