Math is a highly lightweight utility, served as an addition to Roblox's traditional Math library.
npm i @rbxts/math
yarn add @rbxts/math
pnpm add @rbxts/math
function Map<T extends number>(
number: number,
minimumA: number,
maximumA: number,
minimumB: number,
maximumB: number,
): T;
Map the specified number using two ranges.
function Lerp<T extends number>(minimum: number, maximum: number, alpha: number): T;
Interpolate between two specified numbers with a given alpha number.
function LerpClamp<T extends number>(minimum: number, maximum: number, alpha: number): T;
Interpolate between two specified numbers with a given alpha number, which is clamped.
function InverseClamp<T extends number>(minimum: number, maximum: number, alpha: number): T;
Inverse lerp between two specified numbers to return its alpha number.
function LawOfCosines<T extends number>(numberA: number, numberB: number, numberC: number): T;
Solve for the opposite angle from numberC.
function Round<T extends number>(number: number, precision: number): T;
Round the specified number relative to the given precision factor, utilizing math.round
.
function RoundUp<T extends number>(number: number, precision: number): T;
Round the specified number relative to the given precision factor, utilizing math.ceil
.
function RoundDown<T extends number>(number: number, precision: number): T;
Round the specified number relative to the given precision factor, utilizing math.floor
.
function EulersNumber<T extends number>(): T;
Return eulers number.
function EulersConstant<T extends number>(): T;
Return eulers constant.
function GammaCoefficient<T extends number>(): T;
Return the gamma coefficient.
function GammaQuad<T extends number>(): T;
Return the gamma quad.
function GammaSet<T extends number>(): T;
Return the gamma set.
function E<T extends number>(): T;
Return E.
function Tau<T extends number>(): T;
Return tau.
function AperysConstant<T extends number>(): T;
Return apery's constant.
function BelphegorsPrimeNumber<T extends number>(): T;
Return belphegor's prime number.
// Services
import { Workspace } from "@rbxts/services";
// Modules
import { LerpClamp } from "@rbxts/math";
// Functions
const Part = new Instance("Part");
Part.Name = "Part";
Part.Position = new Vector3(0, 5, 0);
Part.Size = new Vector3(5, 1, 5);
Part.Parent = Workspace;
const partPositionClamped = LerpClamp(Part.Position.X + 1, Part.Position.Y + 1, Part.Position.Z + 1);
print(partPositionClamped);