- Существует 3 варианта взаимного расположения точки и окружности:
- Как отличить друг от друга эти варианты?
- А как найти расстояние между двумя точками?
- Формула
- Если лень читать
- Вычислительная геометрия, или как я стал заниматься олимпиадным программированием. Часть 2
- Вступление
- Вычисление положения точек в окружности
- 11 ответов:
- 📺 Видео
Видео:Как искать точки на тригонометрической окружности.Скачать
Существует 3 варианта взаимного расположения точки и окружности:
Точка находится внутри круга, ограниченного окружностью:
Точка находится на окружности:
Точка находится вне круга, ограниченного окружностью:
Видео:10 класс, 11 урок, Числовая окружностьСкачать
Как отличить друг от друга эти варианты?
Вспомним определения окружности и круга:
Окружность — геометрическое место всех точек плоскости, равноудалённых от заданной точки, называемой центром, на заданное неотрицательное расстояние, называемое её радиусом.
Круг — геометрическое место точек плоскости, расстояние от которых до заданной точки, называемой центром круга, не превышает заданного неотрицательного числа, называемого радиусом этого круга.
Из определений следует, что точка принадлежит окружности тогда и только тогда, когда расстояние между ней и центром равно радиусу, открытому кругу (так называют круг, в который не входит его граница) — когда расстояние меньше радиуса, лежит вне круга — когда расстояние больше радиуса. Картинка ниже подтвеждает это.
Итак, определение положения точки относительно окружности сводится к вычислению расстояния между двумя точками (данной точкой и центром окружности) и сравнению этой величины с радиусом.
Видео:Частное положение точек. Точки принадлежащие к плоскостям проекции.Скачать
А как найти расстояние между двумя точками?
Точно так же, как длину отрезка или вектора с началом в одной из этих точек и концом в другой, — через теорему Пифагора.
Пусть координаты первой точки, А — (x_1) и (y_1), а второй, B — (x_2) и (y_2):
Построим прямоугольный треугольник с катетами, параллельными осям координат, и гипотенузой AB:
Катет OB в нём равен (x_2-x_1), катет OA — (y_1-y_2), значит, гипотенуза AB – корню из их суммы, т. е. [sqrt] Приведённая выше формула подходит для любых координат точек. Часто значения в скобках получаются отрицательными, в том числе и для катета OA в примере, но при возведении в квадрат знак теряется.
Ещё одна оговорка: при извлечении квадратного корня получается приближённое значение, которое может отличаться от привычного нам. Поэтому, если нам требуется сравнить расстояние с каким-то числом (что мы и собираемся сделать), удобнее не извлекать корень и сравнивать квадрат расстояния с квадратом числа.
Кстати, если вектор задан одной точкой, его длину можно определить по той же формуле, но чуть проще.
В самом деле, здесь (x_1=y_1=0), поэтому формула выглядит как [sqrt] Также ей можно пользоваться, когда одна из точек или один из концов отрезка находится в точке (0;0). Разумеется, здесь тоже действуют оговорки, описанные выше.
Видео:Уравнение окружности (1)Скачать
Формула
Теперь нетрудно вывести формулу, по которой можно определить взаимное расположение точки и окружности.
Если (px) и (py) — координаты точки, (ox) и (oy) — координаты центра окружности, (r) — радиус окружности, то
при ((ox-px)^2+(oy-py)^2lt) точка лежит внутри круга;
при ((ox-px)^2+(oy-py)^2=) точка лежит на окружности;
при ((ox-px)^2+(oy-py)^2gt) точка лежит вне круга.
Видео:Определение центра дуги окружности, построение окружности по 3 точкамСкачать
Если лень читать
Видео:Всё про углы в окружности. Геометрия | МатематикаСкачать
Вычислительная геометрия, или как я стал заниматься олимпиадным программированием. Часть 2
Вступление
Это вторая часть моей статьи посвящена вычислительной геометрии. Думаю, эта статья будет интереснее предыдущей, поскольку задачки будут чуть сложнее.
Начнем с взаимного расположения точки относительно прямой, луча и отрезка.
Задача №1
Определить взаимное расположении точки и прямой: лежит выше прямой, на прямой, под прямой.
Решение
Понятно, что если прямая задана своим уравнением ax + by + c = 0, то тут и решать нечего. Достаточно подставить координаты точки в уравнение прямой и проверить чему оно равно. Если больше нуля, то точка находится в верхней полуплоскости, если равна нулю, то точка находится на прямой и если меньше нуля, то точка находится в нижней полуплоскости. Интереснее случай, когда прямая задана, задана координатами двух точек назовем их P1(x1, y1), P2(x2, y2). В этом случае можно спокойно найти коэффициенты a, b и c и применить предыдущее рассуждение. Но надо сначала подумать, оно нам надо? Конечно, нет! Как я говорил косое произведения — это просто жемчужина вычислительной геометрии. Давайте применим его. Известно, что косое произведение двух векторов положительно, если поворот от первого вектора ко второму идет против часовой стрелки, равно нулю, если векторы коллинеарны и отрицательно, если поворот идет по часовой стрелки. Поэтому нам достаточно посчитать косое произведение векторов P1P2 и P1M и по его знаку сделать вывод.
Задача №2
Определить принадлежит ли точка лучу.
Решение
Давайте вспомним, что такое луч: луч — это прямая, ограниченная точкой с одной стороны, а с другой стороны бесконечная. То есть луч задается некоторой начальной точкой и любой точкой лежащей на нем. Пусть точка P1(x1, y1) — начало луча, а P2(x2, y2) — любая точка принадлежащая лучу. Понятно, что если точка принадлежит лучу, то она принадлежит и прямой проходящей через эти точки, но не наоборот. Поэтому принадлежность прямой является необходимым, но не достаточным условием для принадлежности лучу. Поэтому от проверки косового произведения нам никуда не деться. Для достаточного условия нужно вычислить еще и скалярное произведение тех же векторов. Если оно меньше нуля, то точка не принадлежит лучу, если же оно не отрицательно, то точка лежит на луче. Почему так? Давайте посмотрим на рисунок.
Итак, для того чтобы точка M(x, y) лежала на луче с начальной точкой P1(x1, y1), где P2(x2, y2) лежит на луче необходимо и достаточно выполнения двух условий:
1. [P1P2, P1M] = 0 – косое произведение (точка лежит на прямой)
2. (P1P2, P1M) ≥ 0 – скалярное произведение (точка лежит на луче)
Задача №3
Определить принадлежит ли точка отрезку.
Решение
Пусть точки P1(x1, y1), P2(x2, y2) концы заданного отрезка. Опять-таки необходимым условием принадлежности точки отрезку является ее принадлежность прямой проходящей через P1, P2. Далее нам нужно определить лежит ли точка между точками P1 и P2, для этого нам на помощь приходит скалярное произведение векторов только на этот раз других: (MP1, MP2). Если оно меньше либо равно нуля, то точка лежит на отрезке, иначе вне отрезка. Почему так? Посмотрим на рисунок.
Итак, для того чтобы точка M(x, y) лежала на отрезке с концами P1(x1, y1), P2(x2, y2) необходимо и достаточно выполнения условий:
1. [P1P2, P1M] = 0 – косое произведение (точка лежит на прямой)
2. (MP1,MP2) ≤ 0 – скалярное произведение (точка лежит между P1 и P2)
Задача №4
Взаимное расположение двух точек относительно прямой.
Решение
В этой задаче необходимо определить по одну или по разные стороны относительно прямой находятся две точки.
Если точки находятся по разные стороны относительно прямой, то косые произведения имеют разные знаки, а значит их произведение отрицательно. Если же точки лежат по одну сторону относительно прямой, то знаки косых произведений совпадают, значит, их произведение положительно.
Итак:
1. [P1P2, P1M1] * [P1P2, P1M2] 0 – точки лежат по одну сторону.
3. [P1P2, P1M1] * [P1P2, P1M2] = 0 – одна (или две) из точек лежит на прямой.
Кстати, задача об определении наличия точки пересечения у прямой и отрезка решается точно также. Точнее, это и есть эта же задача: отрезок и прямая пересекаются, когда концы отрезка находятся по разные стороны относительно прямой или когда концы отрезка лежат на прямой, то есть необходимо потребовать [P1P2, P1M1] * [P1P2, P1M2] ≤ 0.
Задача №5
Определить пересекаются ли две прямые.
Решение
Будем считать, что прямые не совпадают. Понятно, что прямые не пересекаются, только если они параллельны. Поэтому, найдя условие параллельности, мы можем, определить пересекаются ли прямые.
Допустим прямые заданы своими уравнениями a1x + b1y + c1 = 0 и a2x + b2y + c2 = 0. Тогда условие параллельности прямых заключается в том, что a1b2 — a2b1 = 0.
Если же прямые заданы точками P1(x1, y1), P2(x2, y2), M1(x3, y3), M2(x4, y4), то условие их параллельности заключается в проверки косого произведения векторов P1P2 и M1M2: если оно равно нулю, то прямые параллельны.
В общем, то когда прямые заданы своими уравнениями мы тоже проверяем косое произведение векторов (-b1, a1), (-b2, a2) которые называются направляющими векторами.
Задача №6
Определить пересекаются ли два отрезка.
Решение
Вот эта задача мне, действительно, нравится. Отрезки пересекаются тогда, когда, концы каждого отрезка лежат по разные стороны от другого отрезка. Посмотрим на рисунок:
Итак, нам нужно проверить, чтобы концы каждого из отрезков лежали по разные стороны относительного концов другого отрезка. Пользуемся косым произведением векторов. Посмотрите на первый рисунок: [P1P2, P1M2] > 0, [P1P2, P1M1] [P1P2, P1M2] * [P1P2, P1M1] 2 + b 2 ).
Задача №8
Расстояние от точки до луча.
Решение
Эта задача отличается от предыдущей тем, что в этом случае может получиться, так что перпендикуляр из точки не падает на луч, а падает на его продолжение.
В случае, когда перпендикуляр не падает на луч необходимо найти расстояние от точки до начала луча – это и будет ответом на задачу.
Как же определить падает ли перпендикуляр на луч или нет? Если перпендикуляр не падает на луч, то угол MP1P2 – тупой иначе острый (прямой). Поэтому по знаку скалярного произведения векторов мы можем определить попадает ли перпендикуляр на луч или нет:
1. (P1M, P1P2) 2 .
Теперь рассмотрим случай, когда центр второго круга O2 находится между точками O1 и C. В этом случае получим отрицательное значение величины d2. Использование отрицательного значения d2 приводит к отрицательному значению α. В этом случае необходимо для правильного ответа прибавить к α 2π.
Заключение
Ну вот и все. Мы рассмотрели не все, но наиболее часто встречаемые задачи вычислительной геометрии касающиеся взаимного расположения объектов.
Видео:Точка встречи прямой с плоскостьюСкачать
Вычисление положения точек в окружности
У меня есть немного пустой ум на этот момент. У меня есть проблема, когда мне нужно вычислить положение точек вокруг центральной точки, предполагая, что все они равноудалены от центра и друг от друга.
количество точек является переменной, так что это DrawCirclePoints(int x) Я уверен, что есть простое решение, но для жизни меня, я просто не вижу его:)
Видео:Задача на положение точки относительно окружности(видео 55) | Подобие. Геометрия | МатематикаСкачать
11 ответов:
точка под углом тета на окружности, центр которой (x0,y0) и чей радиус r и (x0 + r cos theta, y0 + r sin theta) . Теперь выберите theta значения, равномерно расположенные между 0 и 2pi.
учитывая длину радиуса r и угол t в радианах и центре круга (h,k), вы можете вычислить координаты точки на окружности следующим образом (это псевдокод, вам придется адаптировать его к вашему языку):
вот решение с использованием C#:
пример вывода из DrawCirclePoints(8, 10, new Point(0,0)); :
используя один из приведенных выше ответов в качестве базы, вот пример Java / Android:
Я должен был сделать это в интернете, так что вот версия coffeescript @scottyab это ответ выше:
для завершения то, что вы описываете как «положение точек вокруг центральной точки(предполагая, что все они равноудалены от центра)» — это не что иное, как «полярные координаты». И вы просите способ преобразования между полярными и Декартовыми координатами, которая дается как x = r*cos(t) , y = r*sin(t) .
здесь R версия, основанная на ответе @Pirijan выше.
угол между каждой из ваших точек будет 2Pi/x таким образом, вы можете сказать, что для точек n= 0 to x-1 угол от определенной 0 точки равен 2nPi/x .
предполагая, что ваша первая точка находится в (r,0) (где r-расстояние от центральной точки), то положение относительно центральной точки будет:
на основе ответа выше от Даниила, вот мой взять с помощью Python3.
📺 Видео
Вращательное движение. 10 класс.Скачать
Как найти координаты точек на тригонометрической окружностиСкачать
Алгебра 10 класс Поворот точки вокруг начала координат ЛекцияСкачать
Точки на числовой окружностиСкачать
начертить окружность. Привести уравнение окружности к стандартному виду. Координаты центра и радиус.Скачать
Алгебра 10 класс. 20 сентября. Числовая окружность #6 координаты точекСкачать
8 класс, 31 урок, Взаимное расположение прямой и окружностиСкачать
✓ Степень точки в ЕГЭ | Резерв досрока ЕГЭ-2022. Задание 16. Профильный уровень | Борис ТрушинСкачать
Геометрия, 10 класс | Степень точки относительно окружности. Радикальная ось. Часть 1Скачать
9 класс, 6 урок, Уравнение окружностиСкачать
Стереометрия 10 класс. Часть 1 | МатематикаСкачать
Точки пересечения графика линейной функции с координатными осями. 7 класс.Скачать