UNPKG

@chauffleet/expo-custom-map

Version:

Open source custom map library for Expo/React Native. Use your own tiles without Google Maps, Mapbox, or API keys. Created by ChaufFleet.

110 lines 4.18 kB
/** * Clamp une valeur entre un minimum et un maximum */ export declare const clamp: (value: number, min: number, max: number) => number; /** * Interpolation linéaire entre deux valeurs */ export declare const lerp: (start: number, end: number, progress: number) => number; /** * Interpolation inverse - trouve le facteur de progression entre deux valeurs */ export declare const inverseLerp: (start: number, end: number, value: number) => number; /** * Remap une valeur d'une plage à une autre */ export declare const remap: (value: number, fromMin: number, fromMax: number, toMin: number, toMax: number) => number; /** * Arrondir à un nombre spécifique de décimales */ export declare const roundToDecimals: (value: number, decimals: number) => number; /** * Vérifier si un nombre est dans une plage (inclusif) */ export declare const isInRange: (value: number, min: number, max: number) => boolean; /** * Calculer la distance euclidienne entre deux points 2D */ export declare const distance2D: (x1: number, y1: number, x2: number, y2: number) => number; /** * Calculer la distance euclidienne au carré (plus rapide si on n'a pas besoin de la racine) */ export declare const distanceSquared2D: (x1: number, y1: number, x2: number, y2: number) => number; /** * Normaliser un angle en radians entre 0 et 2π */ export declare const normalizeAngleRadians: (angle: number) => number; /** * Normaliser un angle en degrés entre 0 et 360 */ export declare const normalizeAngleDegrees: (angle: number) => number; /** * Calculer la différence entre deux angles (résultat entre -π et π) */ export declare const angleDifference: (angle1: number, angle2: number) => number; /** * Interpolation d'angle (prend le chemin le plus court) */ export declare const lerpAngle: (start: number, end: number, progress: number) => number; /** * Vérifier si un point est dans un rectangle */ export declare const isPointInRect: (pointX: number, pointY: number, rectX: number, rectY: number, rectWidth: number, rectHeight: number) => boolean; /** * Vérifier si un point est dans un cercle */ export declare const isPointInCircle: (pointX: number, pointY: number, circleX: number, circleY: number, radius: number) => boolean; /** * Calculer l'aire d'un polygone (formule du lacet) */ export declare const polygonArea: (vertices: [number, number][]) => number; /** * Vérifier si un point est dans un polygone (ray casting algorithm) */ export declare const isPointInPolygon: (point: [number, number], vertices: [number, number][]) => boolean; /** * Fonction easing pour les animations */ export declare const easing: { linear: (t: number) => number; easeInQuad: (t: number) => number; easeOutQuad: (t: number) => number; easeInOutQuad: (t: number) => number; easeInCubic: (t: number) => number; easeOutCubic: (t: number) => number; easeInOutCubic: (t: number) => number; easeInSine: (t: number) => number; easeOutSine: (t: number) => number; easeInOutSine: (t: number) => number; }; /** * Générer un hash simple pour un nombre (utile pour les seeds) */ export declare const simpleHash: (value: number) => number; /** * Générer un nombre pseudo-aléatoire avec une seed */ export declare const seededRandom: (seed: number) => number; /** * Calculer le facteur de zoom optimal pour afficher une zone */ export declare const calculateOptimalZoom: (bounds: { width: number; height: number; }, containerSize: { width: number; height: number; }, maxZoom?: number, padding?: number) => number; /** * Calculer le niveau de détail (LOD) basé sur la distance */ export declare const calculateLOD: (distance: number, maxDistance: number, maxLOD?: number) => number; /** * Throttle pour limiter la fréquence d'exécution d'une fonction */ export declare const throttle: <T extends (...args: any[]) => any>(func: T, delay: number) => ((...args: Parameters<T>) => void); /** * Debounce pour retarder l'exécution d'une fonction */ export declare const debounce: <T extends (...args: any[]) => any>(func: T, delay: number) => ((...args: Parameters<T>) => void); //# sourceMappingURL=mathUtils.d.ts.map