@technobuddha/library
Version:
A large library of useful functions
19 lines • 1.27 kB
JavaScript
import { toAngle } from "./to-angle.js";
/**
* Calculates the angle of a given line segment, relative to the horizontal axis
* @param line - The line segment for which to calculate the angle.
* @param options - see {@link UnitOptions}
* @returns The angle of the line segment in the specified units.
* @example
* ```ts
* angleOfLine({ x0: 0, y0: 0, x1: 10, y1: 10 }); // π/4
* angleOfLine({ x0: 0, y0: 0, x1: 10, y1: 10 }, 'degrees'); // 45
* ```
* @group Geometry
* @category Line Segment
* @category Angle
*/
export function angleOfLine(line, { unit = 'radians' } = {}) {
return toAngle(Math.atan2(line.y1 - line.y0, line.x1 - line.x0), 'radians', unit);
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5nbGUtb2YtbGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9hbmdsZS1vZi1saW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEM7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUNILE1BQU0sVUFBVSxXQUFXLENBQUMsSUFBaUIsRUFBRSxFQUFFLElBQUksR0FBRyxTQUFTLEtBQWtCLEVBQUU7SUFDbkYsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3BGLENBQUMifQ==