export function dot(a, b) {
    return a.x * b.x + a.y * b.y + a.z * b.z;
}
export function add(a, b) {
    return {
        x: a.x + b.x,
        y: a.y + b.y,
        z: a.z + b.z,
    };
}
export function subtract(a, b) {
    return {
        x: a.x - b.x,
        y: a.y - b.y,
        z: a.z - b.z,
    };
}
export function multiply(a, b) {
    return {
        x: a.x * b,
        y: a.y * b,
        z: a.z * b,
    };
}
export function multiplyVector(a, b) {
    return {
        x: a.x * b.x,
        y: a.y * b.y,
        z: a.z * b.z,
    };
}
export function divideVector(a, b) {
    return {
        x: a.x / b.x,
        y: a.y / b.y,
        z: a.z / b.z,
    };
}
export function midPoint(a, b) {
    return multiply(add(a, b), 0.5);
}
export function magnitude(v) {
    return Math.sqrt(v.x * v.x + v.y * v.y + v.z * v.z);
}
export function magnitudeHorizontal(v) {
    return Math.sqrt(v.x * v.x + v.z * v.z);
}
export function normalize(v) {
    const mag = magnitude(v);
    return {
        x: v.x / mag,
        y: v.y / mag,
        z: v.z / mag,
    };
}
export function normalizeHorizontal(v) {
    const mag = magnitudeHorizontal(v);
    return {
        x: v.x / mag,
        y: v.y,
        z: v.z / mag,
    };
}
export function distance(a, b) {
    return magnitude(subtract(a, b));
}
export function distanceHorizontal(a, b) {
    return magnitudeHorizontal(subtract(a, b));
}

//# sourceMappingURL=../../../../../_KiCuMountsBPDebug/kicu/mmad/U/Vector3Utils.js.map
