@technobuddha/library
Version:
A large library of useful functions
17 lines • 1.28 kB
JavaScript
import { normalizeAngle } from "./normalize-angle.js";
import { toAngle } from "./to-angle.js";
/**
* Convert cartesian coordinates to polar
* @param coordinate - The Cartesian coordinate to convert.
* @param options - see {@link UnitOptions}
* @returns polar coordinated
* @group Geometry
* @category Coordinates
*/
export function toPolar(coordinate, { unit = 'radians' } = {}) {
return {
r: Math.hypot(coordinate.x, coordinate.y),
φ: toAngle(normalizeAngle(Math.atan2(coordinate.y, coordinate.x)), 'radians', unit),
};
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG8tcG9sYXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdG8tcG9sYXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEM7Ozs7Ozs7R0FPRztBQUNILE1BQU0sVUFBVSxPQUFPLENBQUMsVUFBcUIsRUFBRSxFQUFFLElBQUksR0FBRyxTQUFTLEtBQWtCLEVBQUU7SUFDbkYsT0FBTztRQUNMLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUN6QyxDQUFDLEVBQUUsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQztLQUNwRixDQUFDO0FBQ0osQ0FBQyJ9