|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
15.01.2017, 12:30 | #1 |
Регистрация: 19.09.2015
Сообщений: 9
|
Найти пересечение окружности и эллипса
Всем доброго времени суток, мучаюсь уже 2 день. Не получается правильно определить точки пересечения окружности и эллипса. Формулу выразил, а результат далек от пересечения точек на фото.
Свои наработки прикладываю. Код:
Крайняя точка по оси X равна -24 примерно |
15.01.2017, 18:26 | #2 |
Форумчанин
Регистрация: 25.01.2015
Сообщений: 472
|
Получите уравнения эллипса и круга
fc(x,y)=(x-X0c)^2 + (y-Y0c)^2 - R fe(x,y)=Ax^2 + Bxy + Cx + Dy + Ey^2 + F Каждая из этих функций должна быть равна 0, для получения окружности или эллипса. Выразим целевую функцию f(x,y)= (fc(x,y))^2 + (fe(x,y))^2 И найдём её минимум (т.к. для попадания точки и на окружность и на эллипс каждое из слагаемых должно быть равно 0) - любым способом. Хоть методом простой итерации. x:=x+f(x,y)/Kx y:=y+f(x,y)/Ky Можно Kx и Ky задать константами, а можно вычислять как частные производные. А можно и методом перебора точек на окружности искать минимум целевой функции. |
15.01.2017, 18:58 | #3 |
Регистрация: 19.09.2015
Сообщений: 9
|
fe(x,y)=Ax^2 + Bxy + Cx + Dy + Ey^2 + F - эллипс
А где взять a, b, c, Dy, Ey, F a,b даны c крайняя точка Dy и это получается крайняя точка Ey ? F это подставленное значение окружности. Последний раз редактировалось Дмитрий456; 15.01.2017 в 19:05. |
15.01.2017, 19:28 | #4 |
Регистрация: 19.09.2015
Сообщений: 9
|
Пока что так получается, но результат нет ни одного случая при котором было бы два 0.
Код:
|
15.01.2017, 20:10 | #5 |
Забанен
Форумчанин Подтвердите свой е-майл
Регистрация: 01.11.2006
Сообщений: 420
|
Примерно если то можно так подсчитать:
Код:
Если ничто другое не помогает, прочтите, наконец, инструкцию! Аксиома Кана
|
15.01.2017, 20:34 | #6 |
Старожил
Регистрация: 02.03.2008
Сообщений: 2,499
|
Записываем уравнение эллипса в параметрической форме:
Код:
Пересечение эллипса и окружности - это точки эллипса , удаленные от центра окружности на расстояние R ( радиус окружности) . Расстояние от точки (X1,Y1) до точки (X2,Y2): Код:
Например: Код:
PS Пока писал, опередили. |
15.01.2017, 21:11 | #7 |
Регистрация: 19.09.2015
Сообщений: 9
|
Спасибо всем, весьма отлично получилось.
Код:
Последний раз редактировалось Дмитрий456; 15.01.2017 в 21:21. |
15.01.2017, 23:09 | #8 |
Забанен
Форумчанин Подтвердите свой е-майл
Регистрация: 01.11.2006
Сообщений: 420
|
Реализуйте эту идею и будет на отлично.
Если ничто другое не помогает, прочтите, наконец, инструкцию! Аксиома Кана
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Пересечение прямой и окружности | Гузель23 | Помощь студентам | 0 | 10.05.2013 21:28 |
.Net, C#, рисование окружности и эллипса с общим центром. | includer | Помощь студентам | 0 | 03.03.2013 16:02 |
Пересечение прямоугольника и окружности | _-Re@l-_ | Помощь студентам | 2 | 20.05.2011 15:35 |
Пересечение треугольников окружности C++ | LaDark | Помощь студентам | 2 | 28.11.2010 12:50 |
Пересечение эллипса с прямой (Delphi) | 0rtega | Помощь студентам | 0 | 13.04.2010 21:45 |