Как найти сумму расстояний между точками

Графические способы решения задач с параметрами. Формула расстояния между двумя точками на плоскости.

            В данном материале будет рассмотрен один из очень красивых геометрических методов решения задач с параметрами — метод расстояний. А именно — применение формулы расстояния между двумя точками прямоугольной декартовой системы координат OXY.

        Выводится она довольно просто.

        Пусть на плоскости OXY заданы две точки А(x1; y1) и B(x2; y2(см. рисунок). И наша задача — определить расстояние между этими точками. Или длину отрезка АВ.

Описание: 0.png

        Как видно из рисунка, отрезок АВ является гипотенузой прямоугольного треугольника АВС с катетами АС и ВС. Их длины равны разности абсцисс и ординат концов А и В отрезка АВ:

        Модули ставятся для того, чтобы было неважно, как именно ориентирован наш отрезок и какая из координат больше — первая или вторая: модуль просто отсекает возможный минус, если, вдруг, скажем, х2 окажется меньше, чем х1. Ведь длина отрезка, очевидно, величина неотрицательная.

        Теперь, призвав на помощь тяжёлую артиллерию великую и могучую теорему Пифагора, получим наше искомое расстояние:

        .

        Поскольку как квадрат, так и модуль обладают одним весьма удобным и замечательным свойством — чётностью, то модули под корнем можно совершенно спокойно и без последствий заменить на обычные скобки.  :)

        Итого:

        

        Вот такая полезная формула. Что ж, на этом краткая теоретическая часть закончена. Пора теперь посмотреть, как именно эта формула работает на примере некоторых задач с параметрами из профильного ЕГЭ по математике.

        Пример 1

        

        Иными словами, от нас требуется найти такие а, при которых система имеет решение в принципе. Хотя бы одно. Ни сами решения, ни их количество находить при этом не нужно.

        Проанализируем наши уравнения.

        Первое уравнение представляет собой сумму квадратных корней из выражений с двумя переменными. Обычно, как только ученик видит уравнение с квадратными корнями, первое что приходит в голову, — срочно возвести обе части в квадрат!) Однако, традиционный «лобовой» способ решения путём возведения в квадрат обеих частей уравнения здесь вряд ли приведёт к чему-либо хорошему. А вы возведите! После первого возведения — да, квадраты обоих корней дадут просто подкоренные выражения, но… согласно бескомпромиссной формуле квадрата суммы (a+b)2=a2+2ab+b2, выплывет удвоенное произведение слагаемых, где корни сохранятся! Что потребует возводить в квадрат повторно… И в результате полной ликвидации корней у вас получится уравнение аж четвёртой степени, да ещё и с иксом и игреком… Короче, ужас!

        Нет, надо идти каким-то обходным путём. Каким же?

        В данном примере как раз таки здорово выручает формула расстояния между двумя точками на плоскости. Давайте присмотримся к первому уравнению системы:

        .

        Каждый из корней, фигурирующих в уравнении, очень похож на формулу расстояния между некими точками. Это намёк.) Займёмся расшифровкой каждого корня.

        Сопоставим первый корень с выведенной только что формулой расстояния:

        

        .

        Просто присматриваемся к этим двум корням и сравниваем. Похожи ведь, правда? Тогда, согласно нашей формуле расстояния, можно принять:

        x1 = 4; 

        x2 = x;

        y1 = a; 

        y2 = y.

        Значит, первый корень — это на самом деле расстояние от точки  (4; a) до точки (x; y).

        Аналогично сопоставив с формулой второй корень, увидим, что он тоже представляет собой расстояние от точки (7; a) опять же до точки (x; y).

        А теперь переведём первое уравнение с алгебраического языка (языка формул) на геометрический (язык расстояний).

        Алгебра:

         

        Геометрия:

        Сумма расстояний от точки (x; y) до точек (4; a) и (7; a) равна трём.

        Для наглядности нарисуем картинку, чтобы представлять, а чего, собственно, от нас хотят.)

Описание: 01.png

        Значит, согласно рисунку, с геометрической точки зрения первое уравнение системы выглядит так:

        AC + BC = 3,

где точки А и В зафиксированы (для конкретного значения параметра), а третья точка С как-то «гуляет» по координатной плоскости.

        Вообще говоря, множество точек плоскости, сумма расстояний от которых до двух фиксированных точек постоянна и равна некому положительному числу, представляет собой замкнутую кривую, которая называется красивым словом эллипс, а данные фиксированные точки являются фокусами эллипса. Но проблема состоит в том, что понятие эллипса не входит в школьную программу (зачастую даже физико-математических классов), а изучается уже в ВУЗе в курсе аналитической геометрии.) Так как же обойти это незнакомое (пока) понятие? Может, в данной (и подобных этой) задаче всё гораздо проще?

        Вынужден признаться. Да, всё гораздо проще!

        Дело всё в том, что понятие эллипса справедливо только в том случае, если эта самая сумма расстояний будет больше расстояния между самими фиксированными точками. Если же сумма расстояний от точки С(x; y)  до двух фиксированных точек (в данном случае A и B) точно равна расстоянию AB между ними, то точка С(x; y) обязательно будет лежать на отрезке AB, и никакого эллипса уже не будет, а будет просто отрезок AB с «гуляющей» по нему третьей точкой.

        Давайте посмотрим, чему же равно расстояние между нашими фиксированными точками:

        .

        Итак, длина отрезка АВ в точности получилась равной трём, как и правая часть уравнения. Это не случайно!) Что это означает? Это означает то, что наша точка С(x; y) обязательно лежит на отрезке AB и как-то по нему гуляет.) И только на отрезке! Ведь в противном случае, если бы точка С лежала где-то за его пределами (скажем, где-то выше или где-то ниже), то сумма расстояний от неё до концов отрезка АВ была бы строго больше тройки, что противоречило бы первому уравнению.

        Что ещё важного можно заметить в данном уравнении и на рисунке? А то, что при любом значении параметра «а» игрековые координаты А и В концов нашего отрезка совпадают (обе равны а). Это означает, что в любом случае наш отрезок АВ будет строго горизонтален (то бишь, параллелен оси ОХ), а его концы, в зависимости от значения параметра, будут как бы скользить вдоль направляющих прямых x=4 и x=7 (поскольку абсциссы его концов никак не зависят от «а», оставаясь всё время равными 4 и 7).

        Итак, первое уравнение разложили по полочкам, переходим ко второму.

        

        Вот тут возведение обеих частей в квадрат вполне прокатит. Возводим:

        Ну как, знакомо? Да, это классическое уравнение окружности с центром в точке (3;2) и радиусом 5.

        Кстати сказать, а как понять, что второе уравнение задаёт именно окружность не через возведение в квадрат, а через расстояние между точками? Снова переводим второе уравнение с алгебры на геометрию, используя нашу формулу расстояния.

        Алгебра:

         

        Геометрия:

        Расстояние от точки (x;y) до точки (3;2) равно пяти.

        А что же это за множество точек, находящихся от фиксированной точки (3;2) на расстоянии 5? Ну, конечно! Окружность радиуса 5 с центром в данной точке. :)

        Что ж, у нас уже имеется всё необходимое, чтобы нарисовать общий чертёж к задаче. Поехали!

        1) Итак, сначала, как водится, чертим координатные оси X и Y.

        2) Проводим пунктиром вспомогательные вертикальные прямые x=4 и x=7. Вдоль этих прямых, в зависимости от параметра «а», будет скользить наш отрезок АВ, всё время оставаясь горизонтальным. Как вагонная ось катится по рельсам.))

        3) Отмечаем точку (3; 2) — центр нашей окружности.

        4) Собственно, рисуем саму окружность с центром в данной точке и радиусом — пятёрка.

        5) Готово! Что в конечном итоге получилось — смотрим рисунок ниже.

Описание: 02.png

        А теперь пора рассуждать и включать воображение.) В задаче от нас требуется, чтобы система имела хотя бы одно решение. Что это означает с точки зрения нашего рисунка? А то, что наши отрезок (первое уравнение) и окружность (второе уравнение) должны иметь хотя бы одну общую точку. Когда такое возможно?

        Пусть при каком-то конкретном сильно отрицательном (например, -6) значении параметра а наш отрезок АВ (синего цвета) лежит где-то внизу и пока что вообще не пересекает окружность. Теперь мысленно начинаем двигать отрезок вверх по нашим «рельсам».)

        Имеем четыре граничные ситуации.

        Первое граничное положение отрезка, которое нас устроит, — когда его левый конец совпадёт с точкой М окружности (а = а1). И пересечение отрезка с окружностью будет до того момента, пока его правый конец не совпадёт с точкой N (а = а2). То есть, хотя бы одно (и единственное!) решение системы будет при таких а, когда отрезок пересекается с дугой MN окружности (показана зелёным цветом).

        Двигаем отрезок вверх дальше. При a > a2 отрезок оказывается целиком внутри окружности и, следовательно, решений у нашей системы снова нет. И следующие два граничных положения — момент, когда правый конец попадает в точку L (a = a3) и момент, когда левый конец попадает в точку K (a = a4). И пересечение будет тогда, когда отрезок находится между этими крайними положениями, пересекая уже верхнюю дугу KL. Все граничные положения отрезка показаны красным цветом. При дальнейшем движении отрезка вверх (то есть росте параметра «а») пересечений (а, следовательно, и решений системы) больше не будет.

        Итак, можно даже составить заготовку для будущего ответа:

.

        Причём граничные значения параметра а нас тоже устраивают, посему все скобки квадратные.

        Что ж, остаются сущие пустяки — определить эти самые граничные значения параметра.)

        Начнём с левого конца отрезка. То есть, точки А(4; a). Подставим координаты точки А в уравнение окружности (ведь мы же как раз отлавливаем пересечение отрезка с окружностью!):

        

        

        Получили два значения параметра. Очевидно, знак минус соответствует крайнему нижнему положению отрезка при a = a1, а знак плюс — крайнему верхнему при а = а4. Таким образом,

        Аналогично расправляемся и с правым концом — с точкой B(7; a):

        

        То есть,

        

       Итак, а2 = -1;  a3 = 5.

          Всё! Все интересующие нас значения параметра найдены, и теперь можно с чистой совестью записывать окончательный ответ.)

        Ответ:

        .

        В рассмотренном примере формула расстояния между точками была подана на блюдечке прослеживалась довольно явно. А вот следующий пример будет гораздо сложнее. Там, во-первых, в нагрузку добавятся модули, а во-вторых, потребуются дополнительные преобразования. Но ничего, мы тоже его распутаем.)

        Итак, приступим!

        Пример 2

        

        Во, накрутили… Сумма корней, под корнями модули… Кошмар!

        Как здесь можно узнать формулу расстояния между точками? Ясно, что надо как-то преобразовывать и приводить к красивому виду первое уравнение.

        Посмотрим, что получается под первым корнем. Раскроем скобки:

        

        Здесь мы воспользовались тем фактом, что и квадрат и модуль — функции чётные, а значит, x2 и |x|2 — одно и то же, поэтому без ущерба для здоровья мы заменили выражение x2 на |x|2, что позволило свернуть выражение с иксом по формуле квадрата суммы.

        А вот второй корень сразу так красиво преобразовать не выйдет: ведь там у нас совсем нет икса в квадрате, а вместо этого затесался параметр а, да ещё и игрек в первой степени. Чтобы избавиться от а и y, воспользуемся вторым уравнением и подставим в первое уравнение вместо y выражение x2+a:

        Вот так. И теперь первое уравнение системы стало выглядеть гораздо симпатичнее:

        

        Уже потихоньку вырисовывается нечто знакомое, правда? Что делать дальше? Ясно, что надо раскрывать модули. Лучше, когда их нет.) Давайте начнём с первого корня, то есть с икса.

        Если x≥0, то модуль раскрывается с плюсом (|x| = x), и тогда

        Таким образом, если x≥0, то первый корень представляет собой расстояние между точками (x; y) и (3; 0). С какой такой стати? Элементарно!

        Ведь можно же записать данное выражение вот так:

        

        Аналогично, если x<0, то наш модуль раскрывается с минусом (|x| = —x), и тогда

        

        Точно так же, раскрывая модуль игрека во втором радикале, получим:

        

        

        Значит, первое уравнение нашей системы разбивается на четыре случая раскрытия модулей:

        

        

        

        

        Каждое из полученных четырёх уравнений выражает сумму расстояний от неких двух фиксированных точек плоскости ОXY до точки (x; y), «гуляющей» где-то по плоскости. И эта сумма расстояний у нас постоянна и равна пяти.

        Здесь опять таки не будем выпендриваться и сделаем вид, что понятия не имеем про эллипс, а вместо этого снова посчитаем расстояния между точками.)

        Для этого изобразим все наши точки на координатой плоскости и соединим их отрезками. Это будут точки A(0; 4), B(3; 0), C(0; -4) и D(-3; 0). Вот наша картинка:

Описание: 03.png

        Теперь подробно рассмотрим, к примеру, первый случай:

        

        Он представляет собой сумму расстояний от точки (x; y) до точек A и B.

Вычислим длину отрезка АВ из треугольника AOB:

        Получили в точности пятёрку. То есть, длину отрезка AB! Что это означает? Это означает, что наша точка  с координатами (x; y) обязательно лежит на отрезке АВ и как-то по нему гуляет! Таким же образом доказывается, что и в остальных трёх случаях точка (x; y) лежит на соответствующем отрезке. Итак, множество точек, описывающих первое уравнение системы, — ромб ABCD со стороной 5. Каждая сторона ромба отвечает за свой случай раскрытия модулей.

        А вот второе уравнение нашей системы — обычная парабола y = x2 с вершиной в точке (0; a), гуляющая вверх-вниз вдоль оси игреков в зависимости от параметра. Вот наша картинка:

        А теперь (внимание!) начинаем двигать нашу параболу снизу вверх вдоль оси OY, меняя тем самым параметр а!

        Тогда видно, что, если вершина находится где-то совсем низко, то пересечений у параболы и ромба вообще не будет. Первый граничный случай соответствует a = -9, когда ветви параболы проходят через точки B и D ромба (показан чёрным цветом). В этом случае решений будет два. Как только вершина параболы сместится чуть выше -9, то каждая её ветвь пересечёт по две стороны ромба, и решений станет уже четыре — как раз то что нам и нужно. И так будет продолжаться до тех пор, пока вершина параболы не окажется в точке С (синий цвет), то есть, а = -4, когда решений станет пять.

        Таким образом, первая часть ответа будет такая:

        .

        Сами границы нас не устраивают и в ответ, естественно, не включаются.

        Но… Это ещё не всё!) Продолжим дальше двигать вверх по оси ОY нашу параболу. Когда вершина окажется чуть выше точки С, то пересечений станет уже шесть: по два с нижними сторонами ромба и по одному с верхними. И так будет до тех пор, пока ветви параболы не станут касаться сторон CD и CB ромба (красный цвет). В случае касания решений снова станет четыре, что от нас и требуется. И это значение параметра а, при котором парабола касается нижних сторон ромба, теперь нам и предстоит «отловить».)

        На помощь придёт такой мощный инструмент, как производная. В силу симметрии картинки, рассматривать будем только правую ветвь параболы. Итак, пусть наша красная парабола касается нижнего отрезка ромба СВ в какой-то точке М.

Описание: 2.png

        Уравнение прямой, задающей отрезок СВ, будет

        

        поскольку тангенс угла наклона прямой CB к оси ОХ равен:

        Уравнение нашей параболы будет y = x2 + a. Мы не знаем пока, чему равно «а», но зато твёрдо знаем, что отрезок CB её касается, а значит, производная нашей параболы в точке касания M должна быть равна 4/3.

        Вычислим эту самую производную:

        (x2+a)’ = (x2)’ + a’ = 2x

        Тогда 2x = 4/3 и тогда x = 2/3 — абсцисса точки касания M.

        Поскольку точка M лежит на отрезке CB, то её координаты обязательно удовлетворяют уравнению этого отрезка:

Значит, координаты нашей точки касания следующие:

        Но! Точка M принадлежит не только отрезку, но ещё и параболе! Поэтому, подставив координаты точки M в уравнение параболы, мы теперь уже без труда найдём интересующее нас значение а:

        Вот теперь всё. Все характерные положения параболы представлены на картинке.

Описание: 3.png

        Легко видеть, что при дальнейшем росте параметра а четырёх решений уже не будет, а будет либо два, либо одно, либо ни одного.

        Кстати сказать, а можно ли в данной ситуации обойтись без производной? Уж больно напряжно с ней возиться, как правило…

        Что ж, специально для разумных халявщиков предлагаю способ-лайт.) Но, следует предупредить, что он срабатывает только в случае каких-нибудь простеньких графиков — в основном для параболы. В случае более сложных функций способ с производной — самый надёжный.)

        Итак, нам требуется отыскать значение параметра, при котором происходит касание прямой

        и параболы

        .

Что означает сей факт с алгебраической точки зрения? Только то, что уравнение

        имеет строго один корень! То есть, дискриминант получившегося квадратного уравнения обязан быть равен нулю!

        Что ж, остаётся только привести наше уравнение к стандартному виду, посчитать дискриминант да приравнять его к нулю.) Действуем:

        Как и следовало ожидать, результат получился тем же самым.)

        Ответ:

        Заключение: если в примере предложено какое-то зверское на вид уравнение или неравенство с корнями, но подкоренные выражения представляют собой какие-то квадратичные конструкции от x и y вида 

то ни в коем случае не возводим обе части в квадрат с целью избавиться от корней и не тратим своё время! Вместо этого пробуем выделить полные квадраты под корнями по каждой из переменных.

        Очень часто в таких конструкциях срабатывает именно формула расстояния между двумя точками, что значительно упрощает дальнейшее решение примера и тем самым открывает дорогу к успеху.

        Заметим, что данный приём работает только тогда, когда наше подкоренное выражение именно такого вида — то есть, переменные под корнем стоят в квадрате и в первой степени (а не в кубе или более высоких степенях) и именно сами по себе, без попарных произведений xy . Если данное требование не выполняется, и под корнем затесалось, скажем, ещё и произведение xy, то либо его надо на что-то заменять (скажем, если оно выражается из второго уравнения), либо данный пример решается как-то по-другому.

        Успехов!

Given n integer coordinates. The task is to find sum of manhattan distance between all pairs of coordinates. 
Manhattan Distance between two points (x1, y1) and (x2, y2) is: 
|x1 – x2| + |y1 – y2|
Examples : 

Input : n = 4
        point1 = { -1, 5 }
        point2 = { 1, 6 }
        point3 = { 3, 5 }
        point4 = { 2, 3 }
Output : 22
Distance of { 1, 6 }, { 3, 5 }, { 2, 3 } from 
{ -1, 5 } are 3, 4, 5 respectively.
Therefore, sum = 3 + 4 + 5 = 12

Distance of { 3, 5 }, { 2, 3 } from { 1, 6 } 
are 3, 4 respectively.
Therefore, sum = 12 + 3 + 4 = 19

Distance of { 2, 3 } from { 3, 5 } is 3.
Therefore, sum = 19 + 3 = 22.

Method 1: (Brute Force) 

Time Complexity: O(n2)
The idea is to run two nested loop i.e for each point, find manhattan distance for all other points.  

for (i = 1; i < n; i++)

  for (j = i + 1; j < n; j++)

    sum += ((xi - xj) + (yi - yj))

Below is the implementation of this approach:  

C++

#include <bits/stdc++.h>

using namespace std;

int distancesum(int x[], int y[], int n)

{

    int sum = 0;

    for (int i = 0; i < n; i++)

        for (int j = i + 1; j < n; j++)

            sum += (abs(x[i] - x[j]) + abs(y[i] - y[j]));

    return sum;

}

int main()

{

    int x[] = { -1, 1, 3, 2 };

    int y[] = { 5, 6, 5, 3 };

    int n = sizeof(x) / sizeof(x[0]);

    cout << distancesum(x, y, n) << endl;

    return 0;

}

C

#include <stdio.h>

#include <stdlib.h>

int distancesum(int x[], int y[], int n)

{

    int sum = 0;

    for (int i = 0; i < n; i++)

        for (int j = i + 1; j < n; j++)

            sum += (abs(x[i] - x[j]) + abs(y[i] - y[j]));

    return sum;

}

int main()

{

    int x[] = { -1, 1, 3, 2 };

    int y[] = { 5, 6, 5, 3 };

    int n = sizeof(x) / sizeof(x[0]);

    printf("%dn", distancesum(x, y, n));

    return 0;

}

Java

import java.io.*;

class GFG {

    static int distancesum(int x[], int y[], int n)

    {

        int sum = 0;

        for (int i = 0; i < n; i++)

            for (int j = i + 1; j < n; j++)

                sum += (Math.abs(x[i] - x[j])

                        + Math.abs(y[i] - y[j]));

        return sum;

    }

    public static void main(String[] args)

    {

        int x[] = { -1, 1, 3, 2 };

        int y[] = { 5, 6, 5, 3 };

        int n = x.length;

        System.out.println(distancesum(x, y, n));

    }

}

Python3

def distancesum (x, y, n):

    sum = 0

    for i in range(n):

        for j in range(i+1,n):

            sum += (abs(x[i] - x[j]) +

                        abs(y[i] - y[j]))

    return sum

x = [ -1, 1, 3, 2 ]

y = [ 5, 6, 5, 3 ]

n = len(x)

print(distancesum(x, y, n) )

C#

using System;

class GFG {

    static int distancesum(int []x, int []y, int n)

    {

        int sum = 0;

        for (int i = 0; i < n; i++)

            for (int j = i + 1; j < n; j++)

                sum += (Math.Abs(x[i] - x[j]) +

                            Math.Abs(y[i] - y[j]));

        return sum;

    }

    public static void Main()

    {

        int []x = { -1, 1, 3, 2 };

        int []y = { 5, 6, 5, 3 };

        int n = x.Length;

        Console.WriteLine(distancesum(x, y, n));

    }

}

PHP

<?php

function distancesum( $x, $y, $n)

{

    $sum = 0;

    for($i = 0; $i < $n; $i++)

        for ($j = $i + 1; $j < $n; $j++)

            $sum += (abs($x[$i] - $x[$j]) +

                     abs($y[$i] - $y[$j]));

    return $sum;

}

    $x = array(-1, 1, 3, 2);

    $y = array(5, 6, 5, 3);

    $n = count($x);

    echo distancesum($x, $y, $n);

?>

Javascript

<script>

    function distancesum(x, y, n)

    {

        let sum = 0;

        for (let i = 0; i < n; i++)

            for (let j = i + 1; j < n; j++)

                sum += (Math.abs(x[i] - x[j]) +

                            Math.abs(y[i] - y[j]));

        return sum;

    }

        let x = [ -1, 1, 3, 2 ];

        let y = [ 5, 6, 5, 3 ];

        let n = x.length;

        document.write(distancesum(x, y, n));

</script>

Output:  

22

Time Complexity: O(n2
Auxiliary Space: O(1)

Method 2: (Efficient Approach) 

  1. The idea is to use Greedy Approach. First observe, the manhattan formula can be decomposed into two independent sums, one for the difference between x coordinates and the second between y coordinates. If we know how to compute one of them we can use the same method to compute the other. So now we will stick to compute the sum of x coordinates distance.
  2. Let’s assume that we have calculated the sum of distances between any two points till a point xi-1 for all values of x‘s smaller than xi-1 , let this sum be res and now we have to calculate the distance between any two points with xi included, where xi is the next greater point, To calculate the distance of each point from the next greater point xi ,  we can add the existing sum of differences res with the distance of xi from all the points xk which are less than xi. Hence the sum between any two points will now be equal to res + (xi xk) , where xi is the current point from which differences are being measured, and xk are all the points less than xi.
  3. Because for every calculation xi remains same, we can simplify the summation as :

res = res + (xi – x0) + (xi – x1) + (xi – x2) + (xi – x3)………(xi – xi-1)

res = res + (xi)*i – (x0 +x1 + x2 + …… xi-1) , because in a sorted array, there are i elements smaller than the current index i .

res = res + (xi)*i – Si-1  , where Si-1 is the sum of all the previous points till index i – 1

        4. For the new index i , we need to add the difference of the current index xi from all the previous indices x < xi

        5. If we sort all points in non-decreasing order, we can easily compute the desired sum of distances along one axis between each pair of coordinates in O(N) time, processing points from left to right and using the above method. 
Also, we don’t have to concern if two points are equal coordinates, after sorting points in non-decreasing order, we say that a point xi-1 is smaller xi if and only if it appears earlier in the sorted array.
Below is the implementation of this approach: 

C++

#include <bits/stdc++.h>

using namespace std;

int distancesum(int arr[], int n)

{

    sort(arr, arr + n);

    int res = 0, sum = 0;

    for (int i = 0; i < n; i++) {

        res += (arr[i] * i - sum);

        sum += arr[i];

    }

    return res;

}

int totaldistancesum(int x[], int y[], int n)

{

    return distancesum(x, n) + distancesum(y, n);

}

int main()

{

    int x[] = { -1, 1, 3, 2 };

    int y[] = { 5, 6, 5, 3 };

    int n = sizeof(x) / sizeof(x[0]);

    cout << totaldistancesum(x, y, n) << endl;

    return 0;

}

Java

import java.io.*;

import java.util.*;

class GFG {

    static int distancesum(int arr[], int n)

    {

        Arrays.sort(arr);

        int res = 0, sum = 0;

        for (int i = 0; i < n; i++) {

            res += (arr[i] * i - sum);

            sum += arr[i];

        }

        return res;

    }

    static int totaldistancesum(int x[],

                            int y[], int n)

    {

        return distancesum(x, n) +

                        distancesum(y, n);

    }

    public static void main(String[] args)

    {

        int x[] = { -1, 1, 3, 2 };

        int y[] = { 5, 6, 5, 3 };

        int n = x.length;

        System.out.println(totaldistancesum(x,

                                        y, n));

    }

}

Python3

def distancesum (arr, n):

    arr.sort()

    res = 0

    sum = 0

    for i in range(n):

        res += (arr[i] * i - sum)

        sum += arr[i]

    return res

def totaldistancesum( x , y , n ):

    return distancesum(x, n) + distancesum(y, n)

x = [ -1, 1, 3, 2 ]

y = [ 5, 6, 5, 3 ]

n = len(x)

print(totaldistancesum(x, y, n) )

C#

using System;

class GFG {

    static int distancesum(int []arr, int n)

    {

        Array.Sort(arr);

        int res = 0, sum = 0;

        for (int i = 0; i < n; i++) {

            res += (arr[i] * i - sum);

            sum += arr[i];

        }

        return res;

    }

    static int totaldistancesum(int []x,

                            int []y, int n)

    {

        return distancesum(x, n) +

                        distancesum(y, n);

    }

    public static void Main()

    {

        int []x = { -1, 1, 3, 2 };

        int []y = { 5, 6, 5, 3 };

        int n = x.Length;

        Console.WriteLine(totaldistancesum(x,

                                        y, n));

    }

}

PHP

<?php

function distancesum($arr, $n)

{

    sort($arr);

    $res = 0; $sum = 0;

    for ($i = 0; $i < $n; $i++)

    {

        $res += ($arr[$i] * $i - $sum);

        $sum += $arr[$i];

    }

    return $res;

}

function totaldistancesum($x, $y, $n)

{

    return distancesum($x, $n) +

           distancesum($y, $n);

}

$x = array(-1, 1, 3, 2);

$y = array(5, 6, 5, 3);

$n = sizeof($x);

echo totaldistancesum($x, $y, $n), "n";

?>

Javascript

<script>

    function distancesum(arr, n)

    {

        arr.sort();

        let res = 0, sum = 0;

        for (let i = 0; i < n; i++) {

            res += (arr[i] * i - sum);

            sum += arr[i];

        }

        return res;

    }

    function totaldistancesum(x,

                            y, n)

    {

        return distancesum(x, n) +

                        distancesum(y, n);

    }

        let x = [ -1, 1, 3, 2 ];

        let y = [ 5, 6, 5, 3 ];

        let n = x.length;

        document.write(totaldistancesum(x,

                                        y, n));

</script>

Output : 

22

Time Complexity : O(n log n) 
Auxiliary Space: O(1)

This article is contributed by Aarti_Rathi. Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above

Last Updated :
20 Jun, 2022

Like Article

Save Article

Система координат

С чего было бы логично начать обсуждение метода координат? Наверное, с понятия системы координат. Вспомни, когда ты с нею впервые столкнулся.

Мне кажется, что в 7 классе, когда ты узнал про существование линейной функции ( y=ax+b), например, ( y=2{x}-3).

Напомню, ты строил ее по точкам. Помнишь?

Ты выбирал произвольное число ( x), подставлял ее в формулу ( y=2{x}-3) и вычислял таким образом ( y).

Например, если ( x=0), то ( y=2cdot 0-3=-3), если же ( x=1), то ( y=2cdot 1-3=-1)и т. д.

Что же ты получал в итоге?

А получал ты точки с координатами: ( Aleft( 0,-3 right)) и ( Bleft( 1,-1 right)).

Далее ты рисовал «крестик» (систему координат ( X0Y)), выбирал на ней масштаб (сколько клеточек у тебя будет единичным отрезком) и отмечал на ней полученные тобою точки, которые затем соединял прямой линией, полученная линия и есть график функции ( y=2{x}-3).

Тут есть несколько моментов, которые стоит объяснить тебе чуть подробнее:

  • Единичный отрезок ты выбираешь из соображений удобства, так, чтобы все красиво и компактно умещалось на рисунке;
  • Принято, что ось ( displaystyle X) идет слева направо, а ось ( displaystyle Y) – cнизу вверх;
  • Они пересекаются под прямым углом, а точка их пересечения называется началом координат. Она обозначается буквой ( displaystyle O);
  • В записи координаты точки, например ( displaystyle Aleft( 0,-3 right)), слева в скобках стоит координата точки по оси ( displaystyle X), а справа, по оси ( displaystyle Y). В частности, ( displaystyle Aleft( 0,-3 right)) просто означает, что у точки ( displaystyle A) ( displaystyle x=0,~y=-3.);
  • Для того, чтобы задать любую точку на координатной оси, требуется указать ее координаты (2 числа);
  • Для любой точки, лежащей на оси ( displaystyle Ox,), ( displaystyle y=0.);
  • Для любой точки, лежащей на оси ( displaystyle Oy), ( displaystyle x=0.);
  • Ось ( displaystyle Ox) называется осью абсцисс;
  • Ось ( displaystyle Oy) называется осью ординат.

Векторы

Теперь давай с тобой сделаем следующий шаг: отметим две точки ( displaystyle Aleft( {{x}_{1}},{{y}_{1}} right)) ( displaystyle Bleft( {{x}_{2}},{{y}_{2}} right)).

Соединим эти две точки отрезком. И поставим стрелочку так, как будто мы проводим отрезок из точки ( displaystyle A) к точке ( displaystyle B):

То есть мы сделаем наш отрезок направленным!

Вспомни, как еще называется направленный отрезок? Верно, он называется вектором!

Вектором называется направленный отрезок, имеющий начало и конец.

Таким образом, если мы соединим точку ( displaystyle A) c точкой ( displaystyle B), причем началом у нас будет точка A, а концом – точка B, то мы получим вектор ( displaystyle overrightarrow{AB}).

Это построение ты тоже делал в 8 классе, помнишь?

Координаты вектора

Оказывается, векторы, как и точки, можно обозначать двумя цифрами: эти цифры называются координатами вектора.

Вопрос: как ты думаешь, достаточно ли нам знать координаты начала и конца вектора, чтобы найти его координаты?

Оказывается, что да! И делается это очень просто:

Координаты вектора = координаты точки конца – координаты точки начала.

Таким образом, так как в векторе ( displaystyle overrightarrow{AB}) точка ( displaystyle Aleft( {{x}_{1}},{{y}_{1}} right)) – начало, а ( displaystyle Bleft( {{x}_{2}},{{y}_{2}} right)) – конец, то вектор ( displaystyle overrightarrow{AB}) имеет следующие координаты:

( displaystyle overrightarrow{AB}left( {{x}_{2}}-{{x}_{1}},{{y}_{2}}-{{y}_{1}} right))

Например, если ( displaystyle Aleft( 2,0 right))( displaystyle Bleft( 1,2 right)), то координаты вектора ( displaystyle overrightarrow{AB})

( displaystyle overrightarrow{AB}left( 1-2,2-0 right)=overrightarrow{AB}left( -1,2 right))

Теперь давай сделаем наоборот, найдем координаты вектора ( displaystyle overrightarrow{BA}).

Что нам для этого нужно поменять? Да, нужно поменять местами начало и конец: теперь начало вектора будет в точке ( displaystyle B), а конец – в точке ( displaystyle A).

Тогда:

( displaystyle overrightarrow{BA}left( 2-1,text{ }!!~!!text{ }0-2 right)=overrightarrow{BA(}1,-2).)

Посмотри внимательно, чем отличаются векторы ( displaystyle overrightarrow{AB}) и ( displaystyle overrightarrow{BA})?

Единственное их отличие – это знаки в координатах. Они противоположны. Этот факт принято записывать вот так:

( displaystyle overrightarrow{AB}=-overrightarrow{BA})

Иногда, если не оговаривается специально, какая точка является началом вектора, а какая – концом, то векторы обозначают не двумя заглавными буквами, а одной строчной, например: ( displaystyle {vec{a}}), ( displaystyle {vec{p}}) и т. д.

Еще больше о векторах и проекциях (эту тему мы непременно затронем) ты можешь прочитать в статье по физике «Большая теория по векторам» 🙂

Действия с векторами

Что еще можно делать с векторами?

Да почти все то же самое, что и с обычными числами:

  • Векторы можно складывать друг с другом;
  • Векторы можно вычитать друг из друга;
  • Векторы можно умножать (или делить) на произвольное ненулевое число;
  • Векторы можно умножать друг на друга.

Что же происходит при выполнении этих действий с координатами векторов?

1. При сложении (вычитании) двух векторов, мы складываем (вычитаем) поэлементно их координаты.

То есть:

( vec{a}left( {{x}_{1}},{{y}_{1}} right)+vec{b}left( {{x}_{2}},{{y}_{2}} right)=vec{c}left( {{x}_{1}}+{{x}_{2}},{{y}_{1}}+{{y}_{2}} right))

( vec{a}left( {{x}_{1}},{{y}_{1}} right)-vec{b}left( {{x}_{2}},{{y}_{2}} right)=vec{c}left( {{x}_{1}}-{{x}_{2}},{{y}_{1}}-{{y}_{2}} right))

2. При умножении (делении) вектора на число, все его координаты умножаются (делятся) на это число:

( kcdot vec{a}left( {{x}_{1}},{{y}_{1}} right)=vec{b}left( k{{x}_{1}},k{{y}_{1}} right))

Например:

Най­ди­те сумму ко­ор­ди­нат век­то­ра ( vec{a}+vec{b}).

Вектор растягивается или сжимается или меняет направление при умножении или делении на число:

Давай вначале найдем координаты каждого из векторов.

Оба они имеют одинаковое начало – точку начала координат. Концы у них разные.

Тогда ( vec{a}left( 2-0,6-0 right)=vec{a}left( 2,6 right)), ( vec{b}left( 8-0,4-0 right)=vec{b}left( 8,4 right)).

Теперь вычислим координаты вектора ( vec{c}=vec{a}+vec{b}=vec{c}left( 2+8,4+6 right)=vec{c}left( 10,10 right))

Тогда сумма координат полученного вектора равна ( 20).

Ответ: ( 20)

Теперь реши сам следующую задачу:

Найти сумму координат вектора ( 3vec{a}-2vec{b})

Проверяем:

  • ( vec{a}=vec{a}left( 4-2,10-4 right)=vec{a}left( 2,6 right));
  • ( vec{b}=vec{b}left( 10-2,6-2 right)=vec{b}left( 8,4 right));
  •  ( vec{c}=3vec{a}-2vec{b}=3vec{a}left( 2,6 right)-2vec{b}left( 8,4 right)=left( 6,18 right)-left( 16,8 right)=vec{c}left( -10,10 right)); 
  • ( -10+10=0).

Ответ: ( 0)

Расстояние между двумя точками на координатной плоскости

Давай рассмотрим теперь следующую задачу: у нас есть две точки на координатной плоскости. Как найти расстояние между ними?

Пусть первая точка будет ( {{P}_{1}}({{x}_{1}},{{y}_{1}})), а вторая ( {{P}_{2}}left( {{x}_{2}},{{y}_{2}} right)).

Обозначим расстояние между ними через ( d). Давай сделаем для наглядности следующий чертеж:

Что я сделал?

Я, во-первых, соединил точки ( {{P}_{1}}left( {{x}_{1}},{{y}_{1}} right)) и ( {{P}_{2}}left( {{x}_{2}},{{y}_{2}} right)).

А также из точки ( {{P}_{1}}) провел линию, параллельную оси ( Ox), а из точки ( {{P}_{2}}) провел линию, параллельную оси ( Oy).

Они пересеклись в точке ( R), образовав при этом замечательную фигуру. Чем она замечательна?

Да мы с тобой почти что все знаем про прямоугольный треугольник. Ну уж теорему Пифагора – точно!

Искомый отрезок – это гипотенуза этого треугольника, а отрезки ( {{P}_{1}}R,~{{P}_{2}}R) – катеты.

Чему равны координаты точки ( R)?

Да, их несложно найти по картинке: ( Rleft( {{x}_{2}},{{y}_{1}} right).~)

Так как отрезки ( {{P}_{1}}R,~{{P}_{2}}R) параллельны осям ( Ox) и ( Oy) соответственно, то их длины легко найти: если обозначить длины отрезков ( {{P}_{1}}R,~{{P}_{2}}R) соответственно через ( left| {{P}_{1}}Rleft| ,~ right|{{P}_{2}}R right|), то

( left| {{P}_{1}}R right|={{x}_{2}}-{{x}_{1}})

( left| {{P}_{2}}R right|={{y}_{2}}-{{y}_{1}})

Теперь воспользуемся теоремой Пифагора. Длины катетов нам известны, гипотенузу мы найдем:

( {{d}^{2}}=text{ }!!~!!text{ }left| {{P}_{1}}{{P}_{2}} right|=text{ }!!~!!text{ }{{left| {{P}_{1}}R right|}^{2}}+{{left| {{P}_{2}}R right|}^{2}}=({{x}_{2}}-{{x}_{1}}){{~}^{2}}+({{y}_{2}}-{{y}_{1}}){{~}^{2}}~)

( d=~sqrt{({{x}_{2}}-{{x}_{1}}){{~}^{2}}+({{y}_{2}}-{{y}_{1}}){{~}^{2}}})

Таким образом, расстояние между двумя точками – это корень из суммы квадратов разностей из координат. 

Или же – расстояние между двумя точками – это длина отрезка, их соединяющего.

Легко заметить, что расстояние между точками не зависит от направления.

Тогда:

( d=left| overrightarrow{{{P}_{1}}{{P}_{2}}} right|=left| overrightarrow{{{P}_{2}}{{P}_{1}}} right|=sqrt{({{x}_{2}}-{{x}_{1}}){{~}^{2}}+({{y}_{2}}-{{y}_{1}}){{~}^{2}}})

Отсюда делаем три вывода:

  • Длина вектора = корень из суммы квадратов его координат;
  • Найти расстояние между двумя точками = найти длину вектора, их соединяющего (в любом направлении);
  • Длины векторов, соединяющих две точки в разном направлении, равны.

Давай немного поупражняемся в вычислении расстояния между двумя точками:

Например, если ( Aleft( 1,2 right),~Bleft( 3,4 right)), то расстояние между ( A) и ( B) равно

( d=sqrt{{{left( 3-1 right)}^{2}}+{{left( 4-2 right)}^{2}}}=sqrt{4+4}=sqrt{8}=2sqrt{2})

Или пойдем по-другому: найдем координаты вектора ( overrightarrow{AB})

( overrightarrow{AB}left( 3-1,4-2 right)=overrightarrow{AB}left( 2,2 right))

И найдем длину вектора:

( left| overrightarrow{AB} right|=sqrt{{{2}^{2}}+{{2}^{2}}}=sqrt{8}=2sqrt{2})

Как видишь, одно и то же!

Теперь немного потренируйся сам:

Задание. Найти расстояние между указанными точками:

  • ( Aleft( 2,sqrt{3} right),~Bleft( 5,2sqrt{3} right));
  • ( Cleft( 2,4 right),~Dleft( 1,-5 right));
  • ( Fleft( sqrt{12},1 right),~Gleft( sqrt{3},-1 right)).

Проверяем:

  • ( d=sqrt{{{left( 5-2 right)}^{2}}+{{left( 2sqrt{3}-sqrt{3} right)}^{2}}}=sqrt{9+3}=sqrt{12}=2sqrt{3});
  • ( displaystyle d=sqrt{{{left( 1-2 right)}^{2}}+{{left( -5-4 right)}^{2}}}=sqrt{1+81}=sqrt{82});
  • ( displaystyle d=sqrt{{{left( sqrt{3}-sqrt{12} right)}^{2}}+{{left( -1-1 right)}^{2}}}=sqrt{left( 3-2sqrt{3}sqrt{12}+12 right)+4}=); ( displaystyle=sqrt{3-2sqrt{36}+12+4}=sqrt{3-12+12+4}=sqrt{7}).

Вот еще пара задачек на ту же формулу, правда звучат они немного по-другому:

1. Най­ди­те квад­рат длины век­то­ра ( vec{a}-vec{b}).

2. Най­ди­те квад­рат длины век­то­ра ( overrightarrow{AB})

Я так думаю, ты с ними без труда справился? Проверяем:

1. А это на внимательность) Мы уже нашли координаты векторов ( displaystyle {vec{a}}) и ( displaystyle {vec{b}}) ранее: ( displaystyle vec{a}left( 2,6 right),~vec{b}left( 8,4 right)). Тогда вектор ( displaystyle vec{a}-vec{b}) имеет координаты ( displaystyle left( 2-8,6-4 right)=left( -6,2 right)). Квадрат его длины будет равен:

( displaystyle {{d}^{2}}={{left( -6 right)}^{2}}+{{2}^{2}}=36+4=40.)

2. Найдем координаты вектора ( displaystyle overrightarrow{AB}=overrightarrow{AB}left( 8-2,6-4 right)=overrightarrow{AB}left( 6,2 right))

Тогда квадрат его длины равен

( displaystyle {{d}^{2}}={{6}^{2}}+{{2}^{2}}=36+4=40.)

Ничего сложного, правда? Обычная арифметика, не более того.

Следующие задачки нельзя однозначно классифицировать, они скорее на общую эрудицию и на умение рисовать простенькие картинки.

Задача 1. Най­ди­те синус угла на­кло­на от­рез­ка, со­еди­ня­ю­ще­го точки ( displaystyle Oleft( 0;~0 right)),( displaystyle Aleft( 6;~8 right)) с осью абсцисс.

Как мы будем поступать здесь?

Нужно найти синус угла между ( displaystyle OA) и осью ( displaystyle Ox).

А где мы умеем искать синус? Верно, в прямоугольном треугольнике.

Так что нам нужно сделать? Построить этот треугольник!

Поскольку координаты точки ( displaystyle A-6) и ( displaystyle 8), то отрезок ( displaystyle OB) равен ( displaystyle 6), а отрезок ( displaystyle AB-8).

Нам нужно найти синус угла ( displaystyle angle AOB).

Напомню тебе, что синус – это отношение противолежащего катета к гипотенузе, тогда

( displaystyle sinangle AOB=frac{AB}{OA})

Что нам осталось сделать?

Найти гипотенузу.

Ты можешь сделать это двумя способами: по теореме Пифагора (катеты-то известны!) или по формуле расстояния между двумя точками (на самом деле одно и то же, что и первый способ!).

Я пойду вторым путем:

( displaystyle OA=sqrt{{{left( 6-0 right)}^{2}}+{{left( 8-0 right)}^{2}}}=10)

Тогда

( displaystyle sinangle AOB=frac{AB}{OA}=frac{8}{10}=0.8)

Ответ: ( displaystyle 0.8)

Следующая задача покажется тебе еще проще. Она – на координаты точки.

Задача 3. В условиях предыдущей задачи найти сумму расстояний от точки ( displaystyle A) до осей координат.

Задача – вообще элементарная, если знать, что такое расстояние от точки до осей.

Ты знаешь?

Я надеюсь, но все же напомню тебе:

Расстояние от точки до осей координат – это длины перпендикуляров, опущенных из точки к осям.

Итак, на моем рисунке, расположенном чуть выше, я уже изобразил один такой перпендикуляр. К какой он оси?

К оси ( displaystyle Ox).

И чему же равна тогда его длина?

Она равна ( displaystyle 8).

Теперь сам проведи перпендикуляр к оси ( displaystyle Oy) и найди его длину. Она будет равна ( displaystyle 6), ведь так?

Тогда их сумма равна ( displaystyle 14).

Ответ: ( displaystyle 14).

Задача 4. В условиях задачи 2, найдите ординату точки, симметричной точке ( displaystyle A) относительно оси абсцисс.

Решение:

Я думаю, тебе интуитивно ясно, что такое симметрия?

Очень многие объекты ею обладают: многие здания, столы, самолеты, многие геометрические фигуры: шар, цилиндр, квадрат, ромб и т. д.

Грубо говоря, симметрию можно понимать вот как: фигура состоит из двух (или более) одинаковых половинок. Такая симметрия называется осевой.

А что тогда такое ось?

Это как раз та линия, по которой фигуру можно, условно говоря, «разрезать» на одинаковые половинки (на данной картинке ось симметрии – прямая ( displaystyle l)):

Теперь давай вернемся к нашей задаче.

Нам известно, что мы ищем точку, симметричную относительно оси ( displaystyle Ox).

Тогда эта ось – ось симметрии.

Значит, нам нужно отметить такую точку ( displaystyle {{A}_{1}}), чтобы ось ( displaystyle Ox) разрезала отрезок ( displaystyle A{{A}_{1}}) на две равные части.

Попробуй сам отметить такую точку. А теперь сравни с моим решением:

У тебя получилось так же?

Хорошо! У найденной точки нас интересует ордината.

Она равна ( displaystyle -8)

Ответ: ( displaystyle -8)

Теперь задачка на параллелограмм:

Задача 5. Точки ( displaystyle Oleft( 0;~0 right),~Aleft( 6;~8 right),~Cleft( 0;~6 right)~) яв­ля­ют­ся вер­ши­на­ми па­рал­ле­ло­грам­ма. Най­ди­те ор­ди­на­ту точки ( displaystyle B).

Можно решать эту задачу двумя способами: логикой и методом координат. 

Я вначале применю метод координат, а потом расскажу тебе, как можно решить иначе.

Совершенно ясно, что абсцисса точки ( displaystyle B) равна ( displaystyle 6). (она лежит на перпендикуляре, проведенной из точки ( displaystyle A) к оси абсцисс).

Нам нужно найти ординату.

Воспользуемся тем, что наша фигура – параллелограмм, это значит, что ( displaystyle CA=OB).

Найдем длину отрезка ( displaystyle CA), используя формулу расстояния между двумя точками:

( d=sqrt{{{left( 6-0 right)}^{2}}+{{left( 8-6 right)}^{2}}}=sqrt{40})

Тогда ( OB=sqrt{40}.~~)

Опускаем перпендикуляр, соединяющий точку ( B) с осью ( Ox).

Точку пересечения обозначу буквой ( D).

Длина отрезка ( OD) равна ( 6). (найди сам задачу, где мы обсуждали этот момент), тогда найдем длину отрезка ( BD) по теореме Пифагора:

( BD=sqrt{40-36}=2)

Длина отрезка – в точности совпадает с его ординатой.

Ответ: ( 2).

Другое решение (я просто приведу рисунок, который его иллюстрирует)

Ход решения:

  • Провести ( CE);
  • Найти координаты точки ( E) и длину ( AE);
  • Доказать, что ( BD=AE).

Еще одна задачка на длину отрезка:

Точки ( Oleft( 0;~0 right),~Aleft( 6;~8 right),~Bleft( 8;~2 right)) яв­ля­ют­ся вер­ши­на­ми тре­уголь­ни­ка. Най­ди­те длину его сред­ней линии ( CD), па­рал­лель­ной ( OA).

Ты помнишь, что такое средняя линия треугольника?

Тогда для тебя эта задача элементарна. Если не помнишь, то я напомню: средняя линия треугольника – это линия, которая соединяет середины противоположных сторон.

Она параллельна основанию и равна его половине.

Основание – это отрезок ( OA).

Его длину нам приходилось искать ранее, оно равно ( 10).

Тогда длина средней линии вдвое меньше и равна ( 5).

Ответ: ( 5).

Комментарий: эту задачу можно решить и другим способом, к которому мы обратимся чуть позже.

А пока – вот тебе несколько задачек, потренируйся на них, они совсем простые, но помогают «набивать руку», на использовании метода координат!

1. Точки ( Oleft( 0;~0 right),~Aleft( 10;~0 right),~Bleft( 8;~6 right),~Cleft( 2;~6 right)) яв­ля­ют­ся вер­ши­на­ми тра­пе­ции. Най­ди­те длину ее сред­ней линии ( DE).

2. Точки ( Oleft( 0;~0 right),~Bleft( 8;~2 right),~Cleft( 2;~6 right)) и ( A) яв­ля­ют­ся вер­ши­на­ми па­рал­ле­ло­грам­ма. Най­ди­те ор­ди­на­ту точки ( A).

3. Най­ди­те длину от­рез­ка, со­еди­ня­ю­ще­го точки ( Aleft( 6 ;~8 right)) и ( Bleft( -2;~2 right).)

4. Най­ди­те пло­щадь за­кра­шен­ной фи­гу­ры на ко­ор­ди­нат­ной плос­ко­сти.

5. Окруж­ность с цен­тром в на­ча­ле ко­ор­ди­нат про­хо­дит через точку ( displaystyle Pleft( 8;text{ }6 right)). Най­ди­те ее ра­ди­ус.

6. Най­ди­те ра­ди­ус окруж­но­сти, опи­сан­ной около пря­мо­уголь­ни­ка ( displaystyle ABCD), вер­ши­ны ко­то­ро­го имеют ко­ор­ди­на­ты со­от­вет­ствен­но ( displaystyle left( -2;~-2 right),~left( 6;~-2 right),~left( 6;~4 right),~left( -2;~4 right).)

Решения:

1. Известно, что средняя линия трапеции равна полусумме ее оснований.

Основание ( displaystyle CB) равно ( displaystyle 6), а основание ( displaystyle OA-10).

Тогда ( displaystyle ED=frac{CB+OA}{2}=frac{16}{2}=8)

Ответ: ( displaystyle 8)

2. Проще всего решить эту задачу так: заметить, что ( displaystyle overrightarrow{OA}=overrightarrow{OC}+overrightarrow{OB}) (правило параллелограмма).

Вычислить координаты векторов ( displaystyle overrightarrow{OC}) и ( displaystyle overrightarrow{OB}) не представляет труда: ( displaystyle overrightarrow{OC}left( 2,6 right),~overrightarrow{OB}left( 8,2 right)).

При сложении векторов координаты складываются.

Тогда ( displaystyle overrightarrow{OA}) имеет координаты ( displaystyle left( 10,8 right)).

Эти же координаты имеет и точка ( displaystyle A), поскольку начало вектора ( displaystyle overrightarrow{OA}) – это точка с координатами ( displaystyle left( 0,0 right)).

Нас интересует ордината. Она равна ( displaystyle 8).

Ответ: ( displaystyle 8)

3. Действуем сразу по формуле расстояния между двумя точками:

( displaystyle d=sqrt{{{left( 6-left( -2 right) right)}^{2}}+{{left( 8-2 right)}^{2}}}=sqrt{64+36}=10)

Ответ: ( displaystyle 10)

4. Посмотри на картинку и скажи, между какими двумя фигурами «зажата» заштрихованная область?

Она зажата между двумя квадратами. Тогда площадь искомой фигуры равна площади большого квадрата минус площадь маленького.

Сторона маленького квадрата – это отрезок, соединяющий точки ( displaystyle left( 0,2 right)) и ( displaystyle left( 2,0 right).) Его длина равна

( displaystyle {{d}_{1}}=sqrt{{{left( 0-2 right)}^{2}}+{{left( 2-0 right)}^{2}}}=sqrt{8})

Тогда площадь маленького квадрата равна

( displaystyle {{S}_{1}}=d_{1}^{2}={{sqrt{8}}^{2}}=8)

Точно так же поступаем и с большим квадратом: его сторона – это отрезок, соединяющий точки ( displaystyle left( 0,4 right)) и ( displaystyle left( 4,0 right).)

Его длина равна

( displaystyle {{d}_{2}}=sqrt{{{left( 0-4 right)}^{2}}+{{left( 4-0 right)}^{2}}}=sqrt{32}).

Тогда площадь большого квадрата равна

( displaystyle {{S}_{2}}=d_{2}^{2}={{sqrt{32}}^{2}}=32)

Площадь искомой фигуры найдем по формуле:

( displaystyle S={{S}_{2}}-{{S}_{1}}=32-8=24)

Ответ: ( displaystyle 24)

5. Если окружность имеет в качестве центра начало координат и проходит через точку ( displaystyle P), то ее радиус ( displaystyle R) будет в точности равен длине отрезка ( displaystyle OP) (сделай рисунок и ты поймешь, почему это очевидно).

Найдем длину этого отрезка:

( displaystyle R=sqrt{{{6}^{2}}+{{8}^{2}}}=10)

Ответ: ( displaystyle 10)

6. Известно, что радиус описанной около прямоугольника окружности равен половине его диагонали.

Найдем длину любой из двух диагоналей (ведь в прямоугольнике они равны!)

( displaystyle left| AC right|=sqrt{{{left( 6-left( -2 right) right)}^{2}}+{{left( 4-left( -2 right) right)}^{2}}}=10)

Тогда

( displaystyle R=frac{1}{2}left| AC right|=5)

Ответ: ( displaystyle 5)

Ну что, ты со всем справился?

Было не очень сложно разобраться, ведь так? Правило здесь одно – уметь сделать наглядную картинку и просто «считать» с нее все данные.

Нам осталось совсем немного. Есть еще буквально два момента, которые бы мне хотелось обсудить:

  • как найти координаты середины отрезка и

Координаты середины отрезка

Давай попробуем решить вот такую нехитрую задачку.

Пусть даны две точки ( displaystyle Aleft( {{x}_{1}},{{x}_{2}} right)~) и ( displaystyle Bleft( {{x}_{2}},{{y}_{2}} right)).

Найти координаты середины отрезка ( displaystyle AB). Решение этой задачки следующее: пусть точка ( displaystyle D) – искомая середина, тогда ( displaystyle D) имеет координаты:

( displaystyle Dleft( frac{{{x}_{1}}+{{x}_{2}}}{2},frac{{{y}_{1}}+{{y}_{2}}}{2} right))

То есть: координаты середины отрезка = среднее арифметическое соответствующих координат концов отрезка.

Это правило очень простое и как правило не вызывает затруднений у учащихся. Давай посмотрим, в каких задачках и как оно употребляется:

1. Най­ди­те ор­ди­на­ту се­ре­ди­ны от­рез­ка, со­еди­ня­ю­ще­го точки ( displaystyle Aleft( 6,~8 right)~) и ( displaystyle Bleft( -2,~2 right).)

2. Точки ( displaystyle Oleft( 0;~0 right),~Aleft( 6;~8 right),~Bleft( 6;~2 right),~Cleft( 0;~6 right)) яв­ля­ют­ся вер­ши­на­ми че­ты­рех­уголь­ни­ка. Най­ди­те ор­ди­на­ту точки ( displaystyle P) пе­ре­се­че­ния его диа­го­на­лей.

3. Най­ди­те абс­цис­су цен­тра окруж­но­сти, опи­сан­ной около пря­мо­уголь­ни­ка ( displaystyle ABCD), вер­ши­ны ко­то­ро­го имеют ко­ор­ди­на­ты со­от­вет­ствен­но ( displaystyle left( -2;~-2 right),~left( 6;~-2 right),~left( 6;~4 right),~left( -2;~4 right)).

Решения:

1. Первая задачка – просто классика. Действуем сразу по определению середины отрезка. Она имеет координаты ( displaystyle left( frac{6-2}{2},~frac{8+2}{2} right)=left( 2,5 right)).

Ордината равна ( displaystyle 5).

Ответ: ( displaystyle 5)

2. Легко видеть, что данный четырехугольник является параллелограммом (даже ромбом!). Ты и сам можешь это доказать, вычислив длины сторон и сравнив их между собой.

Что я знаю про параллелограмм?

Его диагонали точкой пересечения делятся пополам! Ага! Значит точка пересечения диагоналей – это что?

Это середина любой из диагоналей!

Выберу, в частности диагональ ( displaystyle OA). Тогда точка ( displaystyle P) имеет координаты ( displaystyle left( frac{6+0}{2},frac{8+0}{2} right)=left( 3,4 right).)

Ордината точки ( displaystyle P) равна ( displaystyle 4).

Ответ: ( displaystyle 4)

3. С чем совпадает центр описанной около прямоугольника окружности?

Он совпадает с точкой пересечения его диагоналей. А что ты знаешь про диагонали прямоугольника?

Они равны и точкой пересечения делятся пополам. Задача свелась к предыдущей.

Возьму, например, диагональ ( displaystyle AC). Тогда если ( displaystyle P) – центр описанной окружности, то ( displaystyle P) – середина ( displaystyle AC).

Ищу координаты: ( displaystyle Pleft( frac{-2+6}{2},frac{-2+4}{2} right)=Pleft( 2,1 right).) Абсцисса равна ( displaystyle 2).

Ответ: ( displaystyle 2)

Теперь потренируйся немного самостоятельно, я лишь приведу ответы к каждой задачи, чтобы ты мог себя проверить.

1. Най­ди­те ра­ди­ус окруж­но­сти, опи­сан­ной около тре­уголь­ни­ка, вер­ши­ны ко­то­ро­го имеют ко­ор­ди­на­ты ( displaystyle left( 8;~0 right),~left( 0;~6 right),~left( 8;~6 right).)

2. Най­ди­те ор­ди­на­ту цен­тра окруж­но­сти, опи­сан­ной около тре­уголь­ни­ка, вер­ши­ны ко­то­ро­го имеют ко­ор­ди­на­ты ( displaystyle left( 8;~0 right),~left( 0;~6 right),~left( 8;~6 right).)

3. Ка­ко­го ра­ди­у­са долж­на быть окруж­ность с цен­тром в точке ( displaystyle Pleft( 8;~6 right),) чтобы она ка­са­лась оси абс­цисс?

4. Най­ди­те ор­ди­на­ту точки пе­ре­се­че­ния оси ( displaystyle Oy) и от­рез­ка, со­еди­ня­ю­ще­го точки ( displaystyle Aleft( 6;text{ }8 right)) и ( displaystyle Bleft( -6;text{ }0 right).)

Ответы:

  • ( displaystyle 5);
  • ( displaystyle 3);
  • ( displaystyle 6);
  • ( displaystyle 4).

Умножение векторов

Все удалось? Очень на это надеюсь! Теперь – последний рывок.

Сейчас будь особенно внимателен. Тот материал, который я сейчас буду объяснять, имеет непосредственное отношение не только к простым задачам на метод координат, но также встречается повсеместно и в задачах повышенной сложности.

Какое из своих обещаний я еще не сдержал?

Вспомни, какие операции над векторами я обещал ввести и какие в конечном счете ввел? Я точно ничего не забыл?

Забыл! Забыл объяснить, что значит умножение векторов.

Есть два способа умножить вектор на вектор. В зависимости от выбранного способа у нас будут получаться объекты разной природы:

  • Скалярное произведение (результат – число);
  • Векторное произведение (результат – вектор).

Векторное произведение выполняется довольно хитро. Как его делать и для чего оно нужно, мы с тобой обсудим чуть позже. А пока мы остановимся на скалярном произведении.

Есть аж два способа, позволяющих нам его вычислить:

  • Через координаты векторов;
  • Через длины векторов и угол между ними.

Как ты догадался, результат должен быть один и тот же! Итак, давай вначале рассмотрим первый способ:

Най­ди­те ска­ляр­ное про­из­ве­де­ние век­то­ров ( displaystyle {vec{a}}) и ( displaystyle {vec{b}})

Справился? Может, и подвох небольшой заметил? Давай проверим:

( displaystyle vec{a}left( 2,6 right)), ( displaystyle vec{b}left( 8,4 right)) – координаты векторов, как в прошлой задаче! Ответ: ( displaystyle 40).

Скалярное произведение через длины векторов и косинус угла между ними

Помимо координатного, есть и другой способ вычислить скалярное произведение, а именно, через длины векторов и косинус угла между ними:

( displaystyle left( vec{a},~vec{b} right)=left| {vec{a}} right|left| {vec{b}} right|coswidehat{vec{a},~vec{b}})

( displaystyle widehat{vec{a},~vec{b}}) – обозначает угол между векторами ( displaystyle {vec{a}}) и ( displaystyle {vec{b}}).

То есть скалярное произведение равно произведению длин векторов на косинус угла между ними.

Зачем же нам эта вторая формула, если у нас есть первая, которая намного проще, в ней по крайней мере нет никаких косинусов?

А нужна она для того, что из первой и второй формулы мы с тобой сможем вывести, как находить угол между векторами!

Пусть ( displaystyle vec{a}left( {{x}_{1}},{{y}_{1}} right),~vec{b}left( {{x}_{2}},{{y}_{2}} right).) Тогда вспоминай формулу для длины вектора!

( displaystyle left| {vec{a}} right|=sqrt{x_{1}^{2}+y_{1}^{2}})

( displaystyle left| {vec{b}} right|=sqrt{x_{2}^{2}+y_{2}^{2}})

Тогда если я подставлю эти данные в формулу скалярного произведения, то я получу:

( displaystyle left( vec{a},~vec{b} right)=sqrt{x_{1}^{2}+y_{1}^{2}}cdot sqrt{x_{2}^{2}+y_{2}^{2}}coswidehat{vec{a},~vec{b}})

Но с другой стороны:

( displaystyle left( vec{a},~vec{b} right)={{x}_{1}}{{x}_{2}}+{{y}_{1}}{{y}_{2}})

Тогда

( displaystyle {{x}_{1}}{{x}_{2}}+{{y}_{1}}{{y}_{2}}=sqrt{x_{1}^{2}+y_{1}^{2}}cdot sqrt{x_{2}^{2}+y_{2}^{2}}coswidehat{vec{a},~vec{b}})

Или

( displaystyle coswidehat{vec{a},~vec{b}}=frac{{{x}_{1}}{{x}_{2}}+{{y}_{1}}{{y}_{2}}}{sqrt{x_{1}^{2}+y_{1}^{2}}cdot sqrt{x_{2}^{2}+y_{2}^{2}}})

Таким образом, что же мы с тобой получили?

У нас теперь есть формула, позволяющая вычислять угол между двумя векторами! Иногда ее для краткости записывают еще и так:

( displaystyle coswidehat{vec{a},~vec{b}}=frac{left( vec{a},~vec{b} right)}{left| {vec{a}} right|left| {vec{b}} right|})

Решение:

1. Эти вектора – наши старые знакомые. Их скалярное произведение мы уже считали и оно было равно ( displaystyle 40).

Координаты у них такие: ( displaystyle vec{a}left( 2,6 right)), ( displaystyle vec{b}left( 8,4 right)). Тогда найдем их длины:

( left| {vec{a}} right|=sqrt{{{2}^{2}}+{{6}^{2}}}=sqrt{40})

( left| {vec{b}} right|=sqrt{{{8}^{2}}+{{4}^{2}}}=sqrt{80})

Тогда ищем косинус между векторами:

( coswidehat{vec{a},~vec{b}}=frac{left( vec{a},~vec{b} right)}{left| {vec{a}} right|left| {vec{b}} right|}=frac{40}{sqrt{40}sqrt{80}}=frac{sqrt{40}sqrt{40}}{sqrt{40}sqrt{80}}=frac{1}{sqrt{2}})

Косинус какого угла равен ( frac{1}{sqrt{2}})? Это угол ( 45{}^circ ).

Ответ: ( 45)

Ну а теперь сам реши вторую задачу, а потом сравним! Я приведу лишь очень краткое решение:

2. ( vec{a}+vec{b}) имеет координаты ( left( 10,10 right)), ( vec{a}-vec{b}) имеет координаты ( left( -6,2 right)).

( left( vec{a}+vec{b},vec{a}-vec{b} right)=-60+20=-40)

( left| vec{a}+vec{b} right|=sqrt{{{10}^{2}}+{{10}^{2}}}=10sqrt{2})

( left| vec{a}-vec{b} right|=sqrt{{{left( -6 right)}^{2}}+{{2}^{2}}}=sqrt{40}).

Пусть ( a) – угол между векторами ( vec{a}+vec{b}) и ( vec{a}-vec{b}), тогда

( cosa=frac{-40}{10sqrt{2}sqrt{40}}=-frac{sqrt{40}}{10sqrt{2}}=-frac{sqrt{20}}{10}=-frac{sqrt{5}}{5})

Ответ: ( -frac{sqrt{5}}{5})

Метод координат (продвинутый уровень)

Мы с тобой продолжаем изучать метод координат. В прошлой части мы вывели ряд важных формул, которые позволяют:

  • Находить координаты вектора;
  • Находить длину вектора (альтернативно: расстояние между двумя точками);
  • Складывать, вычитать векторы. Умножать их на вещественное число;
  • Находить середину отрезка;
  • Вычислять скалярное произведение векторов;
  • Находить угол между векторами.

Конечно, в эти 6 пунктов не укладывается весь координатный метод.

Он лежит в основе такой науки, как аналитическая геометрия, с которой тебе предстоит познакомиться в ВУЗе. Я лишь хочу построить фундамент, который позволит тебе решать задачи ЕГЭ любого уровня сложности!

Этот раздел будет посвящен методу решения тех задач, в которых будет разумно перейти к методу координат. Эта разумность определяется тем, что в задаче требуется найти, и какая фигура дана.

Когда стоит применять метод координат

Итак, я бы стал применять метод координат, если ставятся вопросы:

  • Найти угол между двумя плоскостями;
  • Найти угол между прямой и плоскостью;
  • Найти угол между двумя прямыми;
  • Найти расстояние от точки до плоскости;
  • Найти расстояние от точки до прямой;
  • Найти расстояние от прямой до плоскости;
  • Найти расстояние между двумя прямыми.

Подходящими фигурами для метода координат являются:

  • Куб;
  • Прямоугольный параллелепипед;
  • Прямая призма (треугольная, шестиугольная…);
  • Пирамида (треугольная, четырехугольная, шестиугольная);
  • Тетраэдр (одно и то же, что и треугольная пирамида).

Неподходящими фигурами для метода координат являются тела вращения:

  • шар;
  • цилиндр;
  • конус

По моему опыту, нецелесообразно использовать метод координат для:

  • Нахождения площадей сечений;
  • Вычисления объемов тел.

Однако следует сразу отметить, что три «невыгодные» для метода координат ситуации на практике достаточно редки.

В большинстве же задач он может стать твоим спасителем, особенно если ты не очень силен в трехмерных построениях (которые порою бывают довольно замысловатыми).

Как применять метод координат

Какими являются все перечисленные мною выше фигуры?

Они уже не плоские, как, например, квадрат, треугольник, окружность, а объемные! Соответственно, нам нужно рассматривать уже не двухмерную, а трехмерную систему координат.

Строится она достаточно легко: просто помимо оси абсцисс и ординат, мы введем еще одну ось, ось аппликат. На рисунке схематично изображено их взаимное расположение:

Все они являются взаимно перпендикулярными, пересекаются в одной точке ( displaystyle O), которую мы будем называть началом координат.

Ось абсцисс, как и прежде, будем обозначать ( Ox), ось ординат – ( Oy), а введенную ось аппликат – ( Oz).

Если раньше каждая точка на плоскости характеризовалась двумя числами – абсциссой и ординатой, то каждая точка в пространстве уже описывается тремя числами – абсциссой, ординатой, аппликатой.

Например:

Соответственно абсцисса точки ( displaystyle P) равна ( displaystyle 1), ордината – ( displaystyle 2), а аппликата – ( displaystyle 3).

Иногда абсциссу точки еще называют проекцией точки на ось абсцисс, ординату – проекцией точки на ось ординат, а аппликату – проекцией точки на ось аппликат. Соответственно, если задана точка ( Aleft( x,y,z right)) то, точку с координатами:

( Aleft( x,y,0 right)) называют проекцией точки ( Aleft( x,y,z right)) на плоскость ( Oxy)

( Aleft( x,0,z right)) называют проекцией точки ( Aleft( x,y,z right)) на плоскость ( Oxz)

( Aleft( 0,y,z right)) называют проекцией точки ( Aleft( x,y,z right)) на плоскость ( Oyz)

Встает естественный вопрос: справедливы ли все формулы, выведенные для двухмерного случая, в пространстве?

Ответ утвердительный, они справедливы и имеют тот же самый вид. За маленькой деталью. Я думаю, ты уже сам догадался, за какой именно.

Во все формулы мы должны будем добавить еще один член, отвечающий за ось аппликат.

Формулы метода координат для трехмерных фигур

1. Если заданы две точки: ( Aleft( {{x}_{1}},{{y}_{1}},{{z}_{1}} right)), ( Aleft( {{x}_{2}},{{y}_{2}},{{z}_{2}} right)), то:

  • Координаты вектора ( overrightarrow{AB}): ( overrightarrow{AB}left( {{x}_{2}}-{{x}_{1}},{{y}_{2}}-{{y}_{1}},{{z}_{2}}-{{z}_{1}} right));
  • Расстояние между двумя точками (или длина вектора ( overrightarrow{AB})) ( d=left| overrightarrow{AB} right|=sqrt{{{left( {{x}_{2}}-{{x}_{1}} right)}^{2}}+{{left( {{y}_{2}}-{{y}_{1}} right)}^{2}}+{{left( {{z}_{2}}-{{z}_{1}} right)}^{2}}});
  • Середина ( D) отрезка ( AB) имеет координаты
  • ( Dleft( frac{{{x}_{1}}+{{x}_{2}}}{2},frac{{{y}_{1}}+{{y}_{2}}}{2},frac{{{z}_{1}}+{{z}_{2}}}{2} right)).

2. Если дано два вектора: ( vec{a}left( {{x}_{1}},{{y}_{1}},{{z}_{1}} right)) и ( vec{b}left( {{x}_{2}},{{y}_{2}},{{z}_{2}} right)), то:

  • Их скалярное произведение равно: ( left( vec{a},~vec{b} right)=left| {vec{a}} right|left| {vec{b}} right|cosoverset{}{widehat{vec{a},~vec{b}}},) или ( left( vec{a},~vec{b} right)={{x}_{1}}{{x}_{2}}+{{y}_{1}}{{y}_{2}}+{{z}_{1}}{{z}_{2}});
  • Косинус угла между векторами равен:
  • ( cosoverset{}{widehat{vec{a},~vec{b}}},=frac{left( vec{a},~vec{b} right)}{left| {vec{a}} right|left| {vec{b}} right|}=frac{{{x}_{1}}{{x}_{2}}+{{y}_{1}}{{y}_{2}}+{{z}_{1}}{{z}_{2}}}{sqrt{x_{1}^{2}+y_{1}^{2}+z_{1}^{2}}cdot sqrt{x_{2}^{2}+y_{2}^{2}+z_{2}^{2}}}).

Плоскость — как «обобщение» прямой

Однако с пространством не все так просто.

Как ты понимаешь, добавление еще одной координаты вносит существенное разнообразие в спектр фигур, «живущих» в этом пространстве. И для дальнейшего повествования мне потребуется ввести некоторое, грубо говоря, «обобщение» прямой.

Этим «обобщением» будет плоскость. Что ты знаешь про плоскость? Попробуй ответить на вопрос, а что такое плоскость? Очень сложно сказать.

Однако мы все интуитивно представляем, как она выглядит:

Грубо говоря, это некий бесконечный «лист», засунутый в пространство. «Бесконечность» следует понимать, что плоскость распространяется во все стороны, то есть ее площадь равна бесконечности.

Однако, это объяснение «на пальцах» не дает ни малейшего представления о структуре плоскости. А нас будет интересовать именно она.

Давай вспомним одну из основных аксиом геометрии: через две различные точки на плоскости проходит прямая, притом только одна.

Или ее аналог в пространстве: через три точки, не лежащие на одной прямой, проходит плоскость, притом только одна.

Уравнение прямой в плоскости и пространстве

Конечно, ты помнишь, как по двум заданным точкам вывести уравнение прямой, это совсем нетрудно: если первая точка имеет координаты: ( Aleft( {{x}_{0}},{{y}_{0}} right)) а вторая ( Bleft( {{x}_{1}},{{y}_{1}} right)), то уравнение прямой будет следующим:

( frac{x-{{x}_{0}}}{{{x}_{1}}-{{x}_{0}}}=frac{y-{{y}_{0}}}{{{y}_{1}}-{{y}_{0}}})

( left( x-{{x}_{0}} right)left( {{y}_{1}}-{{y}_{0}} right)=left( y-{{y}_{0}} right)left( {{x}_{1}}-{{x}_{0}} right))

Это ты проходил еще в 7 классе.

В пространстве уравнение прямой выглядит вот так: пусть у нас даны две точки с координатами: ( Aleft( {{x}_{0}},{{y}_{0}},{{z}_{0}} right)), ( Bleft( {{x}_{1}},{{y}_{1}},{{z}_{1}} right)), то уравнение прямой, через них проходящей, имеет вид:

( frac{x-{{x}_{0}}}{{{x}_{1}}-{{x}_{0}}}=frac{y-{{y}_{0}}}{{{y}_{1}}-{{y}_{0}}}=frac{z-{{z}_{0}}}{{{z}_{1}}-{{z}_{0}}})

Например, через точки ( Aleft( 1,2,3 right)), ( Bleft( 4,5,6 right)) проходит прямая:

( frac{x-1}{4-1}=frac{y-2}{5-2}=frac{z-3}{6-3})

( frac{x-1}{3}=frac{y-2}{3}=frac{z-3}{3})

( x-1=y-2=z-3)

Как это следует понимать?

Это следует понимать вот как: точка ( Dleft( x,y,z right)) лежит на прямой, если ее координаты удовлетворяют следующей системе:

( displaystyle left{ begin{array}{l}x-1=y-2\x-1=z-3end{array} right.)

Нас не очень будет интересовать уравнение прямой, но нам нужно обратить внимание на очень важное понятие направляющего вектора прямой.

Направляющий вектор прямой

Направляющий вектор прямой – любой ненулевой вектор, лежащий на данной прямой или параллельный ей.

Например, оба вектора ( overrightarrow{{{M}_{0}}{{M}_{1}}}), ( vec{s}) являются направляющими векторами прямой ( l). Пусть ( Mleft( {{x}_{0}},{{y}_{0}},{{z}_{0}} right)) – точка, лежащая на прямой, а ( vec{p}left( m,n,q right)) – ее направляющий вектор.

Тогда уравнение прямой можно записать в следующем виде:

( frac{x-{{x}_{0}}}{m}=frac{y-{{y}_{0}}}{n}=frac{z-{{z}_{0}}}{p})

Еще раз повторюсь, мне не очень будет интересно уравнение прямой, но мне очень нужно, чтобы ты запомнил, что такое направляющий вектор!

Еще раз: это ЛЮБОЙ ненулевой вектор, лежащий на прямой, или параллельный ей.

Уравнение плоскости

Вывести уравнение плоскости по трем заданным точкам уже не так тривиально, и обычно этот вопрос не рассматривается в курсе средней школы.

А зря!

Этот прием жизненно необходим, когда мы прибегаем к методу координат для решения сложных задач. Однако, я предполагаю, что ты полон желания научиться чему-то новому?

Более того, ты сможешь поразить своего преподавателя в ВУЗе, когда выяснится, что ты уже умеешь с методикой, которую обычно изучают в курсе аналитической геометрии. Итак, приступим.

Уравнение плоскости не слишком отличается от уравнения прямой на плоскости, а именно оно имеет вид:

( Ax+By+Cz+D=0)

( A,B,C,D-) некоторые числа (не все равные нулю), а ( x,y,z-~) переменные, например: ( 3x+2y-z+1=0,~0.5x-2z-2=0,~x+y=0) и т.д.

Как видишь, уравнение плоскости не очень отличается от уравнения прямой (линейной функции). Однако, вспомни, что мы с тобой утверждали? Мы говорили, что если у нас есть три точки ( Aleft( {{x}_{0}},{{y}_{0}},{{z}_{0}} right),~Bleft( {{x}_{1}},{{y}_{1}},{{z}_{1}} right),~Cleft( {{x}_{2}},{{y}_{2}},{{z}_{2}} right)), не лежащие на одной прямой, то уравнение плоскости однозначно по ним восстанавливается.

Но как? Попробую тебе объяснить.

Поскольку уравнение плоскости имеет вид:

( Ax+By+Cz+D=0)

А точки ( Aleft( {{x}_{0}},{{y}_{0}},{{z}_{0}} right),~Bleft( {{x}_{1}},{{y}_{1}},{{z}_{1}} right),~Cleft( {{x}_{2}},{{y}_{2}},{{z}_{2}} right)) принадлежат этой плоскости, то при подстановке координат каждой точки в уравнение плоскости мы должны получать верное тождество:

( A{{x}_{0}}+B{{y}_{0}}+C{{z}_{0}}+D=0)

( A{{x}_{1}}+B{{y}_{1}}+C{{z}_{1}}+D=0)

( A{{x}_{2}}+B{{y}_{2}}+C{{z}_{2}}+D=0)

Таким образом, встает необходимость решать три уравнения аж с ( displaystyle 4) неизвестными!

Дилемма! Однако всегда можно предполагать, что ( D=1) (для этого нужно разделить ( ~Ax+By+Cz+D=0) на ( D)).

Таким образом, мы получим три уравнения с тремя неизвестными ( displaystyle A,B,C):

( A{{x}_{0}}+B{{y}_{0}}+C{{z}_{0}}+1=0)

( A{{x}_{1}}+B{{y}_{1}}+C{{z}_{1}}+1=0)

( A{{x}_{2}}+B{{y}_{2}}+C{{z}_{2}}+1=0)

Однако мы не будем решать такую систему, а выпишем загадочное выражение, которое из него следует:

Уравнение плоскости, проходящей через три заданные точки

(left| {begin{array}{*{20}{c}}{x — {x_0}}&{{x_1} — {x_0}}&{{x_2} — {x_0}}\{y — {y_0}}&{{y_1} — {y_0}}&{{y_2} — {y_0}}\{z — {z_0}}&{{z_1} — {z_0}}&{{z_2} — {z_0}}end{array}} right| = 0)

Стоп! Это еще что такое? Какой-то очень необычный модуль!

Однако объект, который ты видишь перед собой не имеет ничего общего с модулем. Этот объект называется определителем третьего порядка.

Определитель третьего порядка

Отныне и впредь, когда ты будешь иметь дело с методом координат на плоскости, тебе очень часто будут встречаться эти самые определители.

Что же такое определитель третьего порядка? Как ни странно, это всего-навсего число. Осталось понять, какое конкретно число мы будем сопоставлять с определителем.

Давай вначале запишем определитель третьего порядка в более общем виде:

( left| {begin{array}{*{20}{c}}{{a_{11}}}&{{a_{12}}}&{{a_{13}}}\{{a_{21}}}&{{a_{22}}}&{{a_{23}}}\{{a_{31}}}&{{a_{32}}}&{{a_{33}}}end{array}} right|),

Где ( {{a}_{ij}}) – некоторые числа.

Причем под первым индеком ( displaystyle i) мы понимаем номер строки, а под индеком ( displaystyle j) – номер столбца.

Например, ( {{a}_{23}}) означает, что данное число стоит на пересечении второй строки и третьего столбца.

Давай поставим следующий вопрос: каким именно образом мы будем вычислять такой определитель?

То есть, какое конкретно число мы будем ему сопоставлять?

Для определителя именно третьего порядка есть эвристическое (наглядное) правило треугольника оно выглядит следующим образом:

Как его читать? А понимать его надо следующим образом: мы составляем два выражения:

  • Произведение элементов главной диагонали (с верхнего левого угла до нижнего правого) ( displaystyle +) произведение элементов, образующих первый треугольник «перпендикулярный» главной диагонали ( displaystyle +) произведение элементов, образующих второй треугольник «перпендикулярный» главной диагонали;
  • Произведение элементов побочной диагонали (с верхнего правого угла до нижнего левого) ( displaystyle +) произведение элементов, образующих первый треугольник «перпендикулярный» побочной диагонали ( displaystyle +) произведение элементов, образующих второй треугольник «перпендикулярный» побочной диагонали;
  • Тогда определитель равен разности значений, полученных на шаге ( displaystyle 1) и ( displaystyle 2).

Если записать все это цифрами, то мы получим следующее выражение:

( left| {begin{array}{*{20}{c}}{{a_{11}}}&{{a_{12}}}&{{a_{13}}}\{{a_{21}}}&{{a_{22}}}&{{a_{23}}}\{{a_{31}}}&{{a_{32}}}&{{a_{33}}}end{array}} right| = )

( = {a_{11}}{a_{22}}{a_{33}} + {a_{12}}{a_{23}}{a_{31}} + {a_{21}}{a_{32}}{a_{13}} — left( {{a_{13}}{a_{22}}{a_{31}} + {a_{23}}{a_{32}}{a_{11}} + {a_{21}}{a_{12}}{a_{33}}} right))

Тем не менее, запоминать способ вычисления в таком виде не нужно, достаточно в голове просто держать треугольники и саму идею, что с чем складывается и что из чего затем вычитается).

Давай проиллюстрируем метод треугольников на примере:

Метод треугольников на примере

1. Вычислить определитель: ( left| {begin{array}{*{20}{c}}2&3&{ — 1}\{11}&{21}&{ — 5}\4&6&9end{array}} right|)

Давай разбираться, что мы складываем, а что – вычитаем.

Слагаемые, которые идут с «плюсом»:

Это главная диагональ: произведение элементов равно 

( 2cdot 21cdot 9=378)

Первый треугольник, «перпендикулярный главной диагонали: произведение элементов равно 

( 3cdot left( -5 right)cdot 4=-60)

Второй треугольник, «перпендикулярный главной диагонали: произведение элементов равно 

( 11cdot 6cdot left( -1 right)=-66)

Складываем три числа: ( 378-60-66=252)

Слагаемые, которые идут с «минусом»:

Это побочная диагональ: произведение элементов равно 

( left( -1 right)cdot 21cdot 4=-84)

Первый треугольник, «перпендикулярный побочной диагонали: произведение элементов равно 

( 3cdot 11cdot 9=297)

Второй треугольник, «перпендикулярный побочной диагонали: произведение элементов равно 

( 6cdot left( -5 right)cdot 2=-60)

Складываем три числа:

( -84+297-60=153)

Все, что осталось сделать – это вычесть из суммы слагаемых «с плюсом» сумму слагаемых «с минусом»:

( 252-153=99)

Таким образом,

( left| {begin{array}{*{20}{c}}2&3&{ — 1}\{11}&{21}&{ — 5}\4&6&9end{array}} right| = 99)

Как видишь, ничего сложного и сверхъестественного в вычислении определителей третьего порядка нет. Просто важно помнить про треугольники и не допускать арифметических ошибок. 

Теперь попробуй самостоятельно вычислить:

( left| {begin{array}{*{20}{c}}2&{ — 2}&4\3&2&5\1&2&2end{array}} right|)

Проверяем:

  • Главная диагональ: ( 2cdot 2cdot 2=8);
  • Первый треугольник, перпендикулярный главной диагонали: ( left( -2 right)cdot 5cdot 1=-10);
  • Второй треугольник, перпендикулярный главной диагонали: ( 3cdot 2cdot 4=24);
  • Сумма слагаемых с плюсом: ( 8-10+24=22);
  • Побочная диагональ: ( 1cdot 2cdot 4=8);
  • Первый треугольник, перпендикулярный побочной диагонали: ( 2cdot 5cdot 2=20);
  • Второй треугольник, перпендикулярный побочной диагонали: ( left( -2 right)cdot 3cdot 2=-12);
  • Сумма слагаемых с минусом: ( 8+20-12=16);
  • Сумма слагаемых с плюсом минус сумма слагаемых с минусом: ( 22-16=6).

Вывод:

( left| {begin{array}{*{20}{c}}2&{ — 2}&4\3&2&5\1&2&2end{array}} right| = 6)

Вот тебе еще пара определителей, вычисли их значения самостоятельно и сравни с ответами:

  • ( left| {begin{array}{*{20}{c}}1&3&{ — 1}\0&4&2\{ — 3}&2&0end{array}} right|);
  • ( left| {begin{array}{*{20}{c}}3&1&7\6&2&{14}\{ — 1}&0&8end{array}} right|).

Ответы:

  • ( displaystyle -34);
  • ( displaystyle 0).

Ну что, все совпало?

Отлично, тогда можно двигаться дальше! Если же есть затрудения, то совет мой таков: в интернете есть куча программ вычисления определителя онлайн.

Все, что тебе нужно – придумать свой определитель, вычислить его самостоятельно, а потом сравнить с тем, что посчитает программа.

И так до тех пор, пока результаты не начнут совпадать. Уверен, этот момент не заставит себя долго ждать!

Теперь давай вернемся к тому определителю, который я выписал, когда говорил про уравнение плоскости, проходящей через три заданные точки:

( left| {begin{array}{*{20}{c}}{x — {x_0}}&{{x_1} — {x_0}}&{{x_2} — {x_0}}\{y — {y_0}}&{{y_1} — {y_0}}&{{y_2} — {y_0}}\{z — {z_0}}&{{z_1} — {z_0}}&{{z_2} — {z_0}}end{array}} right| = 0)

Все, что тебе нужно – это вычислить его значение непосредственно (методом треугольников) и приравнять результат к нулю.

Естественно, поскольку ( displaystyle x,y,z) – переменные, то ты получишь некоторое выражение, от них зависящее.

Именно это выражение и будет уравнением плоскости, проходящей через три заданные точки, не лежащие на одной прямой!

( Ax+By+Cz+D=0)

Давай проиллюстрируем сказанное на простом примере:

1. Построить уравнение плоскости, проходящей через точки

( displaystyle {{M}_{1}}left( -3,2,-1 right), {{M}_{2}}left( -1,2,4 right), {{M}_{3}}left( 3,3,-1 right))

Cоставляем для этих трех точек определитель:

( left| {begin{array}{*{20}{c}}{x — left( { — 3} right)}&{ — 1 — left( { — 3} right)}&{3 — left( { — 3} right)}\{y — 2}&{2 — 2}&{3 — 2}\{z — left( { — 1} right)}&{4 — left( { — 1} right)}&{ — 1 — left( { — 1} right)}end{array}} right|).

Упрощаем:

( left| {begin{array}{*{20}{c}}{x + 3}&2&6\{y — 2}&0&1\{z + 1}&5&0end{array}} right|)

Теперь вычисляем его непосредственно по правилу треугольников:

[{left| {begin{array}{*{20}{c}}{x + 3}&2&6\{y — 2}&0&1\{z + 1}&5&0end{array}} right| = left( {x + 3} right) cdot 0 cdot 0 + 2 cdot 1 cdot left( {z + 1} right) + left( {y — 2} right) cdot 5 cdot 6 — }]

( displaystyle -left( left( z+1 right)cdot 6cdot 0+left( x+3 right)cdot 5cdot 1+left( y-2 right)cdot 2cdot 0 right)=)

( displaystyle=2left( z-1 right)+30left( y-2 right)-5left( x+3 right)=-5x+30y+2z-73)

Таким образом, уравнение плоскости, проходящей через точки ( displaystyle {{M}_{1}}left( -3,2,-1 right), {{M}_{2}}left( -1,2,4 right), {{M}_{3}}left( 3,3,-1 right)), имеет вид:

( -5x+30y+2z-73=0)

То есть ( A=-5,~B=30,~C=2,~D=-73)

Теперь попробуй решить одну задачку самостоятельно, а потом мы ее обсудим:

2. Найти уравнение плоскости, проходящей через точки

( {{M}_{1}}left( 1,2,-1 right),~{{M}_{2}}left( -1,0,4 right),~{{M}_{3}}left( -2,-1,1 right))

Ну что, давай теперь обсудим решение:

Составляем определитель:

( left| {begin{array}{*{20}{c}}{x — 1}&{ — 2}&{ — 3}\{y — 2}&{ — 2}&{ — 3}\{z + 1}&5&2end{array}} right|)

И вычисляем его значение:

( begin{array}{l}left| {begin{array}{*{20}{c}}{x — 1}&{ — 2}&{ — 3}\{y — 2}&{ — 2}&{ — 3}\{z + 1}&5&2end{array}} right| = \ = — 4left( {x — 1} right) — 15left( {y — 2} right) + 6left( {z + 1} right) + 15left( {x — 1} right) + 4left( {y — 2} right) — 6left( {z + 1} right) = \ = 11x — 11y + 11end{array})

Тогда уравнение плоскости имеет вид:

( 11x-11y+11=0)

Или же, сократив на ( 11), получим:

( x-y+1=0)

То есть, ( A=1,B=-1,C=0,D=1.)

Теперь две задачи для самоконтроля:

  • Построить уравнение плоскости, проходящей через три точки: ( Kleft( 2,3,4 right),~Lleft( 6,-3,4 right),~Mleft( -4,6,-4 right).);
  • Построить уравнение плоскости, проходящей через три точки:
  • ( Aleft( 5,-1,3 right),~Bleft( 2,2,0 right),~Cleft( -1,1,1 right).).

Проверим:

  • ( 6x+4y-3z-12=0);
  • ( y+z-2=0).

Все совпало?

Опять-таки, если есть определенные затруднения, то мой совет таков: берешь из головы три точки (с большой степенью вероятности они не будут лежать на одной прямой), строишь по ним плоскость.

А потом проверяешь себя онлайн. Например, на сайте:

http://www.webmath.ru/web/prog9_1.php

Однако при помощи определителей мы будем строить не только уравнение плоскости. 

Вспомни, я говорил тебе, что для векторов определено не только скалярное произведение. Есть еще векторное, а также смешанное произведение.

Векторное произведение векторов

И если скалярным произведением двух векторов и будет число, то векторным произведением двух векторов ( vec{a}) и ( vec{b}) будет вектор ( ~vec{c}=vec{a}cdot vec{b}), причем данный вектор будет перпендикулярен к заданным:

Причем его модуль будет равен площади параллелограмма, построенного на векторах ( vec{a}) и ( vec{b}).

Данный вектор понадобится нам для вычисления расстояния от точки до прямой. Как же нам считать векторное произведение векторов ( vec{a}) и ( vec{b}), если их координаты заданы?

На помощь к нам опять приходит определитель третьего порядка.

Однако, прежде чем я перейду к алгоритму вычисления векторного произведения, я вынужден сделать небольшое лирическое отступление.

Данное отступление касается базисных векторов.

Базисными векторами в трехмерном пространстве называются три вектора:

( vec{i}left( 1,0,0 right),~vec{j}left( 0,1,0 right),~vec{k}left( 0,0,1 right))

Схематично они изображены на рисунке:

Как ты думаешь, а почему они называется базисными? Дело в том, что любой вектор в трехмерном пространстве можно представить через сумму трех базисных векторов:

( vec aleft( {x,y,z} right) = x cdot vec i + y cdot vec j + z cdot vec k.)

Или на картинке:

Справедливость этой формулы очевидна, ведь:

( begin{array}{l}xcdot vec{i}=left( x,0,0 right)\ycdot vec{j}=left( 0,y,0 right)\zcdot vec{k}=left( 0,0,z right)end{array})

Тогда

( vec{a}left( x,y,z right)=xcdot vec{i}+ycdot vec{j}+zcdot vec{k}=left( x,0,0 right)+left( 0,y,0 right)+left( 0,0,z right)=left( x,y,z right)=vec{a}.)

Смешанное произведение трех векторов

Последняя конструкция, которая мне понадобится – это смешанное произведение трех векторов. 

Оно, как и скалярное, является числом. Есть два способа его вычисления. ( displaystyle 1) – через определитель, ( displaystyle 2) – через смешанное произведение.

А именно, пусть у нас даны три вектора:

( vec{a}left( {{x}_{1}},{{y}_{1}},{{z}_{1}} right),~vec{b}left( {{x}_{2}},{{y}_{2}},{{z}_{2}} right),~vec{c}left( {{x}_{3}},{{y}_{3}},{{z}_{3}} right)), тогда смешанное произведение трех векторов, обозначаемое через ( (vec{a},vec{b},vec{c})) можно вычислить как:

1. ( left( vec{a},vec{b},vec{c} right)=left( vec{a},vec{b}cdot vec{c} right)) – то есть смешанное произведение – это скалярное произведения вектора на векторное произведение двух других векторов

2. ( left( {vec a,vec b,vec c} right) = left| {begin{array}{*{20}{c}}{{x_1}}&{{y_1}}&{{z_1}}\{{x_2}}&{{y_2}}&{{z_2}}\{{x_3}}&{{y_3}}&{{z_3}}end{array}} right|)

Например, смешанное произведение трех векторов ( vec{a}left( 2,3,5 right),~vec{b}left( 1,4,4 right),~vec{c}left( 3,5,7 right)) равно:

( left( {vec a,vec b,vec c} right) = left| {begin{array}{*{20}{c}}2&3&5\1&4&4\3&5&7end{array}} right| = — 4)

Самостоятельно попробуй вычислить его через векторное произведение и убедись, что результаты совпадут!

И опять – два примера для самостоятельного решения:

  • ( vec{a}left( 1,2,3 right),~vec{b}left( 1,1,1 right),~vec{c}left( 1,2,1 right));
  • ( vec{a}left( 1,2,3 right),~vec{b}left( 1,-1,1 right),~vec{c}left( 2,0,-1 right)).

Ответы:

  • ( displaystyle 2);
  • ( displaystyle 1).

Выбор системы координат

Ну вот, теперь у нас есть весь необходимый фундамент знаний, чтобы решать сложные стереометрические задачи по геометрии.

Однако прежде чем приступать непосредственно к примерам и алгоритмам их решения, я считаю, что будет полезно остановиться еще вот на каком вопросе: как именно выбирать систему координат для той или иной фигуры.

Ведь именно выбор взаимного расположения системы координат и фигуры в пространстве в конечном счете определит, насколько громоздкими будут вычисления.

Я напомню, что в этом разделе мы рассматриваем следующие фигуры:

  • куб;
  • Прямоугольный параллелепипед;
  • Прямая призма (треугольная, шестиугольная…);
  • Пирамида (треугольная, четырехугольная);
  • Тетраэдр (одно и то же, что и треугольная пирамида).

Для каждой из фигур я дам практические рекомендации, как выбирать систему координат.

Я неслучайно расположил задачи в таком порядке. Пока ты еще не успел начать ориентироваться в методе координат, я сам разберу наиболее «проблемные» фигуры, а тебе предоставлю разобраться с простейшим кубом!

Постепенно тебе предстоит научиться работать со всеми фигурами, сложность задач я буду увеличивать от теме к теме.

Приступаем к решению задач:

1. Рисуем тетраэдр, помещаем его в систему координат так, как я предлагал ранее. Поскольку тетраэд правильный – то все его грани (включая основание) – правильные треугольники.

Поскольку нам не дана длина стороны, то я могу принять ее равной ( 1). Я думаю, ты понимаешь, что угол на самом деле не будет зависеть от того, насколько наш тетраэдр будет «растянут»?

Также проведу в тетраэдре высоту и медиану ( displaystyle BM).

Попутно я нарисую его основание (оно нам тоже пригодится).

Мне нужно найти угол между ( displaystyle DH) и ( displaystyle BM). Что нам известно?

Нам известна только координата точки ( displaystyle B). Значит, надо найти еще координаты точек ( displaystyle D,H,M).

Теперь думаем: точка ( displaystyle H) – это точка пересечения высот (или биссектрисс или медиан) треугольника ( displaystyle ABC).

А точка ( displaystyle D) – это приподнятая точка ( displaystyle H).

Точка же ( displaystyle M) – это середина отрезка ( displaystyle AD).

Тогда окончательно нам надо найти: координаты точек: ( displaystyle A,D,H,M).

Начнем с самого простого: координаты точки ( displaystyle A).

Смотри на рисунок: Ясно, что аппликата точки ( displaystyle A) равна нулю (точка лежит на плоскости ( displaystyle Oxy)).

Её ордината равна ( displaystyle 0,5) (так как ( displaystyle AK) – медиана).

Сложнее найти ее абсциссу. Однако это легко делается на основании теоремы Пифагора: Рассмотрим треугольник ( displaystyle BAS). Его гипотенуза ( displaystyle BA) равна ( displaystyle 1), а один из катетов ( displaystyle AS) равен ( displaystyle 0,5)

Тогда:

( BS=sqrt{B{{A}^{2}}-A{{S}^{2}}}=sqrt{1-frac{1}{4}}=frac{sqrt{3}}{2})

Окончательно имеем: ( Aleft( frac{sqrt{3}}{2},frac{1}{2},0 right)).

Теперь найдем координаты точки ( displaystyle H).

Ясно, что ее аппликата опять равна нулю, а ее ордината такая же, как у точки ( displaystyle A), то есть ( 0,5).

Найдем ее абсциссу. Это делается достаточно тривиально, если помнить, что высоты равностороннего треугольника точкой пересечения делятся в пропорции ( displaystyle mathbf{2}:mathbf{1}), считая от вершины. Так как: ( AK=BS=frac{sqrt{3}}{2}), то искомая абсцисса точки, равная длине отрезка ( displaystyle KH), равна: ( KH=frac{AK}{3}=frac{sqrt{3}}{6}). Т

аким образом, координаты точки ( displaystyle H) равны:

( Hleft( frac{sqrt{3}}{6},frac{1}{2},0 right).)

Найдем координаты точки ( displaystyle D).

Ясно, что ее абсцисса и ордината совпадают с абсциссой и ординатой точки ( displaystyle H). А аппликата равна длине отрезка ( displaystyle DH). ( displaystyle DH) – это один из катетов треугольника ( displaystyle DAH). Гипотенуза треугольника ( displaystyle DAH) – это отрезок ( AD=AB=1.) ( displaystyle AH) – катет.

Он ищется из соображений, которые я выделил жирным шрифтом:

( AH=frac{2}{3}cdot frac{sqrt{3}}{2}=frac{sqrt{3}}{3})

Тогда:

( DH=sqrt{1-{{left( frac{sqrt{3}}{3} right)}^{2}}}=sqrt{frac{2}{3}})

Отсюда:

( Dleft( frac{sqrt{3}}{6},frac{1}{2},sqrt{frac{2}{3}} right).)

Точка ( M) – это середина отрезка ( AD). Тогда нам нужно вспомнить формулу координат середины отрезка:

( Mleft( frac{frac{sqrt{3}}{2}+frac{sqrt{3}}{6}}{2},~frac{frac{1}{2}+frac{1}{2}}{2},frac{0+sqrt{frac{2}{3}}}{2} right)=Mleft( frac{sqrt{3}}{3},frac{1}{2},frac{1}{sqrt{6}} right).~)

Ну все, теперь мы можем искать координаты направляющих векторов:

( overrightarrow{BM}left( frac{sqrt{3}}{3},frac{1}{2},frac{1}{sqrt{6}} right))

( overrightarrow{DH}left( 0,0,-sqrt{frac{2}{3}} right))

Ну что, все готово: подставляем все данные в формулу:

( displaystyle cosvarphi =frac{left| frac{1}{sqrt{6}}cdot left( -sqrt{frac{2}{3}} right) right|}{sqrt{{{left( frac{sqrt{3}}{3} right)}^{2}}+{{left( frac{1}{2} right)}^{2}}+{{left( frac{1}{sqrt{6}} right)}^{2}}}cdot sqrt{{{left( -sqrt{frac{2}{3}} right)}^{2}}}}=frac{frac{1}{3}}{sqrt{frac{19}{36}}cdot sqrt{frac{2}{3}}}=frac{frac{1}{3}}{sqrt{frac{19}{54}}}=frac{sqrt{54}}{3sqrt{19}}=sqrt{frac{6}{19}})

Таким образом, ( varphi =arccossqrt{frac{6}{19}}.)

Ответ: ( varphi =arccossqrt{frac{6}{19}}.)

Тебя не должны пугать такие «страшные» ответы: для задач С2 это обычная практика. Я бы скорее удивился «красивому» ответу в этой части. Также, как ты заметил, я практически не прибегал ни к чему, кроме как к теореме Пифагора и свойству высот равностороннего треугольника. То есть для решения стереометрической задачи я использовал самый минимум стереометрии. Выигрыш в этом частично «гасится» достаточно громоздкими вычислениями. Зато они достаточно алгоритмичны!

2. Изобразим правильную шестиугольную пирамиду вместе с системой координат, а также ее основание:

Нам нужно найти угол между прямыми ( displaystyle SB) и ( displaystyle CD).

Таким образом, наша задача сводится к поиску координат точек: ( displaystyle S,B,C,D).

Координаты последних трех мы найдем по маленькому рисунку, а коодинату вершины ( displaystyle S) найдем через координату точки ( displaystyle O).

Работы навалом, но надо к ней приступать!

a) Координата ( displaystyle D): ясно, что ее аппликата и ордината равны нулю.

Найдем абсциссу. Для этого рассмотрим прямоугольный треугольник ( displaystyle EDP). Увы, в нем нам известна только гипотенуза, которая равна ( displaystyle 1). Катет ( displaystyle DP) мы будем стараться отыскать (ибо ясно, что удвоенная длина катета ( displaystyle DP) даст нам абсциссу точки ( displaystyle D)).

Как же нам ее искать?

Давай вспомним, что за фигура у нас лежит в основании пирамиды? Это правильный шестиугольник.

А что это значит? Это значит, что у него все стороны и все углы равны. Надо бы найти один такой угол. Есть идеи?

Идей масса, но есть формула:

Сумма углов правильного n-угольника равна ( left( n-2 right)cdot 180{}^circ ).

Таким образом, сумма углов правильного шестиугольника равна ( displaystyle 720) градусов. Тогда каждый из углов равен:

( frac{720{}^circ }{6}=120{}^circ )

Вновь смотрим на картинку.

Ясно, что отрезок ( displaystyle EB) – биссектрисса угла ( displaystyle DEF). Тогда угол ( displaystyle DEP) равен ( displaystyle 60) градусам.

Тогда:

( sin60{}^circ =frac{sqrt{3}}{2}=frac{DP}{ED}=frac{DP}{1}=DP)

Тогда ( DP=frac{sqrt{3}}{2}), откуда ( DF=2DP=sqrt{3}).

Таким образом, ( displaystyle D) имеет координаты ( Dleft( sqrt{3},0,0 right))

b) Теперь легко найдем координату точки ( C): ( Cleft( sqrt{3},1,0 right)).

c) Найдем координаты точки ( displaystyle B).

Так как ее абсцисса совпадает с длиной отрезка ( FP) то она равна ( frac{sqrt{3}}{2}).

Найти ординату тоже не очень сложно: если мы соединим точки ( displaystyle C) и ( displaystyle A) а точку пересечения прямой ( displaystyle AC) обозначим, скажем за ( displaystyle M). (сделай сам несложное построение). Тогда ( BM=EP.)

Таким образом, ордината точки B равна сумме длин отрезков ( PM+MB). Вновь обратимся к треугольнику ( displaystyle DEP).

Тогда

( frac{1}{2}=cos60{}^circ =frac{EP}{ED}=EP)

Тогда так как ( PM=DC=1,~mo~PB=1+frac{1}{2}=frac{3}{2}.) Тогда точка ( B) имеет координаты ( Bleft( frac{sqrt{3}}{2},frac{3}{2},0 right).)

d) Теперь найдем координаты точки ( displaystyle O).

Рассмотри прямоугольник ( displaystyle ACDF) и докажи, что ( PO=frac{1}{2}.)

Таким образом, координаты точки ( displaystyle O): ( Oleft( frac{sqrt{3}}{2},frac{1}{2},0 right).)

e) Осталось найти координаты вершины ( S). Ясно, что ее абсцисса и ордината совпадает с абсциссой и ординатой точки ( O).

Найдем аппликату. Так как ( FC=EB=2), то ( OF=1). Рассмотрим прямоугольный треугольник ( displaystyle OFS). По условию задачи боковое ребро ( FS=2). Это гипотенуза моего треугольника.

Тогда высота пирамиды ( displaystyle OS) – катет.

( OS=sqrt{F{{S}^{2}}-O{{F}^{2}}}=sqrt{4-1}=sqrt{3})

Тогда точка ( S) имеет координаты: ( Sleft( frac{sqrt{3}}{2},frac{1}{2},sqrt{3} right).)

Ну все, у меня есть координаты всех интересующих меня точек. Ищу координаты направляющих векторов прямых:

( overrightarrow{SB}left( frac{sqrt{3}}{2}-frac{sqrt{3}}{2},frac{1}{2}-frac{3}{2},sqrt{3}-0 right)=overrightarrow{SB}left( 0,-1,sqrt{3} right).)

( overrightarrow{CD}left( sqrt{3}-sqrt{3},0-1,0 right)=overrightarrow{CD}left( 0,-1,0 right).)

Ищем угол между этими векторами:

( cosvarphi =frac{left| 0+left( -1 right)cdot left( -1 right)+sqrt{3}cdot 0 right|}{sqrt{{{left( -1 right)}^{2}}+{{left( sqrt{3} right)}^{2}}}cdot sqrt{{{left( -1 right)}^{2}}}}=frac{1}{2})

Тогда ( varphi =arccos left( frac{1}{2} right)=60{}^circ )

Ответ: ( 60{}^circ )

Опять-таки, при решении этой задачи я не использовал никаких изошренных приемов, кроме формулы суммы углов правильного n-угольника, а также определения косинуса и синуса прямоугольного треугольника.

3. Поскольку нам опять не даны длины ребер в пирамиде, то я буду считать их равными единице. 

Таким образом, поскольку ВСЕ ребра, а не только боковые, равны между собой, то в основании пирамиды и меня лежит квадрат, а боковые грани – правильные треугольники.

Изобразим такую пирамиду, а также ее основание на плоскости, отметив все данные, приведенные в тексте задачи:

Ищем угол между ( displaystyle BM) и ( displaystyle PH).

Я буду делать очень краткие выкладки, когда буду заниматься поиском координат точек. Тебе необходимо будет «расшифровать» их:

a) ( Bleft( 0,1,0 right))

b) ( displaystyle H) – середина отрезка ( displaystyle AC). Её координаты:

( Hleft( frac{1}{2},frac{1}{2},0 right))

c) Длину отрезка ( displaystyle AH) я найду по теореме Пифагора в треугольнике ( displaystyle AHD). ( AH=frac{sqrt{2}}{2}.) Найду ( displaystyle PH) по теореме Пифагора в треугольнике ( displaystyle AHP).

( PH=sqrt{1-frac{1}{2}}=frac{1}{sqrt{2}})

Координаты ( P): ( Pleft( frac{1}{2},frac{1}{2},frac{1}{sqrt{2}} right).)

d) ( M) – середина отрезка ( AP). Ее координаты равны ( Mleft( frac{1}{4},frac{1}{4},frac{1}{2sqrt{2}} right).)

e) Координаты вектора ( overrightarrow{PH}:~overrightarrow{PH}left( 0,0,-frac{1}{sqrt{2}} right).~)

f) Координаты вектора ( overrightarrow{BM}:~overrightarrow{BM}left( frac{1}{4},-frac{3}{4},frac{1}{2sqrt{2}} right).)

g) Ищем угол: ( cosvarphi =frac{frac{1}{4}}{frac{1}{sqrt{2}}cdot frac{sqrt{3}}{2}}=frac{1}{sqrt{6}})

h) Ответ: ( arccosfrac{1}{sqrt{6}})

Куб – простейшая фигура. Я уверен, что с ней ты разберешься самостоятельно. Ответы к задачам 4 и 5 следующие:

4. ( arccosfrac{4}{sqrt{30}})

5. ( arccosfrac{1}{sqrt{15}})

Нахождение угла между прямой и плоскостью

Ну что, время простых задачек окончено!

Теперь примеры будут еще сложнее. Для отыскания угла между прямой и плоскостью мы будем поступать следующим образом:

  • По трем точкам строим уравнение плоскости: ( Ax+By+Cz+D=0), используя определитель третьего порядка;
  • По двум точкам ищем координаты направляющего вектора прямой: ( vec{s}left( l,m,n right));
  • Применяем формулу для вычисления угла между прямой и плоскостью: ( sinvarphi =frac{left| Al+Bm+Cn right|}{sqrt{{{A}^{2}}+{{B}^{2}}+{{C}^{2}}~}cdot sqrt{{{l}^{2}}+{{m}^{2}}+{{n}^{2}}}})

Как видишь, эта формула очень похожа на ту, что мы применяли для поиска углов между двумя прямыми.

Структура правой части просто одинакова, а слева мы теперь ищем синус, а не косинус, как раньше. Ну и добавилось одно противное действие – поиск уравнения плоскости.

Опять я решу первые две задачи подробно, третью – кратко, а последние две оставляю тебе для самостоятельного решения.

К тому же тебе уже приходилось иметь дело с треугольной и четырехугольной пирамидами, а вот с призмами – пока что нет.

Решения:

1. Изобразим призму, а также ее основание. Совместим ее с системой координат и отметим все данные, которые даны в условии задачи:

Извиняюсь за некоторое несоблюдение пропорций, но для решения задачи это, по сути, не так важно. Плоскость ( BC{{C}_{1}}) – это просто «задняя стенка» моей призмы. Достаточно просто догадаться, что уравнение такой плоскости имеет вид:

( x=0)

Однако, это можно показать и непосредственно:

Выберем произвольные три точки на этой плоскости: например, ( Bleft( 0,0,0 right),~Cleft( 0,8,0 right),~{{B}_{1}}left( 0,0,3 right)).

Составим уравнение плоскости:

( left| {begin{array}{*{20}{c}}x&0&0\y&8&0\z&0&3end{array}} right| = 0)

Упражнение тебе: самостоятельно вычислить этот определитель. У тебя получилось ( 24x)? Тогда уравение плоскости имеет вид:

( 24x=0)

Или просто

( x=0)

Таким образом, ( A=1,B=0,C=0,D=0.)

Для решения примера мне нужно найти координаты направляющего вектора прямой ( B{{A}_{1}}).

Так как точка ( B) cовпала с началом координат, то координаты вектора (overrightarrow{B{{A}_{1}}}) просто совпадут с координатами точки ( {{A}_{1}}.)

Для этого найдем вначале координаты точки ( displaystyle A).

Для этого рассмотрим треугольник ( displaystyle ABC).

Проведем высоту (она же – медиана и биссектрисса) из вершины ( displaystyle A).

Так как ( BC=8), то ордината точки ( displaystyle A) равна ( displaystyle 4).

Для того, чтобы найти абсциссу этой точки, нам нужно вычислить длину отрезка ( displaystyle AT).

По теореме Пифагора имеем:

( AT=sqrt{A{{B}^{2}}-B{{T}^{2}}}=sqrt{25-16}=3.)

Тогда точка ( displaystyle A) имеет координаты:

( Aleft( 3,4,0 right))

Точка ( {{A}_{1}})– это «приподнятая» на ( displaystyle 3) точка ( displaystyle A):

( {{A}_{1}}left( 3,4,3 right))

Тогда координаты вектора ( overrightarrow{B{{A}_{1}}}):

( overrightarrow{B{{A}_{1}}}left( 3,4,3 right).)

( sinvarphi =frac{left| 3cdot 1+4cdot 0+3cdot 0 right|}{sqrt{{{1}^{2}}+{{0}^{2}}+{{0}^{2}}}cdot sqrt{{{3}^{2}}+{{4}^{2}}+{{3}^{2}}}}=frac{3}{sqrt{34}}.)

( varphi =arcsinfrac{3}{sqrt{34}}.)

Ответ: ( arcsinfrac{3}{sqrt{34}}.)

Как видишь, ничего принципиально сложного при решении таких задач нет. На самом деле процесс еще немного упрощает «прямота» такой фигуры, как призма.

Теперь давай перейдем к следующему примеру:

2. Рисуем параллелепипед, проводим в нем плоскость и прямую, а также отдельно вычерчиваем его нижнее основание:

Вначале найдем уравнение плоскости: Координаты трех точек, лежащих в ней:

( Aleft( 0,0,0 right),~Bleft( 0,2,0 right),{{C}_{1}}left( 1,2,1 right)) (первые две координаты получены очевидным способом, а последнюю координату ты легко найдешь по картинке из точки ( C)). Тогда составляем уравнение плоскости:

( left| {begin{array}{*{20}{c}}x&0&1\y&2&2\z&0&1end{array}} right| = 0)

Вычисляем:

( 2x-2z=0,~x-z=0)

Тогда ( A=1,B=0,C=-1,D=0.)

Ищем координаты направляющего вектора ( overrightarrow{A{{B}_{1}}}): Ясно, что его координаты совпадают с координатами точки ( {{B}_{1}}), не правда ли?

Как найти координаты ( {{B}_{1}})?

Это же координаты точки ( B), приподнятые по оси аппликат на единицу! ( {{B}_{1}}left( 0,2,1 right)). Тогда ( overrightarrow{A{{B}_{1}}}left( 0,2,1 right).)

Ищем искомый угол:

( sinvarphi =frac{left| 1cdot 0+0cdot 2+left( -1 right)cdot 1 right|}{sqrt{{{1}^{2}}+{{left( -1 right)}^{2}}+{{0}^{2}}~}cdot sqrt{0+{{2}^{2}}+{{1}^{2}}}}=frac{1}{sqrt{10}}.)

( ~varphi =arcsinfrac{1}{sqrt{10}}.)

Ответ: ( arcsinfrac{1}{sqrt{10}}.)

3. Рисуем правильную шестиугольную призму, а затем проводим в ней плоскость и прямую.

Тут даже плоскость нарисовать проблемно, не говоря уже о решении этой задачи, однако методу координат все равно! Именно в его универсальности и заключается его основное преимущество!

Плоскость проходит через три точки: ( A,C,{{D}_{1}}). Ищем их координаты:

1) ( Aleft( 0,0,0 right),~left( frac{sqrt{3}}{2},frac{3}{2},0 right), {{D}_{1}}left( sqrt{3},1,1 right)). Сам выведи координаты для последних двух точек. Тебе пригодится для этого решение задачи с шестиугольной пирамидой!

2) Строим уравнение плоскости:

( left| {begin{array}{*{20}{c}}x&{frac{{sqrt 3 }}{2}}&{sqrt 3 }\y&{frac{3}{2}}&1\z&0&1end{array}} right| = 0)

( -sqrt{3}x+y+2z=0)

( A=-sqrt{3},B=1,C=2,D=0.)

Ищем координаты вектора ( overrightarrow{A{{C}_{1}}}): ( text{ }!!~!!text{ }overrightarrow{A{{C}_{1}}}left( frac{sqrt{3}}{2},frac{3}{2},1 right)). (снова смотри задачу с треугольной пирамидой!)

3) Ищем угол:

( sinvarphi =frac{left| -sqrt{3}cdot frac{sqrt{3}}{2}+frac{3}{2}+2 right|}{sqrt{{{left( frac{sqrt{3}}{2} right)}^{2}}+{{left( frac{3}{2} right)}^{2}}+{{1}^{2}}~}cdot sqrt{{{left( -sqrt{3} right)}^{2}}+{{1}^{2}}+{{2}^{2}}}}=frac{2}{2sqrt{8}}=frac{1}{2sqrt{2}}.)

Ответ: ( arcsinfrac{1}{2sqrt{2}}.)

Как видишь, ничего сверхъестественно сложного в этих задачах нет. Нужно лишь быть очень внимательным с корнями. К последним двум задачам я дам лишь ответы:

4. ( text{arcsin}frac{12}{sqrt{193}}~)

5. ( text{arcsin}frac{1}{sqrt{6}}~)

Как ты мог убедиться, техника решения задач везде одинаковая: основная задача найти координаты вершин и подставить их в некие формулы. Нам осталось рассмотреть еще один класс задач на вычисление углов, а именно: вычисление углов между двумя плоскостями.

Решения задач:

1. Сто­ро­на ос­но­ва­ния пра­виль­ной тре­уголь­ной приз­мы ( ABC{{A}_{1}}{{B}_{1}}{{C}_{1}}) равна ( 2), а диа­го­наль бо­ко­вой грани равна ( sqrt{5}). Най­ди­те угол между плос­ко­стью ( {{A}_{1}}BC) и плос­ко­стью ос­но­ва­ния приз­мы.

Рисую правильную (в основании – равносторонний треугольник) треугольную призму и отмечаю на ней плоскости, которые фигурируют в условии задачи:

Нам нужно найти уравнения двух плоскостей: ( ABC~и~BC{{A}_{1}}.) Уравнение основания получается тривиально: ты можешь составить соответствующий определитель по трем точкам, я же составлю уравнение сразу:

( z=0.)

То есть:

( {{A}_{1}}=0, {{B}_{1}}=0, {{C}_{1}}=1, {{D}_{1}}=0.)

Теперь найдем уравнение ( BC{{A}_{1}}.) Точка ( B) имеет координаты ( Bleft( 0,0,0 right).) Точка ( C) – ( Cleft( 0,1,0 right).)

Так как ( AO) – медиана и высота треугольника ( ABC), то ( BO=OC=1.) ( AO) легко находится по теореме Пифагора в треугольнике ( BAO:) ( AO=sqrt{4-1}=sqrt{3}).

Тогда точка ( A) имеет координаты: ( Aleft( sqrt{3},1,0 right).)

Найдем аппликату точки ( {{A}_{1}}.) Для этого рассмотрим прямоугольный треугольник ( {{A}_{1}}AC.~)

( A{{A}_{1}}=sqrt{{{A}_{1}}{{C}^{2}}-A{{C}^{2}}}=1.)

Тогда получаем вот такие координаты: ( {{A}_{1}}left( sqrt{3},1,1 right).) Cоставляем уравнение плоскости ( BC{{A}_{1}}).

( left| {begin{array}{*{20}{c}}x&0&{sqrt 3 }\y&1&1\z&0&1end{array}} right| = 0.)

( x+sqrt{3}z-sqrt{3}z-sqrt{3}y=0)

( x-sqrt{3}z=0)

Тогда

( {{A}_{2}}=1, {{B}_{2}}=0, {{C}_{2}}=-sqrt{3}, {{D}_{2}}=0.)

Вычисляем угол между плоскостями:

( cosvarphi =frac{left| -sqrt{3} right|}{sqrt{1+{{left( -sqrt{3} right)}^{2}}}}=frac{sqrt{3}}{2}.)

Отсюда

( varphi =30{}^circ .)

Ответ: ( 30{}^circ .)

2. В пра­виль­ной че­ты­рех­уголь­ной пи­ра­ми­де ( displaystyle SABCD), все ребра ко­то­рой равны ( displaystyle 1), най­ди­те синус угла между плос­ко­стью ( displaystyle SAD) и плос­ко­стью, про­хо­дя­щей через точку ( displaystyle A) пер­пен­ди­ку­ляр­но пря­мой ( displaystyle BD).

Делаем рисунок:

Самое сложное – это понять, что это такая за таинственная плоскость, проходящая через точку ( A) перпендикулярно ( DB).

Ну что же, главное, это что? Главное – это внимательность! В самом деле, прямая ( AC) перпендикулярна ( BD). Прямая ( OS) также перпендикулярна ( BD).

Тогда плоскость, проходящая через эти две прямые, будет перпендикулярна прямой ( BD), и, кстати, проходить через точку ( A). Эта плоскость также проходит через вершину пирамиды.

Тогда искомая плоскость – ( SAC.) А плоскость ( SAD) нам уже дана. Ищем координаты точек ( displaystyle S,A,C,D).

  • ( displaystyle Aleft( 0,1,0 right))
  • ( displaystyle Cleft( 1,0,0 right))
  • ( displaystyle Dleft( 0,0,0 right))

Координату точки ( S) найдем через точку ( O). Из маленького рисунка легко вывести, что координаты у точки ( O) будут такие: ( Oleft( frac{1}{2},frac{1}{2},0 right).~)

Что теперь осталось найти, чтобы найти координаты вершины пирамиды?

Еще нужно вычислить ее высоту.

Это делается при помощи все той же теоремы Пифагора: вначале докажи, что ( OB=frac{sqrt{2}}{2}) (тривиально из маленьких треугольничков, образующих квадрат в основании).

Так как по условию ( SB=1), то имеем:

( OS=sqrt{1-{{left( frac{sqrt{2}}{2} right)}^{2}}}=frac{1}{sqrt{2}}.)

Теперь все готово: координаты вершины:

( Sleft( frac{1}{2},frac{1}{2},frac{1}{sqrt{2}} right).~)

Составляем уравнение плоскости ( displaystyle DAS):

( left| {begin{array}{*{20}{c}}x&0&{frac{1}{2}}\y&1&{frac{1}{2}}\z&0&{frac{1}{{sqrt 2 }}}end{array}} right| = 0)

Ты уже спец в вычислении определителей. Без труда ты получишь:

( frac{1}{sqrt{2}}x-frac{1}{2}z=0)

Или иначе (если домножим обе части на корень из двух)

( x-frac{1}{sqrt{2}}z=0.)

Теперь найдем уравнение плоскости ( displaystyle SAC):

( left| {begin{array}{*{20}{c}}{x — 1}&{ — 1}&{ — frac{1}{2}}\y&1&{frac{1}{2}}\z&0&{frac{1}{{sqrt 2 }}}end{array}} right| = 0)

(ты ведь не забыл, как мы получаем уравнение плоскости, правда?

Если ты не понял, откуда взялась эта минус единица, то вернись к определению уравнения плоскости! Просто всегда до этого оказывалось так, что моей плоскости принадлежало начало координат!)

Вычисляем определитель:

( begin{array}{l}frac{x-1}{sqrt{2}}-frac{1}{2}z+frac{1}{2}z+frac{y}{sqrt{2}}=0\frac{x-1}{sqrt{2}}+frac{y}{sqrt{2}}=0\x+y-1=0end{array}).

(Ты можешь заметить, что уравнение плоскости совпало с уравнением прямой, проходящей через точки ( displaystyle A) и ( displaystyle C)! Подумай, почему!)

Теперь вычисляем угол:

( cosvarphi =frac{left| 1+1cdot 0-frac{1}{sqrt{2}}cdot 0 right|}{sqrt{1+{{left( -frac{1}{sqrt{2}} right)}^{2}}}cdot sqrt{{{1}^{2}}+{{1}^{2}}}~~}=frac{1}{sqrt{3}}.)

Нам же нужно найти синус:

( sinvarphi =sqrt{1-{{cos }^{2}}varphi }=sqrt{1-frac{1}{3}}=sqrt{frac{2}{3}}).

Ответ: ( sqrt{frac{2}{3}}.)

3. В правильной че­ты­рех­уголь­ной призме ( ABCD{{A}_{1}}{{B}_{1}}{{C}_{1}}{{D}_{1}}) сто­ро­ны ос­но­ва­ния равны ( displaystyle 1), а бо­ко­вые ребра равны ( displaystyle 5). На ребре ( A{{A}_{1}}) от­ме­че­на точка ( displaystyle E) так, что ( AE:E{{A}_{1}}=2:3). Найдите угол между плос­ко­стя­ми ( ABC) и ( BE{{D}_{1}}.)

Каверзный вопрос: а что такое прямоугольная призма, как ты думаешь? Это же всего-то навсего хорошо известный тебе параллелепипед! Сразу же делаем чертеж! Можно даже отдельно не изображать основание, пользы от него здесь немного:

Плоскость ( ABC), как мы уже раньше заметили, записывается в виде уравнения:

( z=0.)

Теперь составляем плоскость ( BE{{D}_{1}}.)

( Bleft( 0,0,0 right),~Eleft( 1,0,2 right),~{{D}_{1}}left( 1,1,5 right).)

Cразу же составляем уравнение плоскости:

( left| {begin{array}{*{20}{c}}x&1&1\y&0&1\z&2&5end{array}} right| = 0)

( begin{array}{l}2y+z-2x-5y=0\-2x-3y+z=0\2x+3y-z=0end{array})

Ищем угол:

( cosvarphi =frac{1}{sqrt{4+9+1}}=frac{1}{sqrt{14}})

Ответ: ( arccos frac{1}{sqrt{14}}~~)

Теперь ответы к последним двум задачам:

4. ( arccosfrac{2}{3})

5. ( sqrt{frac{2}{3}})

Ну что же, теперь самое время немного передохнуть, ведь мы с тобой молодцы и проделали огромную работу!

Вычисление расстояния от точки до плоскости

Что нам потребуется для решения этой задачи?

  • Координаты точки ( Mleft( {{x}_{0}},{{y}_{0}},{{z}_{0}} right).)
  • Уравнение плоскости ( Ax+By+Cz+D=0.)

Итак, как только мы получим все необходимые данные, то применяем формулу:

( d=frac{left| A{{x}_{0}}+B{{y}_{0}}+C{{z}_{0}}+D right|}{sqrt{{{A}^{2}}+{{B}^{2}}+{{C}^{2}}}})

Как мы строим уравнение плоскости тебе уже должно быть известно из предыдущих задач, которые я разбирал в прошлой части. Давай сразу приступим к задачам.

Схема следующая: 1, 2 –я помогаю тебе решать, причем довольно подробно, 3, 4 – только ответ, решение ты проводишь сам и сравниваешь. Начали!

Решения:

1. Рисуем кубик с единичными ребрами, строим отрезок и плоскость, середину отрезка ( B{{C}_{1}}) обозначим буквой ( M)

Вначале давай начнем с легкого: найдем координаты точки ( displaystyle M). Так как ( displaystyle Bleft( 0,1,0 right),~{{C}_{1}}left( 1,1,1 right),~) то ( displaystyle Mleft( frac{1}{2},1,frac{1}{2} right).) (вспомни координаты середины отрезка!)

Теперь составляем уравнение плоскости по трем точкам ( displaystyle Aleft( 0,0,0 right),~{{B}_{1}}left( 0,1,1 right),~{{D}_{1}}left( 1,0,1 right).)

(left| {begin{array}{*{20}{c}}x&0&1\y&1&0\z&1&1end{array}} right| = 0)

( displaystyle x+y-z=0.)

( displaystyle A=1,B=1,C=-1,~D=0.)

Теперь я могу приступать к поиску расстояния:

( displaystyle d=frac{left| frac{1}{2}+1-frac{1}{2} right|}{sqrt{1+1+1}}=frac{1}{sqrt{3}})

Ответ: ( displaystyle frac{1}{sqrt{3}})

2. Вновь начинаем с чертежа, на котором отмечаем все данные!

Для пирамиды было бы полезно отдельно рисовать ее основание.

Даже тот факт, что я рисую как курица лапой, не помешает нам с легкостью решить эту задачу!

1. ( AO=OC=frac{1}{2}AC=frac{sqrt{{{2}^{2}}+{{2}^{2}}}}{2}=sqrt{2}).

Тогда ( OS=sqrt{S{{C}^{2}}-O{{C}^{2}}}=sqrt{3}.)

Теперь легко найти координаты точки ( S.)

Так как координаты точки ( O:Oleft( 1,1,0 right),~), то ( Sleft( 1,1,sqrt{3} right).)

2. Так как координаты точки ( C:) ( Cleft( 2,2,0 right),) а ( M) – середина отрезка ( SC), то

( Mleft( frac{3}{2},frac{3}{2},frac{sqrt{3}}{2} right).)

Без проблем найдем и координаты еще двух точек на плоскости ( ADM.) ( Dleft( 1,0,0 right),~Aleft( 0,0,0 right).) Составляем уравнение плоскости и упростим его:

(left| {left| {begin{array}{*{20}{c}}x&1&{frac{3}{2}}\y&0&{frac{3}{2}}\z&0&{frac{{sqrt 3 }}{2}}end{array}} right|} right| = 0)

( frac{3}{2}z-frac{sqrt{3}}{2}y=0)

( sqrt{3}y-3z=0)

( y-sqrt{3}z=0.)

Так как точка ( B) имеет координаты: ( Bleft( 0,2,0 right)), то вычисляем расстояние:

( d=frac{2}{sqrt{1+3}}=1.)

Ответ (очень редкий!): ( 1)

Ну что, разобрался?

Мне кажется, что здесь все так же технично, как и в тех примерах, что мы рассматривали с тобой в предыдущей части. Так что я уверен, что если ты овладел тем материалом, то тебе не составит труда решить оставшиеся две задачи.

Я лишь приведу ответы:

  • ( frac{3sqrt{39}}{4})
  • ( frac{sqrt{3}}{2})

Вычисление расстояния от прямой до плоскости

На самом деле, здесь нет ничего нового. Как могут располагаться прямая и плоскость друг относительно друга?

У них есть всего ( 2) возможности: пересечься, или прямая параллельна плоскости. Как ты думаешь, чем равно расстояние от прямой до плоскости, с которой данная прямая пересекается?

Мне кажется, что тут ясно, что такое расстояние равно нулю. Неинтересный случай.

Второй случай хитрее: тут уже расстояние ненулевое. Однако, так как прямая параллельна плоскости, то каждая точка прямой равноудалена от этой плоскости:

Таким образом:

Расстояние от плоскости до параллельной ей прямой равно расстоянию от любой точки прямой до плоскости.

А это значит, что моя задача свелась к предыдущей: ищем координаты любой точки на прямой, ищем уравнение плоскости, вычисляем расстояние от точки до плоскости.

На самом деле, такие задачи в ЕГЭ встречаются крайне редко. Мне удалось найти лишь одну задачу, и то данные в ней были такими, что метод координат к ней был не очень-то и применим!

Теперь перейдем к другому, гораздо более важному классу задач:

Вычисление расстояния точки до прямой

Что нам потребуется?

  • Координаты точки, от которой мы ищем расстояние: ( {{M}_{0}}left( {{x}_{0}},{{y}_{0}},{{z}_{0}} right).)
  • Координаты любой точки, лежащей на прямой ( {{M}_{1}}left( {{x}_{1}},{{y}_{1}},{{z}_{1}} right))
  • Координаты направляющего вектора прямой ( vec{s}left( m,n,p right))

Какую применяем формулу?

Ответ: ( d=frac{left| overrightarrow{{{M}_{0}}{{M}_{1}}}times vec{s} right|}{sqrt{{{m}^{2}}+{{n}^{2}}+{{p}^{2}}}})

Что означает знаменатель данной дроби тебе и так должно быть ясно: это длина направляющего вектора прямой. Здесь очень хитрый числитель!

Выражение ( left| overrightarrow{{{M}_{0}}{{M}_{1}}}times vec{s} right|) означает модуль (длина) векторного произведения векторов ( overrightarrow{{{M}_{0}}{{M}_{1}}}) и ( vec{s}.)

Как вычислять векторное произведение, мы с тобой изучали в предыдущей части работы. Освежи свои знания, нам они сейчас очень пригодятся!

Таким образом, алгоритм решения задач будет следующий:

  • Ищем координаты точки, от которой мы ищем расстояние: ( {{M}_{0}}left( {{x}_{0}},{{y}_{0}},{{z}_{0}} right).)
  • Ищем координаты любой точки на прямой, до которой мы ищем расстояние: ( {{M}_{1}}left( {{x}_{1}},{{y}_{1}},{{z}_{1}} right))
  • Строим вектор ( overrightarrow{{{M}_{0}}{{M}_{1}}}:) ( overrightarrow{{{M}_{0}}{{M}_{1}}}left( {{x}_{1}}-{{x}_{0}},{{y}_{1}}-{{y}_{0}},{{z}_{1}}-{{z}_{0}} right).)
  • Строим направляющий вектор прямой ( vec{s}left( m,n,p right))
  • Вычисляем векторное произведение ( overrightarrow{{{M}_{0}}{{M}_{1}}}times vec{s})
  • Ищем длину полученного вектора: ( left| overrightarrow{{{M}_{0}}{{M}_{1}}}times vec{s} right|)
  • Вычисляем расстояние: ( d=frac{left| overrightarrow{{{M}_{0}}{{M}_{1}}}times vec{s} right|}{sqrt{{{m}^{2}}+{{n}^{2}}+{{p}^{2}}}})

Работы у нас много, а примеры будут достаточно сложными! Так что теперь сосредоточь все внимание!

1. Дана пра­виль­ная тре­уголь­ная пи­ра­ми­да ( DABC) с вер­ши­ной ( D). Сто­ро­на ос­но­ва­ния пи­ра­ми­ды равна ( sqrt{6}), вы­со­та равна ( sqrt{30}).

Най­ди­те рас­сто­я­ние от се­ре­ди­ны бо­ко­во­го ребра ( BD) до пря­мой ( MT), где точки ( M) и ( T) — се­ре­ди­ны ребер ( AC) и ( AB) со­от­вет­ствен­но.

2. Длины ребер ( AB,A{{A}_{1}}) и ( AD) пря­мо­уголь­но­го па­рал­ле­ле­пи­пе­да ( ABCD{{A}_{1}}{{B}_{1}}{{C}_{1}}{{D}_{1}}) равны со­от­вет­ствен­но ( 12,text{ }16~) и ( 15.)

Най­ди­те рас­сто­я­ние от вер­ши­ны ( {{A}_{1}}) до пря­мой ( B{{D}_{1}}.)

3. В пра­виль­ной ше­сти­уголь­ной приз­ме ( ABCDEF{{A}_{1}}{{B}_{1}}{{C}_{1}}{{D}_{1}}{{E}_{1}}{{F}_{1}}) все ребра ко­то­рой равны ( 1) най­ди­те рас­сто­я­ние от точки ( B) до пря­мой ( {{E}_{1}}{{F}_{1}}.)

Решения:

1. Делаем аккуратный чертеж, на котором отмечаем все данные:

Ну что же, работы нам предстоит немало! Принимаемся за нее, засучив рукава!

1. Чтобы найти координаты высоты пирамиды, нам нужно знать координаты точки ( displaystyle O.) Её аппликата равна нулю, а ордината равна ( displaystyle frac{sqrt{6}}{2}.)

Абсцисса ее равна длине отрезка ( displaystyle OS.) ( displaystyle AS=sqrt{A{{B}^{2}}-S{{B}^{2}}}=sqrt{6-frac{6}{4}}=frac{3}{sqrt{2}}.~)

Так как ( displaystyle AS) – высота равностороннего треугольника ( displaystyle ABC), то она делится в отношении ( displaystyle 2:1), считая от вершины, отсюда ( displaystyle OS=frac{3}{3sqrt{2}}=frac{1}{sqrt{2}}).

Окончательно, получили координаты:

( displaystyle Oleft( frac{1}{sqrt{2}},frac{sqrt{6}}{2},0 right).)

Тогда ( displaystyle D(left( frac{1}{sqrt{2}},frac{sqrt{6}}{2},sqrt{30} right)).

Координаты точки ( displaystyle A:Aleft( frac{3}{sqrt{2}},frac{sqrt{6}}{2},0 right).)

2. ( displaystyle K) – середина отрезка ( displaystyle BD:)

( displaystyle Kleft( frac{1}{2sqrt{2}},frac{sqrt{6}}{4},frac{sqrt{30}}{2} right).~)

3. ( displaystyle M) – середина отрезка ( displaystyle AC:)

( displaystyle Mleft( frac{3}{2sqrt{2}},~frac{frac{sqrt{6}}{2}+sqrt{6}}{2},0 right)=Mleft( frac{3}{2sqrt{2}},~frac{3sqrt{6}}{4},0 right).)

( displaystyle T) – середина отрезка ( displaystyle AB)

( displaystyle Tleft( frac{3}{2sqrt{2}},~frac{sqrt{6}}{4},0 right).~)

4. Координаты( displaystyle overrightarrow{KT}:overrightarrow{KT}left( frac{3}{2sqrt{2}}-frac{1}{2sqrt{2}},frac{sqrt{6}}{4}-frac{sqrt{6}}{4},~0-frac{sqrt{30}}{2} right)=overrightarrow{KT}left( frac{1}{sqrt{2}},~0,~-frac{sqrt{30}}{2} right).)

Координаты вектора ( displaystyle overrightarrow{TM}:)

( displaystyle overrightarrow{TM}left( 0,frac{3sqrt{6}}{4}-frac{sqrt{6}}{4},0 right)=overrightarrow{TM}left( 0,~frac{sqrt{6}}{2},0 right).)

5. Вычисляем векторное произведение:

( displaystyle overrightarrow{KT}times overrightarrow{TM}=frac{1}{sqrt{2}}cdot frac{sqrt{6}}{2}cdot overrightarrow{k}-frac{sqrt{30}}{2}cdot frac{sqrt{6}}{2}cdot vec{i}=frac{3sqrt{5}}{2}vec{i}+frac{sqrt{3}}{2}overrightarrow{k}=left( frac{3sqrt{5}}{2},0,~frac{sqrt{3}}{2} right).)

6. Длина вектора ( displaystyle TM): проще всего заменить, что отрезок ( displaystyle TM) – средняя линия треугольника ( displaystyle ABC), а значит, он равен половине основания ( displaystyle BC). Так что ( displaystyle left| text{ }!!~!!text{ }overrightarrow{TM} right|=frac{sqrt{6}}{2}).

7. Считаем длину векторного произведения:

( displaystyle left| overrightarrow{KT}times overrightarrow{TM} right|=sqrt{{{left( frac{3sqrt{5}}{2} right)}^{2}}+{{left( frac{sqrt{3}}{2} right)}^{2}}}=2sqrt{3}.)

8. Наконец, находим расстояние:

( displaystyle d=frac{left| overrightarrow{KT}times overrightarrow{TM} right|}{text{ }!!~!!text{ }left| text{ }!!~!!text{ }overrightarrow{TM} right|}=frac{2sqrt{3}}{frac{sqrt{6}}{2}}=2sqrt{2})

Уф, ну все!

Честно тебе скажу: решение этой задачи традиционными методами (через построения), было бы намного быстрее.

Зато здесь я все свел к готовому алгоритму!

Я так думаю, что алгоритм решения тебе ясен? Поэтому попрошу тебя решить оставшиеся две задачи самостоятельно. Сравним ответы?

2. ( displaystyle 12)

3. ( displaystyle 2)

Опять-таки повторюсь: эти задачи проще (быстрее) решать через построения, а не прибегая к координатному методу.

Я продемонстрировал такой способ решения лишь затем, чтобы показать тебе универсальный метод, который позволяет «ничего не достраивать».

Наконец, рассмотрим последний класс задач: Вычисление расстояния между скрещивающимися прямыми.

Вычисление расстояния между скрещивающимися прямыми

Здесь алгоритм решения задач будет схож с предыдущим. Что у нас есть:

  • Направляющий вектор первой прямой: ( overrightarrow{{{a}_{1}}(}{{x}_{1}},{{y}_{1}},{{z}_{1}}).)
  • Направляющий вектор второй прямой: ( overrightarrow{{{a}_{2}}(}{{x}_{2}},{{y}_{2}},{{z}_{2}}).)
  • Любой вектор, соединяющий точки первой и второй прямой: ( overrightarrow{{{a}_{3}}}left( {{x}_{0}},{{y}_{0}},{{z}_{0}} right))

Как мы ищем расстояние между прямыми?

Формула следующая:

( d=frac{left| left( overrightarrow{{{a}_{3}}},~overrightarrow{{{a}_{1}}},overrightarrow{{{a}_{2}}} right) right|}{left| overrightarrow{{{a}_{1}}}times overrightarrow{{{a}_{2}}} right|})

Числитель – это модуль смешанного произведения (мы его вводили в предыдущей части), а знаменатель – как и в предыдущей формуле (модуль векторного произведения направляющих векторов прямых, расстояние между которыми мы с тобой ищем).

Я напомню тебе, что

тогда формулу для расстояния можно переписать в виде:

[d = frac{{left| begin{array}{l}begin{array}{*{20}{c}}{{x_0}}&{{y_0}}&{{z_0}}end{array}\begin{array}{*{20}{c}}{{x_1}}&{{y_1}}&{{z_1}}end{array}\begin{array}{*{20}{c}}{{x_2}}&{{y_2}}&{{z_2}}end{array}end{array} right|}}{{left| begin{array}{l}begin{array}{*{20}{c}}{overrightarrow i }&{overrightarrow j }&{overrightarrow k }end{array}\begin{array}{*{20}{c}}{{x_1}}&{{y_1}}&{{z_1}}end{array}\begin{array}{*{20}{c}}{{x_2}}&{{y_2}}&{{z_2}}end{array}end{array} right|}}]

Этакий определитель делить на определитель! Хотя, если честно, мне здесь совсем не до шуток!

Данная формула, на самом деле, очень громоздка и приводит к достаточно сложным вычислениям. На твоем месте я бы прибегал к ней только в самом крайнем случае!

Давай попробуем решить несколько задач, используя изложенный выше метод:

  • В пра­виль­ной тре­уголь­ной приз­ме ( ABC{{A}_{1}}{{B}_{1}}{{C}_{1}}), все рёбра ко­то­рой равны ( 1), най­ди­те рас­сто­я­ние между пря­мы­ми ( A{{A}_{1}}) и ( B{{C}_{1}}).
  • Дана пра­виль­ная тре­уголь­ная приз­ма ( ABC{{A}_{1}}{{B}_{1}}{{C}_{1}}) все рёбра ос­но­ва­ния ко­то­рой равны ( 2sqrt{7}) Се­че­ние, про­хо­дя­щее через бо­ко­вое ребро ( A{{A}_{1}}) и се­ре­ди­ну ( M) ребра ( {{B}_{1}}{{C}_{1}}) яв­ля­ет­ся квад­ра­том. Най­ди­те рас­сто­я­ние между пря­мы­ми ( {{A}_{1}}B) и ( AM.)

Первую решаю я, а опираясь на нее, вторую решаешь ты!

1. Рисую призму и отмечаю прямые ( A{{A}_{1}}) и ( B{{C}_{1}}.)

Координаты точки С: ( C:Cleft( frac{sqrt{3}}{2},frac{1}{2},0 right),) тогда ( {{C}_{1}}left( frac{sqrt{3}}{2},frac{1}{2},1 right).~)

Координаты точки ( B:Bleft( 0,1,0 right).~)

Координаты вектора ( overrightarrow{B{{C}_{1}}}:~overrightarrow{B{{C}_{1}}}left( frac{sqrt{3}}{2},-frac{1}{2},1 right).)

Координаты точки ( {{A}_{1}}:{{A}_{1}}left( 0,0,1 right).)

Координаты вектора ( overrightarrow{A{{A}_{1}}}:~overrightarrow{A{{A}_{1}}}left( 0,0,1 right).)

Координаты вектора ( overrightarrow{AB}left( 0,1,0 right).)

[left( {B,overrightarrow {A{A_1}} overrightarrow {B{C_1}} } right) = left| {begin{array}{*{20}{l}}{begin{array}{*{20}{c}}0&1&0end{array}}\{begin{array}{*{20}{c}}0&0&1end{array}}\{begin{array}{*{20}{c}}{frac{{sqrt 3 }}{2}}&{ — frac{1}{2}}&1end{array}}end{array}} right| = frac{{sqrt 3 }}{2}]

Считаем векторное произведение между векторами ( AA) и ( overrightarrow{B{{C}_{1}}}:)

[overrightarrow {A{A_1}} cdot overrightarrow {B{C_1}} = left| begin{array}{l}begin{array}{*{20}{c}}{overrightarrow i }&{overrightarrow j }&{overrightarrow k }end{array}\begin{array}{*{20}{c}}0&0&1end{array}\begin{array}{*{20}{c}}{frac{{sqrt 3 }}{2}}&{ — frac{1}{2}}&1end{array}end{array} right| — frac{{sqrt 3 }}{2}overrightarrow k + frac{1}{2}overrightarrow i ]

Теперь считаем его длину:

( left| overrightarrow{A{{A}_{1}}}times overrightarrow{B{{C}_{1}}} right|=sqrt{{{left( -frac{sqrt{3}}{2} right)}^{2}}+{{left( frac{1}{2} right)}^{2}}}=1)

Тогда

( d=frac{frac{sqrt{3}}{2}}{1}=frac{sqrt{3}}{2}.)

Ответ: ( frac{sqrt{3}}{2}.)

Теперь постарайся аккуратно выполнить вторую задачу. Ответом на нее будет: ( frac{sqrt{6}}{2}).

Задача:

На плоскости задано N случайных точек с координатами Xi, Yi . Определить точку с минимальной суммой расстояний до остальных и точку с максимальной суммой.

Решение:

Алгоритм будет следующим: перебираем все точки (А), для каждой из них перебираем еще раз все точки и считаем сумму расстояний. Для ввода точек, вывода и вычисления расстояния между ними взяты функции оттуда.

Вычисление расстояний от текущей точки до остальных оформлено в виде отдельной функции. Это удобно так как переменные, хранящие максимальное и минимальное расстояния надо чем-то инициализировать. Можно использовать для этого MAX_DOUBLE и 0, соответственно, но красивее инициализировать их расстояниями, рассчитанными для первой точки.

Исходный код:

#include <stdio.h>
#include <math.h>
#include <stdlib.h>

// добавить функции для работы с точками плоскости

// возаращает сумму расстояний от текущей точки до остальных
double sum_dists(struct Position from, int points_count, struct Position* points) {
    double sum = 0;
    for (int i = 0; i < points_count; i++) {
        sum += distance(from, points[i]);
    }
    return sum;
}

int main() {
    int n;
    struct Position* points;
    
    printf("points count: ");
    scanf("%d", &n);
    
    points = malloc(sizeof(struct Position)*n);
    
    for (int i = 0; i < n; ++i) {
        points[i] = readPoint2D();
    }
    
    if (n == 0) {
        printf("no points");
        return 0;
    }
    
    printf("your points: n");
    for (int i = 0; i < n; ++i) {
        printPosition(points[i]);
        printf("n");
    }
    printf("n");
    
    struct Position min_dist_point = points[0];
    struct Position max_dist_point = points[0];
    
    double min_dist = sum_dists(points[0], n, points);
    double max_dist = min_dist;
    
    for (int i = 0; i < n; i++) {
        double cur_point_sum_dists = sum_dists(points[i], n, points);
        
        printf("dists drom ");
        printPosition(points[i]);
        printf(" to other: %lfn", cur_point_sum_dists);
        
        if (cur_point_sum_dists < min_dist) {
            min_dist = cur_point_sum_dists;
            min_dist_point = points[i];
        }
        
        if (cur_point_sum_dists > max_dist) {
            max_dist = cur_point_sum_dists;
            max_dist_point = points[i];
        }
    }
    
    printf("npoint with min dists: ");
    printPosition(min_dist_point);
    
    printf("nnpoint with max dists: ");
    printPosition(max_dist_point);
    
    free(points);
    return 0;
}

Результаты:

Цитата
Сообщение от Xtore
Посмотреть сообщение

Pascal
1
2
var A, B, C: record X: integer; Y: integer; end;
   ab, bc, res: real; {ab - расстояние между A и B, и т. д.}

Координаты точки по умолчанию содержат вещественные числа; если координаты целочисленные, это, как правило, специально оговаривается.

Моё мнение о типе real в Turbo Pascal

Не рекомендуется в применять устаревший тип данных real, в Turbo Pascal фактически реализованный как шестибайтовое представление вещественных чисел real48, не соответствующее стандарту IEEE 754 и не поддерживаемое наиболее распространённым арифметическим сопроцессором семейства Intel i80X87, который, начиная с процессоров i80286, составляет с центральным процессором единое целое. Операции с числами типа real компилятор либо эмулирует без применения команд сопроцессора, либо осуществляет перевод этих чисел в формат, годный для сопроцессора (double или extended), что по-любому отрицательно сказывается на быстродействии и объёме программы. Вообще, тип real в современных диалектах паскаля оставлен для совместимости со старыми программами и процессорами, сейчас, как правило, является тем же самым, что и double (восьмибайтовое представление вещественного числа, соответствующее стандарту IEEE 754 и поддерживаемое упомянутым арифметическим сопроцессором). Понимаю, что в большинстве случаев это совершенно неактуально, но всё же… Нужно стремиться к идеалу, и поэтому лучше использовать тип double. Также компилятору нужно явно указать на использование сопроцессора либо в среде разработки (включить опцию 80×87 Code… On), либо в тексте программы с помощью директивы

Полагаю, переменные лучше объявить так:

Pascal
1
2
var A, B, C: record X, Y: double end;
   ab, bc, res: double; {ab - расстояние между A и B, и т. д.}

Ещё abs-ы лишние. Можно упростить:

Pascal
10
11
   ab:=Sqrt(Sqr(A.X - B.X) + Sqr(A.Y - B.Y));
   bc:=Sqrt(Sqr(B.X - C.X) + Sqr(B.Y - C.Y));

Понравилась статья? Поделить с друзьями:
  • Net err proxy connection failed на андроид как исправить
  • Baxi main four ошибка e10 как исправить
  • Как найти массу семян
  • Как исправить щечный сигматизм
  • Как найти формулу по массовой доле элементов