内分点・外分点
概要
線分 AB を m : n で内分する点というのは、 A からの距離と B からの距離の比が m : n になるような点を表し、この点のことを内分点と呼ぶ。
線分 AB を m : n で外分する点というのは、外分する点が Q だとすると、点 Q が線分 AB の外側にあり、 AQ : QB の比が m : n と同一である場合を指し、この点 Q のことを外分点と呼ぶ。
コード例
export type Point = {
  x: number;
  y: number;
};
export function init(x: number = 0, y: number = 0): Point {
  return { x, y };
}
export function internalDivision(
  a: Point,
  b: Point,
  m: number,
  n: number
): Point {
  const point = init();
  point.x = (m * b.x + n * a.x) / (m + n);
  point.y = (m * b.y + n * a.y) / (m + n);
  return point;
}
export function externalDivision(
  a: Point,
  b: Point,
  m: number,
  n: number
): Point {
  const point = init();
  point.x = (-m * b.x + n * a.x) / (-m + n);
  point.y = (-m * b.y + n * a.y) / (-m + n);
  return point;
}