Как найти координаты центр окружности??
Инструкция
1
Аналитически окружность задается уравнением вида (x-x0)²+(y-y0)²=R², где x0 и y0 − координаты центра окружности, R − ее радиус. Итак, центр окружности (x0;y0) здесь задан в явном виде.
2
Пример. Установите центр фигуры, заданной в декартовой системе координат уравнением (x-2)²+(y-5)²=25.
Решение. Данное уравнение является уравнением окружности. Ее центр имеет координаты (2;5). Радиус такой окружности равен 5.
3
Уравнение x²+y²=R² соответствует окружности с центром в начале координат, то есть, в точке (0;0). Уравнение (x-x0)²+y²=R² означает, что центр окружности имеет координаты (x0;0) и лежит на оси абсцисс. Вид уравнения x²+(y-y0)²=R² говорит о расположении центра с координатами (0;y0) на оси ординат.
4
Общее уравнение окружности в аналитической геометрии запишется как: x²+y²+Ax+By+C=0. Чтобы привести такое уравнение к выше обозначенному виду, надо сгруппировать члены и выделить полные квадраты: [x²+2(A/2)x+(A/2)²]+[y²+2(B/2)y+(B/2)²]+C-(A/2)²-(B/2)²=0. Для выделения полных квадратов, как можно заметить, требуется добавлять дополнительные величины: (A/2)² и (B/2)². Чтобы знак равенства сохранялся, эти же величины надо вычесть. Прибавление и вычитание одного и того же числа не меняет уравнения.
5
Таким образом, получается: [x+(A/2)]²+[y+(B/2)]²=(A/2)²+(B/2)²-C. Из этого уравнения уже видно, что x0=-A/2, y0=-B/2, R=√[(A/2)²+(B/2)²-C]. Кстати, выражение для радиуса можно упростить. Домножьте обе части равенства R=√[(A/2)²+(B/2)²-C] на 2. Тогда: 2R=√[A²+B²-4C]. Отсюда R=1/2·√[A²+B²-4C].
6
Окружность не может быть графиком функции в декартовой системе координат, так как, по определению, в функции каждому x соответствует единственное значение y, а для окружности таких «игреков» будет два. Чтобы убедиться в этом, проведите перпендикуляр к оси Ox, пересекающий окружность. Вы увидите, что точек пересечения две.
7
Но окружность можно представить как объединение двух функций: y=y0±√[R²-(x-x0)²]. Здесь x0 и y0, соответственно, представляют собой искомые координаты центра окружности. При совпадении центра окружности с началом координат объединение функций принимает вид: y=√[R²-x²].
Как определить радиус дуги или сегмента круга и найти центр
Иногда, при выполнении особо заковыристых работ по отделке приходится решать не совсем простые задачи. Например, имеется часть окружности, говоря по научному – дуга и для этой дуги нужно определить радиус и найти центр окружности.
Сделать это можно двумя методами. Первый метод основан на расчетах, а второй – прикладной. Сначала рассмотрим первый метод, его достоинства и недостатки, а затем второй.
Первый метод определения радиуса дуги или сегмента круга
Изначально это выглядит так:
Рисунок 463.1. а) имеющаяся дуга, б) определение длины хорды сегмента и высоты.
Таким образом, когда имеется дуга, мы можем соединить ее концы и получим хорду длиной L. Посредине хорды мы можем провести линию, перпендикулярную хорде и таким образом получим высоту сегмента H. Теперь, зная длину хорды и высоту сегмента, мы можем сначала определить центральный угол α, т.е. угол между радиусами, проведенными из начала и конца сегмента (на рисунке 463.1 не показаны), а затем и радиус окружности.
Решение подобной задачи достаточно подробно рассматривалось в статье “Расчет арочной перемычки”, поэтому здесь лишь приведу основные формулы:
Как видим, с точки зрения математики никаких проблем с определением радиуса окружности нет. Данный метод позволяет определить значение радиуса дуги с любой возможной точностью. Это главное достоинство данного метода.
А теперь поговорим о недостатках.
Проблема данного метода даже не в том, что требуется помнить формулы из школьного курса геометрии, успешно забытые много лет назад – для того, чтобы напомнить формулы – есть интернет. А вот калькулятор с функцией arctg, arcsin и проч. есть далеко не у каждого пользователя. И хотя эту проблему также успешно позволяет решить интернет, но при этом не следует забывать, что мы решаем достаточно прикладную задачу. Т.е. далеко не всегда нужно определить радиус окружности с точностью до 0.0001 мм, точность 1 мм может быть вполне приемлема.
Кроме того, для того, чтобы найти центр окружности, нужно продлить высоту сегмента и отложить на этой прямой расстояние, равное радиусу. Так как на практике мы имеем дело с не идеальными измерительными приборами, к этому следует прибавить возможную погрешность при разметке, то получается, что чем меньше высота сегмента по отношению к длине хорды, тем больше может набежать погрешность при определении центра дуги.
Опять же не следует забывать о том, что мы рассматриваем не идеальный случай, т.е. это мы так сходу назвали кривую дугой. В действительности это может быть кривая, описываемая достаточно сложной математической зависимостью. А потому найденный таким образом радиус и центр окружности могут и не совпадать с фактическим центром.
В связи с этим я хочу предложить еще один способ определения радиуса окружности, которым сам часто пользуюсь, потому что этим способом определить радиус окружности намного быстрее и проще, хотя точность при этом значительно меньше.
Второй метод определения радиуса дуги (метод последовательных приближений)
Итак продолжим рассмотрение имеющейся ситуации.
Так как нам все равно необходимо найти центр окружности, то для начала мы из точек, соответствующих началу и концу дуги, проведем как минимум две дуги произвольного радиуса. Через пересечение этих дуг будет проходить прямая, на которой и находится центр искомой окружности.
Теперь нужно соединить пересечение дуг с серединой хорды. Впрочем, если мы из указанных точек проведем не по одной дуге, а по две, то данная прямая будет проходить через пересечение этих дуг и тогда искать середину хорды вовсе не обязательно.
Ну а дальше все просто: измеряем расстояние от пересечения дуг до начала (или конца) рассматриваемой дуги, а затем расстояние от пересечения дуг до точки, соответствующей высоте сегмента.
Если расстояние от пересечения дуг до начала или конца рассматриваемой дуги больше, чем расстояние от пересечения дуг до точки, соответствующей высоте сегмента, то значит центр рассматриваемой дуги находится ниже на прямой, проведенной через пересечение дуг и середину хорды. Если меньше – то искомый центр дуги выше на прямой.
Исходя из этого на прямой принимается следующая точка, предположительно соответствующая центру дуги, и от нее производятся те же измерения. Затем принимается следующая точка и измерения повторяются. С каждой новой точкой разница измерений будет все меньше.
Вот собственно и все. Не смотря на столь пространное и мудреное описание, для определения радиуса дуги таким способом с точностью до 1 мм достаточно 1-2 минут.
Теоретически это выглядит примерно так:
Рисунок 463.2. Определение центра дуги методом последовательных приближений.
А на практике примерно так:
Фотография 463.1. Разметка заготовки сложной формы с разными радиусами.
Тут только добавлю, что иногда приходится находить и чертить несколько радиусов, потому на фотографии так много всего и намешано.
На этом пока все.
Доступ к полной версии этой статьи и всех остальных статей на данном сайте стоит всего 30 рублей. После успешного завершения перевода откроется страница с благодарностью, адресом электронной почты и продолжением статьи. Если вы хотите задать вопрос по расчету конструкций, пожалуйста, воспользуйтесь этим адресом. Зараннее большое спасибо.)). Если страница не открылась, то скорее всего вы осуществили перевод с другого Яндекс-кошелька, но в любом случае волноваться не надо. Главное, при оформлении перевода точно указать свой e-mail и я обязательно с вами свяжусь. К тому же вы всегда можете добавить свой комментарий. Больше подробностей в статье “Записаться на прием к доктору”
Для терминалов номер Яндекс Кошелька 410012390761783
Номер карты Ymoney 4048 4150 0452 9638 SERGEI GUTOV
Для Украины – номер гривневой карты (Приватбанк) 5168 7422 4128 9630
Категории:
- Расчет конструкций . Основы прикладной геометрии
Оценка пользователей:
8.5 (голосов: 2)
Переходов на сайт:
31889
Комментарии:
R = H/(1 – cos(a/2))
Радиус прямо пропорционален H.
Как так?
Я достаточно подробно ответил на ваш вопрос в статье “Расчет арочной перемычки”, где вы задали подобный вопрос.
Если угол не нужен для дальнейших расчетов, радиус находится проще – без тригонометрических функций и даже можно без калькулятора – на бумажке. R = L^2/(8*H) + H/2
Сначала термины:
Отрезок, соединяющий концы дуги называется хордой (a), а высота сегмента (перпендикуляр из середины хорды) — стрелкой (h).
Теорема Пифагора: Квадрат гипотенузы равен сумме квадратов катетов. То есть R^2=(R-h)^2+(a/2)^2.
А что касается нахождения центра, то перпендикуляры к серединам хорд пересекаются в центре!
Примечание: Возможно ваш вопрос, особенно если он касается расчета конструкций, так и не появится в общем списке или останется без ответа, даже если вы задатите его 20 раз подряд. Почему, достаточно подробно объясняется в статье “Записаться на прием к доктору” (ссылка в шапке сайта).
Круг. Окружность (центр, радиус, диаметр)
Этот видеоурок доступен по абонементу
У вас уже есть абонемент? Войти
Данный урок посвящён изучению окружности и круга. Также учитель научит отличать замкнутые и незамкнутые линии. Вы познакомитесь с основными свойствами окружности: центром, радиусом и диаметром. Выучите их определения. Научитесь определять радиус, если известен диаметр, и наоборот.
[spoiler title=”источники:”]
http://doctorlom.com/item463.html
http://interneturok.ru/lesson/matematika/3-klass/tema-umnozhenie-i-delenie/krug-okruzhnost-tsentr-radius-diametr
[/spoiler]
Задачу можно решать многими способами. Например. Рассмотрим векторы образованные центром O(ox,oy) и точками A(ax,ay), B(bx,by). Их сумма по правилу паралеллограмма даст нам направление для биссеткрисы угла
которая образована AOB. Уравнение биссектрисы будет известно.
Решаем пересечение этой прямой с окружностью и получаем искомый центр дуги.
Что в этой задаче плохо. В этой задаче – “ленивый” автор который не удосужился придумать названия для точек и заставил всех придумывать свои нелепые названия или писать словами.
Что еще плохо. В этой задаче на самом деле не одна а две дуги. Но мы каким-то образом должны догадаться что речь идет о малой дуге. Об этом – тоже надо сообщать. Это раздражает.
На будущее – оформляй задачи как в задачнике.
(x – a) ** 2 + (y – b) ** 2 = R ** 2
a, b координаты середины
вычислить можно. но сложная формула. наброски: находим уравнение окружности (как система двух уравнений, радиус знаем). далее соединяем красные точки – хорда, середина хорды – среднее арифметическое координат. далее проводим диаметр перпендикулярно хорде. уравнение этой прямой находим по точке и коэффициенту k. находим точку пересечения этой прямой и окружности.
угол вычислить проще. длина хорды и два радиуса – это равнобедренный треугольник. теорема косинусов
Знаете 2 точки дуги – знаете длину хорды. Дальше надо на листке нарисовать окружность, хорду и серидинный перпендикуляр. Нарисовать несколько прямоугольных треугольников и найти длину куска от центра хорды до искомой середины. Пусть центр O, исходные точки A,B а искомая точка – M. Середина хорды С. OM = R. OС^2+CB^2=R^2, CM = OM-OC.
Итого – длина искомого куска CM = R - sqrt(R^2-|AB|^2/4)
Для нахождения координат M надо взять середину отрезка AB и отложить от нее перпендикулярный AB вектор длины по формуле выше.
A – начало дуги, B – конец дуги, C – искомый центр.
длина AC = длина BC = R (известно);
длину AB вычисляем по теореме Пифагора;
таким образом, имеем длины всех сторон треугольника ABC;
по теореме синусов (и по сумме углов) вычисляем все углы треугольника;
зная угол A, как угол пересечения прямых AB и AC, зная координаты точки A, а также зная уравнение прямой AB, легко построить уравнение прямой AC; остаётся отмерить вектор длиной R вдоль этой прямой, чтобы получить координаты точки C.
Ещё один вариант – после вычисления всех углов перейти в полярную систему координат с центром A, сложить (с учётом знаков) угол A с коэффициентом наклона прямой AB и сразу получить полярные координаты точки C (ведь R известен); затем обратно перейти в декартову систему координат.
Answering part of the question with code
How to find the center of an ellipse by coordinates of a pair of points on its curve.
This is a TypeScript function which is based on the excellent accepted answer by Sergey Illinsky above (which ends somewhat halfway through, IMHO). It calculates the center of an ellipse with given radii, given the condition that both provided points a
and b
must lie on the circumference of the ellipse. Since there are (almost) always two solutions to this problem, the code choses the solution that places the ellipse “above” the two points:
(Note that the ellipse must have major and minor axis parallel to the horizontal/vertical)
/**
* We're in 2D, so that's what our vertors look like
*/
export type Point = [number, number];
/**
* Calculates the vector that connects the two points
*/
function deltaXY (from: Point, to: Point): Point {
return [to[0]-from[0], to[1]-from[1]];
}
/**
* Calculates the sum of an arbitrary amount of vertors
*/
function vecAdd (...vectors: Point[]): Point {
return vectors.reduce((acc, curr) => [acc[0]+curr[0], acc[1]+curr[1]], [0, 0]);
}
/**
* Given two points a and b, as well as ellipsis radii rX and rY, this
* function calculates the center-point of the ellipse, so that it
* is "above" the two points and has them on the circumference
*/
function topLeftOfPointsCenter (a: Point, b: Point, rX: number, rY: number): Point {
const delta = deltaXY(a, b);
// Sergey's work leads up to a simple system of liner equations.
// Here, we calculate its general solution for the first of the two angles (t1)
const A = Math.asin(Math.sqrt((delta[0]/(2*rX))**2+(delta[1]/(2*rY))**2));
const B = Math.atan(-delta[0]/delta[1] * rY/rX);
const alpha = A + B;
// This may be the new center, but we don't know to which of the two
// solutions it belongs, yet
let newCenter = vecAdd(a, [
rX * Math.cos(alpha),
rY * Math.sin(alpha)
]);
// Figure out if it is the correct solution, and adjusting if not
const mean = vecAdd(a, [delta[0] * 0.5, delta[1] * 0.5]);
const factor = mean[1] > newCenter[1] ? 1 : -1;
const offMean = deltaXY(mean, newCenter);
newCenter = vecAdd(mean, [offMean[0] * factor, offMean[1] * factor]);
return newCenter;
}
This function does not check if a solution is possible, meaning whether the radii provided are large enough to even connect the two points!
Возможные центры круга по двум точкам и радиусу
19.08.2016, 17:47. Показов 14423. Ответов 2
Метки нет (Все метки)
Доброго времени суток! Как с помощью VBA найти координаты возможных центров круга (xc1, yc1, xc2, yc2) имея координаты 2 точек, лежащих на круге (x1, y1, x2, y2) и зная радиус круга (r)?
Пусть даже координаты этих двух точек x1=6, y1=8, x2=10, y2=12, а радиус r=4. Как можно получить координаты точек возможных центров xc1=6, yc1=12, xc2=10, yc2=8 ?
Помогите пожалуйста, а то очень надо!
0