расстояние от точки до плоскости и другие задачи
В этой статье будем определять различные расстояния: от точки до плоскости, между прямыми, и даже будем определять кратчайшее расстояние от точки до точки по поверхности куба.
Задача 1. В основании прямой треугольной призмы с боковым ребром лежит прямоугольный треугольник с катетами и . Точка -середина ребра , а точка делит ребро в отношении 1 : 2 , считая от вершины . Плоскость пересекает ребро в точке .
a) Докажите, что точка -середина ребра ;
б) Найдите расстояние от точки до плоскости .
Рисунок 1 к задаче 1
Строим плоскость . Найдем точку пересечения прямых и – точку . Эта точка принадлежит плоскости грани , поэтому можно провести прямую . Прямая пересечет ребро в точке .
Рисунок 2 к задаче 1
Соединяем точки и штрихуем сечение.
Рисунок 3 к задаче 1
Решим эту задачу координатно-векторным способом. Введем систему координат так, что ее начало совпадет с вершиной прямого угла треугольника, лежащего в основании призмы.
Рисунок 4 к задаче 1
Длина отрезка , поэтому . Поскольку точка – середина отрезка , то ее координаты . Координаты точки .
Определим уравнение плоскости. Коэффициент , так как плоскость не проходит через начало координат.
Вычтем из первого второе уравнение:
Тогда из первого уравнения:
Уравнение плоскости:
Точка принадлежит плоскости, поэтому ее координаты должны удовлетворять полученному уравнению. Координаты этой точки по двум осям известны, так как она принадлежит ребру :
Тогда при подстановке в уравнение плоскости получим:
Таким образом, доказано, что точка – середина ребра .
Теперь определим расстояние от точки до плоскости. Координаты точки : . Расстояние определим по формуле
Ответ: .
Задача 2. В правильной треугольной призме сторона основания равна 6, а боковое ребро равно 3. На ребре отмечена точка так, что . Точки и -середины ребер и соответственно. Плоскость параллельна прямой и содержит точки и .
а) Докажите, что прямая ВМ перпендикулярна плоскоcти .
б) Найдите расстояние от точки до плоскости .
Рисунок 1 к задаче 2
Построим плоскость . Так как она параллельна , то и прямые этой плоскости параллельны , поэтому, зная точки, принадлежащие плоскости, построим прямые, проходящие через эти точки и одновременно параллельные – и .
Рисунок 2 к задаче 2
Теперь соединяем точки сечения отрезками и штрихуем его:
Рисунок 3 к задаче 2
Решим эту задачу координатно-векторным способом. Введем систему координат так, что ее начало совпадет с точкой . Направим ось вдоль ребра , ось – вдоль высоты основания , а ось – вверх. Определим координаты точек, принадлежащих плоскости сечения.
Для этого понадобится знание высот ы основания – длины отрезка :
Рисунок 4 к задаче 2
Тогда
Определяем коэффициенты уравнения плоскости:
Вычитание третьего уравнения из первого дает , следовательно, , .
Уравнение плоскости
Координаты нормали
Найдем координаты направляющего вектора прямой . Координаты точки – они и будут координатами направляющего вектора прямой.
Так как соответствующие координаты вектора нормали и координаты вектора относятся друг к другу с постоянным коэффициентом:
То указанные вектора коллинеарны, а следовательно, вектор перпендикулярен плоскости.
Определим расстояние от точки до плоскости.
Координаты точки : .
Ответ: .
Задача 3. В правильной четырехугольной пирамиде боковое ребро равно , а высота пирамиды равна . Точки и – середины ребер и соответственно, -высота пирамиды с вершиной и основанием .
a) докажите, что точка Т -середина отрезка ;
б) Найдите расстояние между прямыми и .
Рисунок 1 к задаче 3
Рисунок 2 к задаче 3
Определим апофему пирамиды.
Тогда треугольник – равносторонний со стороной, равной 2. Следовательно, высота пирамиды с вершиной и основанием – отрезок – его высота, медиана и биссектриса. Пункт а) доказан.
Рисунок 3 к задаче 3
Для подобных треугольников и запишем отношение сходственных сторон:
Ответ: .
Задача 4. На ребре куба взята середина , а на ребре – такая точка ‚ что . Найдите длину кратчайшего пути из точки в точку по поверхности куба.
Чтобы найти кратчайший путь из пункта А в пункт В – нужно срезать. То есть в идеале – пройти по гипотенузе. Нарисовать кратчайший путь нам мешает ребро куба – сгиб. Так давайте разогнем – развернем поверхность куба!
Рисунок 1 к задаче 4
В треугольнике катеты , а , поэтому искомое расстояние :
Ответ: .
Расстояние от точки до отрезка
Расстоянием от точки до отрезка является либо перпендикуляр, опущенный из этой точки на отрезок, либо минимальное расстояние от точки до одного из концов отрезка.
((х1— х2)2 + (у1 — у2)2)-1/2.
Если все же перпендикуляр опустить возможно, то расстоянием от точки до отрезка считается длина этого перпендикуляра. Ее можно определить двумя способами:
1) посчитав площадь треугольника по двум формулам (полувысота на сторону и полупроизведение сторон на синус угла между ними) мы можем выразить высоту как:
2) можем определить координаты точки пресечения отрезка с перепендикуляром, опущенным из данной точки на отрезок и посчитать расстояние между двумя точками. Для этого сначала нам надо найти уравнение перпендикуляра к данной прямой, проходящего через данную точку, затем решить систему уравнений (k и l — координаты вершины перпендикуляра, x1, y1, x2, y2 — координаты концов отрезка):
(1)(x — x1)(y2 — y1) = (y — y1)(x2 — x1)
(2) (x — k)(x2 — x1) = — (y — l)(y2 — y1)
Если (x2 — x1) = 0, то решение:
x = x1
y = l.
Если (y2 — y1) = 0, то решение:
y = y1
x = k.
В остальных случаях (пусть (x2 — x1) = α, (y2 — y1) = β):
x = (α / β) (y — y1) + x1
y = ((α2 / β)y1 + α (k — x1) + βl) / ((α2 / β) + β).
Две точки |
Определение расстояния: |
Точка, лежащая на прямой |
Расстояние равно 0. |
Точка, не лежащая на прямой |
Определение расстояния: |
Две параллельные прямые параллельные прямые |
Определение расстояния: |
Две пересекающиеся прямые пересекающиеся прямые |
Расстояние равно 0. |
Две скрещивающиеся прямые скрещивающиеся прямые |
Определение расстояния: |
Точка, лежащая на плоскости |
Расстояние равно 0. |
Точка, не лежащая на плоскости |
Определение расстояния: |
Расстояние равно 0. |
Расстояние равно 0. |
Определение расстояния: |
Две пересекающиеся плоскости |
Расстояние равно 0. |
Две параллельные плоскости |
Определение расстояния: |
Парабола y = a x2 + b x + c, не пересекающая ось абсцисс, и ось абсцисс |
Определение расстояния: |
Окружность и не пересекающая ее прямая |
Определение расстояния: |
Две непересекающиеся окружности, каждая из которых лежит вне другойДве непересекающиеся окружности, каждая из которых лежит вне другой |
Определение расстояния: |
Гипербола где k – любое, отличное от нуля, число, и ось абсцисс. |
Расстояние между гиперболой и осью абсцисс считается равным 0. поскольку гипербола неограниченно приближается к оси абсцисс (длина отрезка, один из концов которого лежит на гиперболе, а другой конец – на оси абсцисс, может быть сколь угодно малой). |
|
Рис.1 |
Строим плоскость треугольника АВС и точку D по заданным координатам варианта №17 (см. рис.1): A (70, 45, 60), Построить свой треугольник онлайн можно перейдя по ссылке. |
Рис. 2 |
Затем строим в плоскости треугольника АВС фронталь и горизонталь (см. рис.2).
Фронталь это линия, которая параллельна оси ОХ на горизонтальной плоскости проекции (нижняя часть). Данные линии проводятся через вершины треугольника (через точки А, B, C). В нашем случае через вершину А мы проводим фронталь AF, а через вершину С проводим горизонталь CH. |
Рис.3 |
После того как мы построили фронталь и горизонталь, необходимо из точки D провести перпендикуляр к треугольнику АВС(см. рис.3). При этом горизонтальная проекция перпендикуляра (от точки D1) должна быть перпендикулярна к горизонтальной проекции горизонтали C1H1. А фронтальная проекция (от точки D2) перпендикулярна к фронтальной проекции фронтали A2F2; |
Рис.4 |
Теперь необходимо определить точку пересечения перпендикуляра с данной плоскостью, заключив перпендикуляр во вспомогательную плоскость частного положения (см. рис.4). Перпендикуляр через точку D1 заключаем во вспомогательную плоскость частного положения ∑1 Примечание: необязательно это делать через точку D1, результат через точку D2 будет идентичным. Так же необязательно рисовать вспомогательную плоскость частного положения ∑1, ее можно просто представить, что мы ее там проводим. После того как мы провели вспомогательную плоскость ∑1 находим точки пересечения данной плоскости (M1P1) с треугольником АВС. Проецируем их на фронтальную плоскость проекции и получаем точки M2P2. Потом находим точку пересечения линии M2P2 вспомогательной плоскости с перпендикуляром от точки D2 и отмечаем точку К2. Проецируем точку К2 на горизонтальной плоскости проекции и получаем точку К1. |
Рис.5 |
После того как мы провели перпендикуляр DK, осталось определить его действительную величину способом прямоугольного треугольника (см. рис.5). Определяем расстояние по вертикали от точки D до точки K на какой-либо плоскости проекций. Например на горизонтальной (нижней) плоскости проекции. Примечание: доказательство того что расстояние от точки до плоскости можно определить на любой из плоскостей приекции представлено здесь. Откладываем это расстояние перпендикулярно отрезку DK на противоположной плоскости проекции (в нашем случа на фронтальной) от любой из вершин (например от точки D) и получили нулевую точку D0. Расстояние от точки D0 до точки K2 и является искомым расстоянием от точки D до плоскости треугольника АВС. |
Рис. 6 |
Найдя расстояние от точки до плоскости треугольника АВС, можно начать строить точку симметричную точке D относительно данного треугольника (см. рис.6). Симметричная точка подразумевает собой точку, которая отстоит от плоскости треугольника АВС на таком же расстоянии, что и точка D, но с противоположной стороны. Рассмотрим полученный нами отрезок D0K2. В противоположную сторону от точки K2 откладываем отрезок равный D0K2. Ставим точку Е0. |
Рис.7 |
Затем проводим перпендикуляр к линии пенпендикуляра от точки D на рассматриваемой плоскости проекции (см. рис.7).
В нашем случае на фронтальной плоскости проекции к удлиненной линии D2K2.
На пересечении ставим точку Е2. |
Рис.8 |
Строим проекцию полученной точки на противоположную плоскость проекции так же на линию перепендикуляра (см. рис.8). В нашем случае проецируем полученную точку Е2 на горизонтальную плоскость проекции на линию перепендикуляра (удлинненную линию D1K1). Получаем точку Е1. Линии D1K1 и К1Е1 так же равны между собой. |
2.3.3. Нормированное уравнение плоскости. Расстояние от точки до плоско
В общем уравнении плоскости нор-мируем (т. е. сделаем единичным) нормальный вектор плоскости . Для этого умножим уравнение на множитель , а знак «+» или «-» выберем так, чтобы параметр был неотрицательным. Заметим, что теперь нормальный вектор имеет координаты
,
Которые есть его направляющие косинусы . В результате имеем уравнение
, (3)
Которое называется Нормальным уравнением плоскости. Это название происходит от того, что нормальный вектор плоскости имеет длину равную единице (как мы знаем, длина нормального вектора плоскости не отражается на уравнении).
Для выяснения смысла параметра перепишем уравнение (3) в векторном виде: . Откуда . В частности, если векторы и коллинеарные и однонаправлены, то и есть расстояние от начала координат до плоскости.
Теорема. Расстояние D от произвольной точки до данной плоскости равно
, (4)
Или
. (5)
Доказательство. Перепишем (5) в виде .
Заметим, что есть расстояние от плоскости (содержащей точку ) до начала координат, а — расстояние от плоскости до начала координат (Рис.). Поэтому есть искомое расстояние.
Правило. Чтобы найти расстояние от произвольной точки до данной плоскости необходимо подставить в левую часть уравнения плоскости (3) координаты точки .
Расстояние от точки до плоскости можно найти как высоту параллелепипеда, построенного на векторах , где точка — произвольная заданная точка плоскости, а векторы есть произвольные заданные векторы плоскости (Рис.). Для этого следует разделить объем параллелепипеда на площадь его основания. В векторном виде объем параллелепипеда
Равен модулю смешанного произведения приведенных к общему началу векторов , а площадь основания равна модулю векторного произведения :
Заметим, что из этой формулы следует (4), если :
Пример 1. Написать уравнение плоскости , проходящей через точку параллельно плоскости и вычислить расстояние между плоскостями.
Решение. Из условия следует коллинеарность нормальных векторов и , следовательно, . Отсюда получим искомое уравнение плоскости
Расстояние между плоскостями найдем как расстояние от точки плоскости до плоскости :
Пример 2. Написать уравнение плоскостей, делящих пополам двухгранные углы, образованные плоскостями
и .
Решение. Запишем искомые уравнения из условия равенства расстояния от произвольной точки искомых плоскостей до плоскостей и :
< Предыдущая | Следующая > |
---|
Нахождение расстояния от точки до плоскости. 11-й класс
Цели:
- обобщение и систематизация знаний и умений учащихся;
- развитие умений анализировать, сравнивать, делать выводы.
Оборудование:
- мультимедийный проектор;
- компьютер;
- листы с текстами задач
ХОД ЗАНЯТИЯ
I. Организационный момент
II. Этап актуализации знаний (слайд 2)
Повторяем как определяется расстояние от точки до плоскости
III. Лекция (cлайды 3-15)
На занятии мы рассмотрим различные способы нахождения расстояния от точки до плоскости.
Первый метод: поэтапно-вычислительный
Расстояние от точки М до плоскости α:
– равно расстоянию до плоскости α от
произвольной точки Р, лежащей на прямой a,
которая проходит через точку М и параллельна
плоскости α;
– равно расстоянию до плоскости α от
произвольной точки Р, лежащей на плоскости β,
которая проходит через точку М и параллельна
плоскости α.
Решим следующие задачи:
№1. В кубе А…D1 найти расстояние от точки С1 до плоскости АВ1С.
Решение.
Осталось вычислить значение длины отрезка О1Н.
№2. В правильной шестиугольной призме А…F1, все ребра которой равны 1, найдите расстояние от точки А до плоскости DEA1.
Решение:
Следующий метод: метод объемов.
Если объем пирамиды АВСМ равен V, то
расстояние от точки М до плоскости α, содержащей ∆АВС вычисляется по формуле ρ(М; α) = ρ(М; АВС) =
При решении задач мы используем равенство
объемов одной фигуры, выраженные двумя
различными способами.
Решим следующую задачу:
№3. Ребро AD пирамиды DABC перпендикулярно плоскости основания АВС. Найдите расстояние от А до плоскости, проходящей через середины ребер АВ, АС и АD, если .
Ответ: 2
При решении задач координатным методом расстояние от точки М до плоскости α можно вычислить по формуле ρ(М; α) = , где М(х0; у0; z0), а плоскость задана уравнением ax + by + cz + d = 0
Решим следующую задачу:
№4. В единичном кубе A…D1 найдите расстояние от точки А1 до плоскости ВDC1.
Решение.
Введем систему координат с началом в точке А ,
ось у пройдет по ребру АВ, ось х – по ребру АD, ось z
– по ребру АА1. Тогда координаты точек В
(0; 1; 0) D (1; 0; 0;) C1(1; 1; 1)
Составим уравнение плоскости, проходящей через
точки В, D, C1.
Тогда – dx – dy + dz + d = 0 x + y – z – 1= 0. Следовательно, ρ =
Ответ:
Следующий метод, который можно использовать при решении задач данного типа – метод опорных задач.
Применение данного метода состоит в применении известных опорных задач, которые формулируются как теоремы.
Решим следующую задачу:
№5. В единичном кубе А…D1 найдите расстояние от точки D1 до плоскости АВ1С.
Рассмотрим применение векторного метода.
№6. В единичном кубе А…D1 найдите расстояние от точки А1 до плоскости ВDС1.
Итак, мы рассмотрели различные способы, которые можно использовать при решении данного типа задач. Выбор того или иного метода зависит от конкретной задачи и ваших предпочтений.
IV. Работа в группах
Попробуйте решить задачу разными способами.
№1. Ребро куба А…D1 равно . Найдите расстояние от вершины С до плоскости BDC1.
№2. В правильном тетраэдре АВСD с ребром найдите расстояние от точки А до плоскости BDC
№3. В правильной треугольной призме АВСА1В1С1 все ребра которой равны 1, найдите расстояние от А до плоскости ВСА1.
№4. В правильной четырехугольной пирамиде SABCD, все ребра которой равны 1, найдите расстояние от А до плоскости SCD.
V. Итог урока, домашнее задание, рефлексия
2}} $.- Доказательство: Пусть $ Q (x_1, y_1, z_1) $ — любая точка на плоскости $ \ Pi $ и пусть $ P_0 = (x_0, y_0, z_0) $ — наша точка интереса. Пусть $ \ vec {QP_0} = (x_0 — x_1, y_0 — y_1, z_0 — z_1) $. Напомним, что эту плоскость можно определить с помощью вектора, перпендикулярного плоскости, известной как нормаль. Пусть $ n = (a, b, c) $ — нормаль к нашей плоскости $ \ Pi $.
- Ортогональная проекция $ \ vec {QP_0} $ на $ \ vec {n} $ равна расстоянию между плоскостью $ \ Pi $ и $ P_0 $, как показано ниже:
- Отсюда следует, что $ D = \ | \ mathrm {proj} _ {\ vec {n}} \ vec {QP_ {0}} \ | $. 2}} \\ D = \ frac {\ mid -8 +56 +36 + 5 \ mid} {\ sqrt {16 + 64 + 9}} \\ D = \ frac {\ mid 89 \ mid} {\ sqrt {89}} \\ D = \ frac {89} {\ sqrt {89}} \ end {align}
Точка, линия, плоскость
Ниже приведены различные примечания и алгоритмы, относящиеся к точкам, линиям и плоскостям. Написано Полем Бурком
, октябрь 1988 г.В этом примечании описывается методика и дается решение для поиска кратчайшее расстояние от точки до отрезка или отрезка. Уравнение прямой, определяемой через две точки P1 (x1, y1) и P2 (x2, y2) есть
P = P1 + u ( P2 — P1 )Точка P3 (x3, y3) находится ближе всего к прямой на касательной к линии, которая проходит через P3 , то есть скалярное произведение касательной и прямой равен 0, поэтому
( P3 — P ) точка ( P2 — P1 ) = 0Подстановка уравнения линии дает
[ P3 — P1 — u ( P2 — P1 )] точка ( P2 — P1 ) = 0Решение дает значение u
. Подставляя это в уравнение прямой, получаем точку пересечения (x, y) касательной как
х = х1 + и (х2 — х1)
у = у1 + и (у2 — у1)Следовательно, расстояние между точкой P3 и линией — это расстояние между (x, y) выше и P3 .
Примечания- Единственное специальное тестирование программной реализации — убедиться, что P1 и P2 не совпадают (знаменатель в уравнении для u равно 0)
- Если требуется расстояние от точки до отрезка, то это только необходимо для проверки того, что u лежит между 0 и 1.
- Решение аналогично в более высоких габаритах.
Добавлен исходный код
Написано Полем Бурком,
Исходный код C от Дэмиана Ковентри: Исходный код C
VBA от Брэндона Кросби: Исходный код VBA
Dephi от Грэма О’Брайена: версия Delphi
Версия R от Грегуара Томаса: pointline.r
Версия JAVA от Питера Изербита: DistancePoint.java
Реализация LabView от Криса Дэнсера: Pointlinesegment. vi.zip
Расстояние справа от Ориона Элензила: правая сторона
VBA VB6 от Томаса Людвига: vbavb6.txt
, март 1996 г.Пусть P a = (x a , y a , z a ) быть вопросом, о котором идет речь.
Самолет можно определить по его нормали n = (A, B, C) и любая точка на плоскости P b = (x b , y b , z b )
Любая точка P = (x, y, z) лежит на плоскости, если она удовлетворяет следующему
А х + В у + С z + D = 0Минимальное расстояние между P a и плоскостью равно абсолютное значение
(A x a + B y a + C z a + D) / sqrt (A 2 + B 2 + C 2 ) .. . 1 Чтобы получить этот результат, рассмотрим проекцию линии ( P a — P b ) на нормаль самолет n , то есть просто || P a — P b || cos (theta), где theta — угол между ( P a — P b ) и нормальный n . Этот проекция — это минимальное расстояние P a до плоскости.
Это можно записать в терминах скалярного произведения как
минимальное расстояние = ( P a — P b ) точка n / || n ||Это
минимальное расстояние = (A (x a — x b ) + B (y a — y b ) + C (z a — z b )) / sqrt (A 2 + B 2 + C 2 ) . . . 2 Поскольку точка (x b , y b , z b ) это точка на плоскости
A x b + B y b + C z b + D = 0 .. . 3 Подстановка уравнения 3 в уравнение 2 дает результат, показанный в уравнении 1.
Написано Полем Бурком
, апрель 1989 г.В этой заметке описывается методика и алгоритм определения точка пересечения двух линий (или отрезков) в 2-х измерениях.
Уравнения линий:
P a = P1 + u a ( P2 — P1 )P b = P3 + u b ( P4 — P3 )
Решение для точки, где P a = P b дает следующее два уравнения с двумя неизвестными (u a и u b )
x1 + u a (x2 — x1) = x3 + u b (x4 — x3)
и
y1 + u a (y2 — y1) = y3 + u b (y4 — y3)Решение дает следующие выражения для u a и u b
Подстановка любого из них в соответствующее уравнение для прямой дает точку пересечения.Например, точка пересечения (x, y) равна
х = х1 + и а (х2 — х1)y = y1 + u a (y2 — y1)
Примечания:- Знаменатели в уравнениях для u a и u b совпадают.
- Если знаменатель уравнений для u a и u b равно 0, то две прямые параллельны.
- Если знаменатель и числитель уравнений для u a и u b равны 0, то две линии совпадают.
- Уравнения применяются к линиям, если пересечение сегментов линии требуется, то необходимо только проверить, лежат ли u a и u b между 0 и 1. Какой бы из них ни находился в этом диапазоне, тогда соответствующий отрезок линии содержит точку пересечения. Если оба лежат в диапазоне от 0 до 1, тогда точка пересечения находится внутри обоих отрезков линии.
Оригинальный код C Пола Бурка.
Вклад C ++ Дэмиана Ковентри.Реализация
LISP Полом Райнерсом. Версия
C для прошивки Rockbox от Карла Курбьюна.
Версия C # от Олафа Раббачина.
Версия VB.net Олафа Раббачина. Реализация
VBA Джузеппе Яриа.
Версия Javascript Лео Боттаро.
Написано Полем Бурком
, апрель 1998 г.Две линии в 3 измерениях обычно не пересекаются в одной точке, они могут быть параллельными (без пересечений) или они могут совпадать (бесконечное пересечения), но чаще всего пересекаются только их проекции на плоскость. . Когда они точно не пересекаются в точке, их можно соединить линией. сегмент, самый короткий сегмент линии уникален и часто считается быть их пересечением в 3D.
Ниже будет показано, как вычислить этот самый короткий отрезок линии, который соединяет две линии в 3D, он как побочный продукт идентифицирует параллельные линии. В дальнейшем прямая будет определяться двумя точками, лежащими на это точка на линии «а», определяемая точками P 1 и P 2 имеет уравнение.
P a = P 1 + mu a (P 2 — P 1 )аналогично точка на второй линии «b», определяемая точками P 4 и P 4 запишется как
P b = P 3 + mu b (P 4 — P 3 )Значения mu a и mu b варьируются от отрицательных до положительная бесконечность. Отрезки между P 1 P 2 и P 3 P 4 имеют соответствующие значения mu от 0 до 1.
Существует два подхода к поиску самого короткого отрезка между линиями. «а» и «б». Первый — записать длину отрезка линии. соединяя две линии, а затем найдите минимум. То есть минимизировать следующие
|| P b — P a || 2Подстановка уравнений линий дает
|| P 1 — P 3 + mu a (P 2 — P 1 ) — mu b (P 4 — P 3 ) || 2Вышеупомянутое затем может быть расширено до компонентов (x, y, z).Есть условия, которые должны выполняться как минимум, производная по mu a и mu b должны быть равны нулю. Примечание: легко убедить себя, что указанная выше функция имеет только один минимум и нет другие минимумы или максимумы. Эти два уравнения могут тогда решается для mu a и mu b , фактическое пересечение точки, найденные путем подстановки значений mu в исходные уравнения линии.
Альтернативный подход, но тот, который дает те же самые уравнения, — чтобы понять, что самый короткий отрезок между двумя линиями будет перпендикулярно двум линиям.Это позволяет нам написать два уравнения для скалярного произведения как
(P a — P b ) точка (P 2 — P 1 ) = 0(P a — P b ) точка (P 4 — P 3 ) = 0
Расширяя их, получим уравнение строк
(P 1 — P 3 + mu a (P 2 — P 1 ) — mu b (P 4 — P 3 )) точка (P 2 — P 1 ) = 0(P 1 — P 3 + mu a (P 2 — P 1 ) — mu b (P 4 — P 3 )) точка (P 4 — P 3 ) = 0
Разложить их по координатам (x, y, z) — кошмар. но результат следующий
d 1321 + mu a d 2121 — mu b г 4321 = 0d 1343 + mu a d 4321 — mu b г 4343 = 0
где
д мноп = (x м — x n ) (x o — x p ) + (y m — y n ) (y o — y p ) + (z m — z n ) (z o — z p )Обратите внимание, что d mnop = d opmn
Наконец, решение для mu a дает
mu a = (d 1343 d 4321 — d 1321 d 4343 ) / (d 2121 d 4343 — d 4321 д 4321 )и обратная подстановка дает mu b
mu b = (d 1343 + mu a d 4321 ) / д 4343Вклад в исходный код
Написано Полем Бурком
Исходный код на C от автора: lineline. c
Вклад Дэна Уиллса в MEL (встроенный язык майя): source.mel.
Версия Matlab от Кристиана Димы: linelineintersect.m.
Функция Maxscript от Криса Джонсона: LineLineIntersect.ms
Версия LISP для AutoCAD (и Intellicad) от Эндрю Беннета: int1.lsp и int2.lsp
Вклад Брюса Вогана в форме сценария Python для проекта SDS / 2 программное обеспечение: L3D.py
Версия C # от Рональда Холтуизена: calclineline.cs
VBA Версия VB6 от Томаса Людвига: vbavb6.txt
Реализация LabView Джона ван Шайка: V01_LineLine3D.vi.zip
август 1991Вклад Брайана Хэнсона: Реализация в R
В этой заметке будет проиллюстрирован алгоритм поиска пересечения прямой. и самолет с использованием двух возможных формулировок самолета.
Решение 1
Уравнение плоскости (точки P находятся на плоскости с нормалью N и точка P3 на плоскости) можно записать как N точек ( P — P3 ) = 0 Уравнение прямой (точки P на прямой, проходящей через точки P1 и P2 ) можно записать как P = P1 + u ( P2 — P1 ) Пересечение этих двух происходит, когда N точка ( P1 + u ( P2 — P1 )) = N точка P3 Решение для вас дает Примечание- Если знаменатель равен 0, то нормаль к плоскости перпендикулярна плоскости линия. Таким образом, прямая либо параллельна плоскости, и решений нет. или линия находится на плоскости, и в этом случае существует бесконечное количество решения
- Если это необходимо для определения пересечения отрезка прямой между P1 и P2 , тогда просто проверьте, что u находится между 0 и 1.
Решение 2
Самолет также можно представить уравнением А х + В у + С z + D = 0 где все точки (x, y, z) лежат на плоскости.Подставляя в уравнение прямой через точки P1 (x1, y1, z1) и P2 (x2, y2, z2)
Р = Р1 + и (Р2 — Р1) дает А (x1 + u (x2 — x1)) + B (y1 + u (y2 — y1)) + C (z1 + u (z2 — z1)) + D = 0. Решение для u
Примечание- знаменатель равен 0, тогда нормаль к плоскости перпендикулярна плоскости линия.Таким образом, прямая либо параллельна плоскости, и решений нет. или линия находится на плоскости, и в этом случае бесконечные решения
- , если это необходимо для определения пересечения отрезка прямой между Затем P1 и P2 просто проверяют, что u находится между 0 и 1.
, март 1989 г.Стандартное уравнение плоскости в 3-м пространстве: Ах + By + Cz + D = 0 Нормаль к плоскости — это вектор (A, B, C).
Учитывая три точки в пространстве (x1, y1, z1), (x2, y2, z2), (x3, y3, z3) уравнение плоскость, проходящая через эти точки, задается следующими определителями.
Расширение приведенного выше дает
A = y1 (z2 — z3) + y2 (z3 — z1) + y3 (z1 — z2)
В = z1 (x2 — x3) + z2 (x3 — x1) + z3 (х1 — х2)
C = x1 (y2 — y3) + x2 (y3 — y1) + x3 (y1 — y2)
— D = x1 (y2 z3 — y3 z2) + х2 (у3 z1 — y1 z3) + x3 (y1 z2 — y2 z1)Обратите внимание, что если точки коллинеарны, то нормаль (A, B, C), рассчитанная выше будет (0,0,0).
Знак s = Ax + By + Cz + D определяет, с какой стороны лежит точка (x, y, z). по отношению к самолету.Если s> 0, то точка лежит с той же стороны, что и нормальный (A, B, C). Если s <0, то он лежит на противоположной стороне, если s = 0 тогда точка (x, y, z) лежит на плоскости.
АльтернативноЕсли вектор N нормален к плоскости, то все точки p на плоскости самолет удовлетворяет следующим требованиям
N . p = k
где . это скалярный продукт между двумя векторами.
то есть: a . б = ( x , y , z ).(b x , b y , b z ) = a x b x + a y b y + a z б г
Дана любая точка а на плоскости
N . ( p — a ) = 0
Написано Полем Бурком
Февраль 2000 г. Пересечение двух плоскостей (если они не параллельны) есть линия.Определите две плоскости с нормалями N как
N 1 . p = d 1Н 2 . p = d 2
Уравнение линии можно записать как
p = c 1 N 1 + в 2 N 2 + u N 1 * N 2Где «*» — это перекрестное произведение, «. » это точечный продукт, а u — параметр линии.
Взяв скалярное произведение приведенного выше на каждую нормаль, получаем два уравнения с неизвестными c 1 и c 2 .
N 1 . p = d 1 = c 1 N 1 . № 1 + c 2 N 1 . N 2Н 2 . p = d 2 = c 1 N 1 . N 2 + c 2 N 2 . N 2
Решение для c 1 и c 2
c 1 = (d 1 N 2 . № 2 — d 2 N 1 . N 2 ) / определительc 2 = (d 2 N 1 . N 1 — d 1 N 1 . N 2 ) / определитель
определитель = ( N 1 . N 1 ) ( N 2 . N 2 ) — ( N 1 . N 2 ) 2
Обратите внимание, что сначала следует выполнить тест, чтобы убедиться, что самолеты не параллельный или совпадающий (также параллельный), это легче всего достигается с помощью проверка того, что векторное произведение двух нормалей не равно нулю. Самолеты параллельны, если
N 1 * N 2 = 0 Написано Полем Бурком
Октябрь 2001 г.Вклад Брюса Воана в виде скрипта Python для программы проектирования SDS / 2: P3D.ру.
Пересечение трех плоскостей — это либо точка, либо линия, либо нет пересечение (любые две плоскости параллельны).
Эти три плоскости можно записать как
N 1 . p = d 1Н 2 . p = d 2
Н 3 . p = d 3
Выше и далее «.» означает скалярное произведение и «*» это перекрестное произведение.Точка пересечения P определяется по:
d 1 ( N 2 * N 3 ) + d 2 ( N 3 * N 1 ) + d 3 ( N 1 * N 2 ) -П, = ————————————————— ———————— Н 1 .( N 2 * N 3 ) Знаменатель равен нулю, если N 2 * N 3 = 0, другими словами, плоскости параллельны. Или если N 1 является линейная комбинация N 2 и N 3 .
Написано Полем Бурком,
, март 2013 г.Как можно представить линию в полярных координатах?
В декартовых координатах это можно представить как:Вывод довольно прост, если понять, что для точки (r, theta) ось x — это просто r cos (theta), а ось y — r sin (theta).Подстановка их в уравнение для линии дает следующий результат.
Пример из графического калькулятора.
Вопрос
Дана линия, определяемая двумя точками L1 L2, точкой P1 и углом z (пеленг с севера) найти точку пересечения вектора направления от P1 к прямой.
Краткий ответ: выберите вторую точку P2 вдоль вектора направления от P1, скажем P2 = (x P1 + sin (z), y P1 + cos (z)).Примените алгоритм здесь для пересечения двух отрезков. Выполните дополнительные проверьте, что u b должно быть больше 0, решение, где u b — меньше 0 — решение в направлении z + 180 градусов.
Формула расстояния
Вы знаете, что расстояние А B между двумя точками на плоскости с Декартово координаты А ( Икс 1 , y 1 ) а также B ( Икс 2 , y 2 ) дается следующей формулой:
А B знак равно ( Икс 2 — Икс 1 ) 2 + ( y 2 — y 1 ) 2
Формула расстояния на самом деле просто Теорема Пифагора в маскировке.
Чтобы рассчитать расстояние А B между точкой А ( Икс 1 , y 1 ) а также B ( Икс 2 , y 2 ) сначала нарисуйте прямоугольный треугольник с отрезком А B ¯ как его гипотенуза.
Если длины сторон равны а а также б , то по теореме Пифагора
( А B ) 2 знак равно ( А C ) 2 + ( B C ) 2
Решение на расстоянии А B , у нас есть:
А B знак равно ( А C ) 2 + ( B C ) 2
С А C горизонтальное расстояние, это просто разница между Икс -координаты: | ( Икс 2 — Икс 1 ) | . По аналогии, B C это вертикальное расстояние | ( y 2 — y 1 ) | .
Поскольку мы все равно возводим эти расстояния в квадрат (а квадраты всегда неотрицательны), нам не нужно беспокоиться об этих знаках абсолютного значения.
А B знак равно ( Икс 2 — Икс 1 ) 2 + ( y 2 — y 1 ) 2
Пример:
Найдите расстояние между точками А а также B на рисунке выше.
В приведенном выше примере у нас есть:
А ( Икс 1 , y 1 ) знак равно ( — 1 , 0 ) , B ( Икс 2 , y 2 ) знак равно ( 2 , 7 )
так
А B знак равно ( 2 — ( — 1 ) ) 2 + ( 7 — 0 ) 2 знак равно 3 2 + 7 2 знак равно 9 + 49 знак равно 58
или примерно 7. 6 единицы измерения.
Калькулятор расстояний
Калькулятор расстоянийКалькуляторы, представленные ниже, можно использовать для определения расстояния между двумя точками на двухмерной плоскости или трехмерном пространстве. Их также можно использовать для определения расстояния между двумя парами широты и долготы или двумя выбранными точками на карте.
2D-калькулятор расстояния
Используйте этот калькулятор, чтобы найти расстояние между двумя точками на 2D-координатной плоскости.
Трехмерный калькулятор расстояний
Используйте этот калькулятор, чтобы найти расстояние между двумя точками в трехмерном координатном пространстве.
Расстояние по широте и долготе
Используйте этот калькулятор, чтобы найти кратчайшее расстояние (большой круг / воздушное расстояние) между двумя точками на поверхности Земли.
Расстояние на карте
Щелкните карту ниже, чтобы установить две точки на карте и найти кратчайшее расстояние (большой круг / воздушное расстояние) между ними. После создания маркер (маркеры) можно переместить, щелкнув и удерживая, а затем перетащив их.
‘; calcResult + = »; } else if (markerCount> 0) { calcResult + = ‘Point 1: [‘ + lat1 + ‘,’ + lon1 + ‘]
Установите другой маркер на карте, чтобы рассчитать расстояние.
‘; }еще{ calcResult + = ‘Установите два маркера на карте, чтобы рассчитать расстояние между ними.
‘; } calcResult + = »; gObj («mapresult»). innerHTML = calcResult; }Расстояние в системе координат
Расстояние в двухмерной координатной плоскости:
Расстояние между двумя точками на двухмерной координатной плоскости можно найти с помощью следующей формулы расстояния
d = √ (x 2 — x 1 ) 2 + (y 2 — y 1 ) 2
, где (x 1 , y 1 ) и (x 2 , y 2 ) — координаты двух задействованных точек.Порядок точек не имеет значения для формулы, если выбранные точки совпадают. Например, учитывая две точки (1, 5) и (3, 2), либо 3, либо 1 могут быть обозначены как x 1 или x 2 , если используются соответствующие значения y:
Использование (1, 5) как (x 1 , y 1 ) и (3, 2) как (x 2 , y 2 ):
d = √ (3-1) 2 + (2-5) 2 = √2 2 + (-3) 2 = √4 + 9 = √13 Использование (3, 2) как (x 1 , y 1 ) и (1, 5) как (x 2 , y 2 ):
d = √ (1-3) 2 + (5-2) 2 = √ (-2) 2 + 3 2 = √4 + 9 = √13 В любом случае результат будет одинаковым.
Расстояние в трехмерном координатном пространстве:
Расстояние между двумя точками на трехмерной координатной плоскости можно найти с помощью следующей формулы расстояния
d = √ (x 2 — x 1 ) 2 + (y 2 — y 1 ) 2 + (z 2 — z 1 ) 2
, где (x 1 , y 1 , z 1 ) и (x 2 , y 2 , z 2 ) — трехмерные координаты двух задействованных точек.Как и в случае двухмерной версии формулы, не имеет значения, какая из двух точек обозначена (x 1 , y 1 , z 1 ) или (x 2 , y 2 , z 2 ), если в формуле используются соответствующие точки. Учитывая две точки (1, 3, 7) и (2, 4, 8), расстояние между точками можно найти следующим образом:
d = √ (2 — 1) 2 + (4 — 3) 2 + (8-7) 2 = √1 2 + 1 2 + 1 2 = √3 Расстояние между двумя точками на поверхности Земли
Есть несколько способов найти расстояние между двумя точками на поверхности Земли. Ниже приведены две общие формулы.
Формула Хаверсина:
Формула гаверсинуса может использоваться, чтобы найти расстояние между двумя точками на сфере, учитывая их широту и долготу:
В формуле гаверсинуса d — это расстояние между двумя точками вдоль большого круга, r — радиус сферы, & directphi; 1 и & Stratocaster; 2 — это широты двух точек, а λ 1 и λ 2 — долготы двух точек, все в радианах.
Формула гаверсинуса работает, находя расстояние по большому кругу между точками широты и долготы на сфере, которое можно использовать для аппроксимации расстояния на Земле (поскольку оно в основном сферическое). Большой круг (также ортодромия) сферы — это самый большой круг, который можно нарисовать на любой данной сфере. Он образован пересечением плоскости и сферы через центральную точку сферы. Расстояние по дуге большого круга — это кратчайшее расстояние между двумя точками на поверхности сферы.
Результаты с использованием формулы гаверсинуса могут иметь погрешность до 0,5%, потому что Земля — не идеальная сфера, а эллипсоид с радиусом 6 378 км (3963 мили) на экваторе и радиусом 6 357 км (3950 миль). у столба. Из-за этого формула Ламберта (формула эллипсоидальной поверхности) более точно аппроксимирует поверхность Земли, чем формула гаверсинуса (формула сферической поверхности).
Формула Ламберта:
Формула Ламберта (формула, используемая вычислителями выше) — это метод, используемый для вычисления кратчайшего расстояния по поверхности эллипсоида.При использовании для аппроксимации Земли и расчета расстояния на поверхности Земли она имеет точность порядка 10 метров на тысячи километров, что более точно, чем формула гаверсинуса.
Формула Ламберта выглядит следующим образом:
, где a — экваториальный радиус эллипсоида (в данном случае Земли), σ — центральный угол в радианах между точками широты и долготы (найденный с использованием такого метода, как формула гаверсинуса), f — сглаживание Земля, а также X и Y развернуты ниже.
Где P = (β 1 + β 2 ) / 2 и Q = (β 2 — β 1 ) / 2
В приведенных выше выражениях β 1 и β 1 — это приведенные широты с использованием следующего уравнения:
загар (β) = (1 — f) загар (& Straightphi;)
, где & Straightphi; широта точки.
Обратите внимание, что ни формула гаверсинуса, ни формула Ламберта не обеспечивают точное расстояние, потому что невозможно учесть все неровности на поверхности Земли.
▷ Плоскостное расстояние | Объяснение и упражнение! ✓ ✓
Начнем с представления точки $ A $ и плоскости $ ax + как + cz = d $:
$ P_ {1} $ — точка в данной плоскости. На плоскости у нас есть точка $ P_ {0} $, а также вектор $ \ vec {b} $, определяющий отрезок $ \ overset {\ longrightarrow} {P_ {0} P_ {1}} $:
$$ \ vec {b} =
$$ Расстояние $ D $ от $ P_ {1} $ до плоскости равно модулю скалярной проекции $ \ vec {b} $ на вектор нормали $ \ vec {n} $:
$$ D = \ left | comp _ {\ vec {n}} \ vec {b} \ right | = \ left | \ cfrac {\ vec {n} \ cdot \ vec {b}} {| \ vec {n} |} \ right | $$
Приведенное выше уравнение читается как абсолютное значение скалярного произведения вектора нормали $ n $, умноженное на вектор $ b $, деленное на абсолютное значение вектора нормали $ n $.