Дискуссионный математический форумМатематический форум
Математический форум Math Help Planet

Обсуждение и решение задач по математике, физике, химии, экономике

Теоретический раздел
Часовой пояс: UTC + 3 часа [ Летнее время ]
новый онлайн-сервис
число, сумма и дата прописью

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 14 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Пересечение эллипса и окружности
СообщениеДобавлено: 13 июл 2019, 12:43 
Не в сети
Гений
Зарегистрирован:
02 июн 2018, 08:50
Сообщений: 659
Cпасибо сказано: 21
Спасибо получено:
105 раз в 103 сообщениях
Очков репутации: 16

Добавить очки репутацииУменьшить очки репутации
Sergei444 писал(а):
Спасибо за ответ.
Хотелось бы быстро вычислять координаты, т.к. в задаче будут меняться радиус окружности и a,b эллипса (r1+r2).

А что значит быстро? Это будет какой-то подбор параметра в некоторой задаче или просто нужно иногда решать подобные задачи?
Можно использовать для этих целей Geogebra например или автокад.

Вот решение в Geogebra

Изображение

А можно, как сказал michel, решать в любом математическом пакете. Или на каком-либо языке программирования с использованием библиотек решения систем нелинейных уравнений.

Пример решения на фортране, тот же самый, что на графике.

▼ код
program ellips
implicit none

real :: x(2), eps
real, allocatable :: wa(:)
integer :: n, itmax, nsig, ierr, size_massiv
external :: f

x(1)=1; x(2)=2 !Начальное приближение
n=2 !Число уравнений
eps=0.0001 !Требумая точность
nsig=5
itmax = 100

size_massiv = ((n+2) * (n-1)) / 2 + 3 * n

allocate (wa(size_massiv))

!Решение с использованием библиотеки
!http://num-anal.srcc.msu.ru/lib_na/libnal.htm
call zf30r(f,n,eps,nsig,itmax,x,wa,ierr)

print 100, ' x = ', x(1)
print 100, ' y = ', x(2)
print 101, " Число итераций = ", itmax
print 101, " Ошибка = ", ierr

deallocate (wa)

100 format (a,f8.4)
101 format (a, i3)
end program ellips

real function f(x,k)
real :: x(2)
select case (k)
case (1)
f=93.4 * x(1)**2 + 157.04 * x(2)**2 - 913.13
case (2)
f=(x(1)-3.28)**2 + (x(2)-2)**2 - 2.25
end select
end function f


Результат:
Код:
x =   1.7801
y =   1.9824
Число итераций =   6
Ошибка =   0

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Пересечение эллипса и окружности
СообщениеДобавлено: 15 июл 2019, 15:01 
Не в сети
Начинающий
Зарегистрирован:
08 июл 2019, 18:03
Сообщений: 7
Cпасибо сказано: 0
Спасибо получено:
0 раз в 0 сообщении
Очков репутации: 1

Добавить очки репутацииУменьшить очки репутации
насчет быстро...
В программу будут поступать данные порядка 100 раз в секунду. Значения координат точек A, B, D имеются, будут меняться только r1+r2 эллипса и r окружности. нужно вычислить координаты точек пересечения.

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Пересечение эллипса и окружности
СообщениеДобавлено: 15 июл 2019, 17:24 
Не в сети
Начинающий
Зарегистрирован:
08 июл 2019, 18:03
Сообщений: 7
Cпасибо сказано: 0
Спасибо получено:
0 раз в 0 сообщении
Очков репутации: 1

Добавить очки репутацииУменьшить очки репутации
где берутся "библиотеки для решения систем нелинейных уравнений"?
есть описание? я совсем не в теме. похоже мне подойдет.

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Пересечение эллипса и окружности
СообщениеДобавлено: 15 июл 2019, 19:50 
Не в сети
Гений
Зарегистрирован:
02 июн 2018, 08:50
Сообщений: 659
Cпасибо сказано: 21
Спасибо получено:
105 раз в 103 сообщениях
Очков репутации: 16

Добавить очки репутацииУменьшить очки репутации
Проверил, на моем старом-пристаром компе эта программа решает 1000 таких систем уравнений за 2 миллисекунды (при каждом решении вычисляется 1 корень). Каждое уравнение решалось с небольшим изменением радиуса окружности, остальные параметры не изменялись. Так что по скорости такой вариант подходит более чем. Но вопрос в другом, как будете задавать начальные значения (а в данном варианте решения это требуется), какая именно точка пересечения нужна и нужна одна или все, что делать и как обрабатывать если в процессе изменений исходных данных "точка исчезнет" и т.п. Здесь нужно вашу задачу хорошо знать и как она в приципе планируется осуществляться (включая выбор языка программирования, интерфейс и т.п.). В общем я думаю Вам нужен программист, который все это сможет совместить и реализовать. А для программиста, что бы он хорошо понимал что нужно, нужно составить подробное техническое задание. Ну или нужно осваивать самостоятельно.

ps И возможно лучше, как написал michel, не решать систему, а привести ее к уравнению четвертой степени для одной из двух координат точек пересечения (от 0 до 4). Может там и многоэтажная формула получается, но машине то пофиг сколько у нее этажей.

Вернуться к началу
 Профиль  
Cпасибо сказано 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему    На страницу Пред.  1, 2  Страница 2 из 2 [ Сообщений: 14 ]

 Похожие темы   Автор   Ответы   Просмотры   Последнее сообщение 
Пересечение эллипса и отрезка

в форуме Аналитическая геометрия и Векторная алгебра

kolesnikovichdn

0

766

18 авг 2015, 01:40

Найти пересечение параболы и окружности

в форуме Геометрия

ferma-T

11

534

10 апр 2022, 10:30

Отношение радиуса описанной окружности к радиусу окружности?

в форуме Геометрия

valeron1115

22

1157

14 май 2018, 12:15

Пересечение окружностей

в форуме Геометрия

tyrik102

3

930

22 ноя 2014, 16:23

Пересечение труб

в форуме Аналитическая геометрия и Векторная алгебра

Evgnevius

1

206

27 фев 2023, 16:59

Задача на пересечение

в форуме Аналитическая геометрия и Векторная алгебра

IgotManyHands

1

446

03 сен 2017, 11:41

Пересечение окружностей

в форуме Геометрия

Windrunner

4

578

18 авг 2015, 16:06

Пересечение отрезков с прямой

в форуме Геометрия

sfanter

1

571

25 июн 2014, 16:10

Пересечение сферы и отрезка.

в форуме Аналитическая геометрия и Векторная алгебра

DarkMaster

4

893

25 дек 2018, 15:17

Пересечение нормальных распределений

в форуме Математическая статистика и Эконометрика

mathematic_x

2

157

04 апр 2021, 16:32


Часовой пояс: UTC + 3 часа [ Летнее время ]



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 41


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Яндекс.Метрика

Copyright © 2010-2023 MathHelpPlanet.com. All rights reserved