# 【八字形曲线】

可用于飞机巡逻轨迹的曲线函数。

Markdown 图片

/** 八字形曲线 */
export class LemniscateCurveUtil {
    /**
     * 从八字右侧向下出发,0.5时到达最左侧
     * c:八字小圆的直径
     * t范围是0~1
     */
    static getPos(c: number, t: number): number[] {
        t = t * 6.28318530717959;
        const a = c * Math.SQRT2;
        const denominator = 1 + Math.pow(Math.sin(t), 2);
        const cosT = Math.cos(t);
        const x = (a * cosT) / denominator;
        const y = (a * Math.sin(t) * cosT) / denominator;
        return [x, y];
    }
}