Перейти к содержимому

Дополнительно · 2

Теорема Пифагора

Давай разберёмся, откуда в формуле расстояния из урока «Расстояние» берётся корень из суммы квадратов. Начнём с картинки.

Вот две точки. Красная линия — это dx, шаг от одной точки до другой по горизонтали. Зелёная — dy, шаг по вертикали. А синяя — прямой путь между точками, то есть расстояние, которое нам нужно:

dxdy

Красная линия — это dx, шаг по горизонтали между точками. Зелёная — dy, шаг по вертикали. Синяя — расстояние между точками напрямую, то, что мы и хотим посчитать.

dx = 3    dy = 4    расстояние = 5

Подвигай dx и dy. Все три линии меняются, но одно остаётся верным всегда: если возвести каждую в квадрат, то квадрат синей равен сумме квадратов красной и зелёной.

(синяя)² = (красная)² + (зелёная)²

Почему так, посмотрим чуть ниже.

Чтобы не писать цвета, дадим линиям буквы: красная — a, зелёная — b, синяя — c. Тогда правило выглядит так:

c² = a² + b²

Оно работает не только на нашей картинке. Оно верно для любого треугольника с прямым углом, таким же, как в углу листа бумаги. Такой треугольник называется прямоугольным. Две стороны, которые сходятся в прямом угле, — катеты (у нас красная и зелёная), а третья, наискосок, — гипотенуза (у нас синяя). Само правило называется теоремой Пифагора.

Сначала вспомним, что такое площадь квадрата. Если сторона квадрата равна a, то площадь — это a × a, то есть a². Поэтому и говорят «в квадрате».

Теперь возьмём большой квадрат со стороной a + b и положим в него четыре одинаковых прямоугольных треугольника с катетами a и b. Сделать это можно двумя способами.

В первом треугольники лежат по кругу, и посередине остаётся один наклонный квадрат со стороной c. Его площадь — c².

Во втором те же треугольники сдвинуты в два угла, и остаются два обычных квадрата: один со стороной a, другой со стороной b. Их площадь — a² и b².

1234c²a²b²

c² = 25    a² + b² = 25

Нажми «Переставить» и посмотри. Треугольники пронумерованы от 1 до 4, чтобы было видно, куда какой переехал.

Треугольников по-прежнему четыре, большой квадрат тот же, поменялось только то, как они лежат. Значит, и свободного места осталось столько же: сначала это был один квадрат c², а теперь два квадрата a² и b². Получается:

c² = a² + b²

dx и dy между двумя точками — это катеты a и b. А расстояние между точками — гипотенуза c. Значит, расстояние — это корень из a² + b²:

let distance = (dx * dx + dy * dy).sqrt(); // корень из суммы квадратов катетов — это гипотенуза

Корень нужен потому, что теорема даёт c², а нам нужно само c.

  • Теорема Пифагора: в прямоугольном треугольнике квадрат гипотенузы равен сумме квадратов катетов — c² = a² + b².
  • Красная линия (dx), зелёная (dy) и синяя (расстояние) — это те же a, b и c, только цветом.
  • Четыре треугольника можно уложить в один квадрат двумя способами. Свободное место одно и то же, поэтому c² = a² + b².
  • (dx * dx + dy * dy).sqrt() в уроке «Расстояние» — это та же формула.