@uor-foundation/geometry
Version:
Layer 5: Geometric manifolds - the shape of mathematical space
52 lines • 1.69 kB
TypeScript
import type { PageTopology } from '@uor-foundation/topology';
export interface Point2D {
x: number;
y: number;
}
export interface CurveSegment {
start: bigint;
end: bigint;
curvature: number;
points: Point2D[];
}
export interface GeometricEmbedding {
folio: bigint;
curve: Point2D[];
segments: CurveSegment[];
totalRotation: number;
}
export interface RotationMatrix {
cos: number;
sin: number;
}
export declare class ContinuousEmbedding {
private topology;
private readonly LAMBDA;
private readonly FOLIO_SIZE;
private readonly rotationCache;
constructor(topology: PageTopology);
embedFolio(startIndex?: bigint): GeometricEmbedding;
computeCurvature(n: bigint): number;
getEmbedding(n: bigint): Point2D;
computeGeodesic(a: bigint, b: bigint): Point2D[];
embeddingDistance(a: bigint, b: bigint): number;
intrinsicDistance(a: bigint, b: bigint): bigint;
biLipschitzBounds(a: bigint, b: bigint): {
lower: number;
upper: number;
};
computeArcLength(path: Point2D[]): number;
findCriticalCurvaturePoints(start: bigint, end: bigint): bigint[];
visualizeEmbedding(embedding: GeometricEmbedding, width?: number, height?: number): string[];
getWindingNumber(embedding: GeometricEmbedding): number;
interpolateOnCurve(n: bigint, t: number): Point2D;
private precomputeRotations;
private getRotation;
extendToComplexPlane(n: bigint): {
real: number;
imag: number;
};
computeSpectralGap(start: bigint, end: bigint): number;
detectBottlenecks(embedding: GeometricEmbedding): bigint[];
}
//# sourceMappingURL=embedding.d.ts.map