@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
TypeScript
/**
* 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