@technobuddha/library
Version:
A large library of useful functions
21 lines • 1.38 kB
JavaScript
/**
* Calculates a point at a given fraction (`part`) along a line segment. By default it returns the
* true midpoint of the line segment
* @param line - The line segment defined by its start (`x0`, `y0`) and end (`x1`, `y1`) coordinates.
* @param part - The fraction along the line segment at which to calculate the point (default is `0.5` for the midpoint).
* @returns The Cartesian coordinates of the calculated point.
* @example
* ```typescript
* midpoint({ x0: 0, y0: 0, x1: 4, y1: 4 }); // { x: 2, y: 2 }
* ```
* @group Geometry
* @category Line Segment
*/
export function midpoint(line, part = 0.5) {
// Calculate the midpoint of the line segment
return {
x: line.x0 + (line.x1 - line.x0) * part,
y: line.y0 + (line.y1 - line.y0) * part,
};
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkcG9pbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbWlkcG9pbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsTUFBTSxVQUFVLFFBQVEsQ0FBQyxJQUFpQixFQUFFLElBQUksR0FBRyxHQUFHO0lBQ3BELDZDQUE2QztJQUM3QyxPQUFPO1FBQ0wsQ0FBQyxFQUFFLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJO1FBQ3ZDLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSTtLQUN4QyxDQUFDO0FBQ0osQ0FBQyJ9