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

Компьютерная геометрия и графика

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

Определение. В декартовой прямоугольной системе координат вектор с компонентами (А, В) перпендикулярен прямой , заданной уравнением Ах + Ву + С = 0.

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

Пусть в пространстве заданы две точки M1(x1, y1, z1) и M2(x2, y2, z2), тогда уравнение прямой, проходящей через эти точки:

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

На плоскости записанное выше уравнение прямой упрощается:

если х1 ¹ х2 и х = х1, еслих1 = х2.

Дробь = k называется угловым коэффициентом прямой.

Уравнение прямой по точке и угловому коэффициенту

Если общее уравнение прямой Ах + Ву + С = 0 привести к виду:

и обозначить , то полученное уравнение называется

уравнением прямой с угловым коэффициентом k.

Уравнение прямой по точке и направляющему вектору

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

Определение. Каждый ненулевой вектор (a1, a2), компоненты которого удовлетворяют условию Аa1 + Вa2 = 0 называется направляющим вектором прямой

Ах + Ву + С = 0.

Нормальное уравнение прямой

Если обе части уравнения Ах + Ву + С = 0 разделить на число , которое называется нормирующем множителем, то получим

xcosj + ysinj - p = 0 – нормальное уравнение прямой.

Знак ± нормирующего множителя надо выбирать так, чтобы m×С < 0.

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

Угол между прямыми на плоскости

Определение. Если заданы две прямые y = k1x + b1, y = k2x + b2, то острый угол между этими прямыми будет определяться как

.

Две прямые параллельны, если k1 = k2.

Две прямые перпендикулярны, если k1 = -1/k2.

Теорема. Прямые Ах + Ву + С = 0 и А1х + В1у + С1 = 0 параллельны, когда пропорциональны коэффициенты А1 = lА, В1 = lВ. Если еще и С1 = lС, то прямые совпадают.

Координаты точки пересечения двух прямых находятся как решение системы уравнений этих прямых.

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

Определение. Прямая, проходящая через точку М11, у1) и перпендикулярная к прямой у = kx + b представляется уравнением:

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

.

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

Рассмотрим простейший способ вычисления параметров .

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

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

Из условия ортогональности векторов (их скалярное произведение равно нулю: ) получаем:

Здесь .

Нормированное уравнение плоскости

из общего уравнения получается путем замен

.

Знак μ выбирается противоположным знаку D.

Здесь (α, β, γ) – направляющие углы вектора, перпендикулярного искомой плоскости (этот вектор направлен от начала координат в сторону плоскости), и p – расстояние от начала координат до плоскости.

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

.

Это уравнение легко можно получить и из общего уравнения, приняв:

a=-D/A, b=-D/B, c=-D/C.

Рассмотрим более сложные в смысле расчетов построения плоскости.

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

Есть разные способы построения этой плоскости.

Способ 1. Векторы и параллельны искомой плоскости. Их векторное произведение ортогонально искомой плоскости.

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

Способ 2. Использовать компланарность векторов , и :

.

Раскрыв этот определитель, можно получить общее уравнение плоскости:

Здесь

,

,

,

Условие компланарности является универсальным методом построения плоскости при различных исходных данных.

3. Понятие пространственной прямой связано с понятием плоскости. Например, прямой является линия пересечения двух плоскостей (аксиома стереометрии). Рассмотрим способы описания прямой.

Способ 1. Общее уравнение прямой представляет собой систему из двух уравнений пересекающихся плоскостей:

Способ 2. Через точку можно построить прямую параллельно некоторому вектору . В этом случае уравнение называется каноническим и имеет вид:

и является условием коллинеарности двух векторов:

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

Началом вектора является известная по условию точка искомой прямой L, а концом - произвольная точка этой прямой.

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

.

Переход от общих уравнений к каноническим требует некоторого усилия. Рассмотрим идею такого перехода. Параметры системы уравнений

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

Отсюда вытекает:

.

Найдем точку , через которую проходит прямая. Очевидно, что эта точка должна лежать на пересечении плоскостей. Поэтому запишем:

Для определения трех неизвестных имеем всего два уравнения. Здесь можно поступить следующим простым способом.

1. Принять и решить систему

Если решение существует, то точка найдена. Иначе, переходим в пункт 2.

2. Принять и решить систему

Если решение существует, то точка найдена. Иначе, переходим в пункт 3.

3. Принять и решить систему

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

Из канонического уравнения можно получить параметрическое уравнение прямой, приравнивая каждую дробь в отдельности некоему параметру t. Затем из этих трех равенств выражают координаты (x,y,z) точек описываемой прямой:

Преобразование точки

Точка на плоскости представляется двумя координатами: |x y|. Матрица преобразования точки выглядит так:

Ниже показано преобразование точки через квадратную матрицу; здесь xn = xa + yc и yn = xb + yd — новые координаты точки после преобразования:

Преобразование фигуры

Если представить фигуру как совокупность точек, то можно провести и ее преобразование. В следующем примере задано четыре точки: A(0, 0), B(1, 0), C(1, 1), D(0, 1), каждая из которых после преобразования переходит соответственно в A*(0, 0), B*(a, b), C*(a + c, b + d), D*(c, d):

Геометрически это соответствует деформации фигуры:

При этом площадь новой фигуры равна площади старой фигуры, умноженной на детерминант матрицы преобразования: S2 = S1 * |ad - bc|.

Будем рассматривать только преобразования точки относительно начала координат или отдельной оси координат. Другие преобразования представляют собой последовательное применение этих преобразований.

Пусть на плоскости дана точка P(X,Y) (рис. 2). Например, X=9,Y=4.

Рис. 2. Исходное расположение точки

Перенос (transfer) имеет вид:

,

или в векторной форме:

.

Результат преобразования изображен на рис. 3. Здесь .

Рис. 3. Перенос точки

Перенос задается вектором смещения . При переносе объекта форма объекта не изменяется. Здесь и далее - для единообразия матричных преобразований точки обозначаем строковой формой вектора.

Масштабирование (scaling) имеет вид:

,

или в матричной форме:

,

где - коэффициенты масштабирования по осям, а - матрица масштабирования.

Рис. 4. Масштабирование

Поворот (rotation).

Пусть вектор нужно повернуть против хода часовой стрелки вокруг оси z на угол α.

Рис. 5. Пример поворота

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

В матричной форме поворот записывают так:

.

Здесь - матрица поворота.

Матрица поворота всегда ортогональна. Геометрически это означает, что векторы-столбцы и векторы-строки этой матрицы имеют единичную длину и взаимно перпендикулярны. С точки зрения матричных вычислений эта матрица имеет следующие свойства:

.

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

.

Это только один пример полезных свойств матричных вычислений.

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

Система координат, в которой представление точки в двухмерном (трехмерном) пространстве задается при помощи трех (четырех) координат (Р1, Р2, Р3(, Р4)), называется системой однородных координат. Обычно добавочную координату приводят к 1.

Двумерные однородные координаты точки имеют вид . Здесь w – произвольный ненулевой множитель.

Двумерные декартовые координаты точки получаются из однородных координат делением на множитель w:

.

В однородных координатах точка Р(X,Y) записывается как Р(w×x,w×y,w) для любого масштабного множителя w¹0. Преобразования переноса, масштабирования и поворота в однородных координатах относительно центра координат все имеют одинаковую форму произведения вектора исходных координат на матрицу преобразования.

Перенос имеет матричную запись:

.

Масштабирование имеет матричную запись:

.

Поворот имеет матричную запись:

.

Композиция преобразований

Последовательное выполнение нескольких преобразований можно представить в виде единой матрицы суммарного преобразования. Умножение на единственную матрицу, естественно, выполняется быстрее, чем последовательное умножение на несколько матриц. Рассмотрим сдвиг точки P0 на расстояние в точку P1, а затем сдвинем точку P1 на расстояние в точку P2. Обозначая через T1 и T2 матрицы сдвига, получим:

.

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

Рассмотрим теперь последовательное выполнение масштабирований, первое с коэффициентами (Sx1, Sy1), второе с коэффициентами (Sx2, Sy2). Легко показать, что суммарное масштабирование будет мультипликативным. Обозначая через S1 и S2 матрицы масштабирования, получим

.

Легко вычислить выражение для элементов матрицы S:

.

Получили, что результирующее масштабирование мультипликативно.

Можно показать, что два последовательных поворота аддитивны. Пусть нужно выполнить поворот относительно начала координат сначала на угол α1, затем на α2. Тогда результирующая матрица поворота имеет вид:

.

Рассмотрим более сложные задачи.

Произведение нескольких матриц называют композицией.

Выполним, например, поворот точки P(X,Y) относительно некоторой произвольной точки (m,n) на угол α.

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

1) перенос начала координат в точку (m,n);

2) поворот на угол α;

3) обратный перенос, при котором точка (m,n) из начала координат возвращается в первоначальное положение.

Рассмотрим перенос точки (m,n) в начало координат. Эту задачу можно рассматривать и как перенос начала координат в точку (m,n). При этом точку, которую собираемся повернуть, нужно перенести на величину (-m,-n).

Матрица преобразования имеет вид

.

Перенос точки P(X,Y) вычисляем как обычно:

.

Теперь поворачиваем точку на угол α:

.

Теперь вернем начало координат в исходное состояние – выполним перенос точки на величину (m,n).

.

Точка и есть результат поворота точки P(X,Y) относительно точки (m,n) на угол α.

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

Рассмотрим, как при этом используется композиция матриц.

Окончательный результат поворота точки P(X,Y) относительно точки (m,n) на угол α в виде матричных преобразований можно представить следующим образом:

.

Здесь - композиция матриц элементарных преобразований.

Представим теперь, что нужно повернуть треугольник вокруг точки (m,n) на угол α. Ясно, что достаточно повернуть только ключевые точки (три вершины), по которым затем можно изобразить повернутый треугольник.

Очевидно одно – нужно изначально вычислить произведение матриц.

Применение преобразования к вершинам треугольника P1(X1,Y1), P2(X2,Y2), P3(X3,Y3) можно организовать по-разному.

Рассмотрим два варианта преобразований.

1. Можно последовательно применить ко всем вершинам:

.

2. Можно построить матрицу вершин треугольника

и справа умножить эту матрицу на матрицу преобразований M:

.

Результат в обоих случаях будет один и тот же. Отличие заключается лишь в организации вычислительного процесса.

Трехмерные преобразования

Однородные координаты в трехмерном случае записывают в виде или . Таким образом, любая точка пространства, кроме начала координат, может быть задана четверкой одновременно не равных нулю чисел. Матрицы преобразований в этом случае имеют размер 4х4.

Матрицы поворота.

Повороты вокруг осей абсцисс, ординат и аппликат на угол α соответственно имеют вид:

, , .

Матрицы масштабирования и переноса имеют вид:

и .

Обратите внимание, что все матрицы преобразования не вырождены.

Пример.

Выполнить поворот точки на угол α вокруг прямой L, проходящей через точку (a,b,c), параллельной вектору (l,m,n). Считаем, что вектор единичной длины.

1 шаг.

Сдвиг точки в начало координат (или начала координат в точку (a,b,c)):

.

Теперь прямая L проходит через начало координат.

2 шаг.

Совместим ось аппликат с прямой, вокруг которой нужно выполнить поворот.

1. Сначала выполним поворот вокруг оси абсцисс так, чтобы прямая лежала в плоскости z0x (или поворачиваем систему координат). Угол поворота равен углу между осью аппликат и проекцией L1 прямой на плоскость z0y.

Рис. 1. Схема определения угла первого поворота

Вектор проекции имеет направляющую (0,m,n). Тогда косинус искомого угла определяется так:

.

Матрица поворота имеет вид:

.

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

.

Нетрудно проверить, что вектор имеет единичную длину.

2. Выполним поворот вокруг оси ординат на угол.

Теперь прямая лежит на плоскости z0x.

Рис. 2. Результат поворота вокруг оси абсцисс.

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

.

Матрица поворота имеет вид:

.

3 шаг.

Теперь можем выполнить поворот на угол α вокруг прямой L. Прямая совпадает с осью аппликат, поэтому матрица поворота имеет вид:

.

Все необходимые операции поворота выполнены:

.

Теперь нужно вернуть в исходное положение систему координат. При этом все преобразования системы координат нужно выполнять в обратном порядке.

4 шаг.

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

.

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

5 шаг.

Выполняем обратный поворот вокруг оси абсцисс:

.

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

6 шаг.

Выполняем обратный перенос.

.

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

.

Если нужно повернуть множество точек на угол α вокруг прямой L, проходящей через точку (a,b,c), параллельной вектору (l,m,n), то выгодно изначально вычислить одну матрицу преобразования

и умножить на эту матрицу все точки.

Точно также все сложные преобразования приводятся к композиции элементарных преобразований.

Наши рекомендации