みさご解体新書

内分点・外分点

概要

線分 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;
}

ソースコード

point.ts / app.ts