Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
19 / 19 / 16
Регистрация: 13.10.2013
Сообщений: 205

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

14.01.2017, 19:02. Показов 1845. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток, мучаюсь уже 2 день. Не получается правильно определить точки пересечения формулу окружности и эллипса выразил. А результат не превосходит ожидания.

Свои наработки прикладываю.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
uses crt;
Const a=16;      {Полуось эллипса}
         b=37;      {Полуось эллипса}
         r=25;      {Радиус окружности}
var
       Y0, X0, Y0el, X0el, dx, x, y :real;
begin
//Центр окружности
Y0:=-15; X0:=-4;
Writeln('X0 Окружности ', X0);
Writeln('Y0 Окружности ', Y0);
//Центр эллипса
Y0el:=8; X0el:=-7;
Writeln('X0 Эллипса ', X0el);
Writeln('Y0 Эллипса ', Y0el);
x:=9;
dx:=0.001;
  begin
    repeat
      //Формула окружности выражаем y и подставляем в формулу эллипса ниже
      y:=sqrt(r*r-sqr(x-X0))+Y0;
      x:=x+dx;
    until ((sqr(x-X0el))/sqr(a))+((sqr(y-Y0el))/sqr(b))>=1;//полученый y подставляем
    writeln('Координата A x=',x:1:3,' y=',y:1:3);
    repeat
      y:=-sqrt(r*r-sqr(x-X0))+Y0;
      x:=x+dx;
    until ((sqr(x-X0el))/sqr(a))+((sqr(y-Y0el))/sqr(b))>=1;
    writeln('Координата B x=',x:1:3,' y=',y:1:3);
  end;
end.
На фото изображен график с окружностью и эллипсом. Координаты центра окружности и эллипса определил отдельно по формулам.
Крайняя точка по оси X равна -24 примерно
Миниатюры
Найти пересечение окружности и эллипса  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.01.2017, 19:02
Ответы с готовыми решениями:

Попадание точки в области окружности и эллипса
Есть 2 программы. Разные в них только формулы. Почему во втором случае компилятор паскальАБС выдает ошибку? Второй день не могу...

Пересечение прямой и окружности с центром (x, y)
Uses Crt; CONST EPS = 1e-6; Var R , a , b , c , x0 , y0 , ax , ay , bx , by , D , DD , mult : real; Begin Read(R, a...

Найти радиус вписанной окружности и радиус описанной окружности
Даны действительные положительные числа a,b,c, которые являются длинами сторон треугольника. Напишите программу, позволяющую найти радиус...

3
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
14.01.2017, 19:44
Видимо нужно составить систему уравнений как здесь
Найти точки пересечения окружности и эллипса
и как-то ее решить.
0
19 / 19 / 16
Регистрация: 13.10.2013
Сообщений: 205
14.01.2017, 21:03  [ТС]
Получилось такое уравнение
Для эллипса:
https://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{(x+7)}{{16}^{2}}+https://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{(x-8)}{{37}^{2}} = 1
Для окружности:
https://www.cyberforum.ru/cgi-bin/latex.cgi?{(x+4)}^{2}+{(y+15)}^{2}={25}^{2}
Выразив y в формуле окр. получим
y=https://www.cyberforum.ru/cgi-bin/latex.cgi?\sqrt{{r}^{2}-{(x-Xo)}^{2}}+Yo [(y-Yo)^2 разделил именно так ибо если только ставить значение Yo под корень]
и подставляем в полученное значение в формулу с эллипсом
наш x взял от -24 до 16. Поставил сначало -24 выдало отрицательный результат(не подходящий) далее 9 снова (проверил циклом от -24 до 16, так же нет хороших ответов или справа или слева только показывает точки пересечения)
https://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{(x+7)}{{16}^{2}}+https://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{(x-8)}{{37}^{2}} = 1
0
19 / 19 / 16
Регистрация: 13.10.2013
Сообщений: 205
14.01.2017, 21:13  [ТС]
При тестировании точка А еще как-то попадает в пересечение, а вот Б никак.
Миниатюры
Найти пересечение окружности и эллипса  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.01.2017, 21:13
Помогаю со студенческими работами здесь

Найти пересечение множеств
Пусть сгенерированные на ЭВМ множества А, В, С состоят из элементов: А = {1, 3, 4, 5, 10}, B = {3, 5, 7, 8, 9}, C = {3, 5, 6 , 9, 10}. ...

Найти пересечение множества натуральных чисел
Помогите пожалуйста!

Найти пересечение двух линий, заданных уравнениями
создать программу для нахождения пересечения двух линий заданіх уравнениями y=a{x}^{2}+bx+c та y=mx+n. значения а,b, с, m, n вводиться с...

На прямой даны отрезки, найти самое короткое пересечение
Задача с http://informatics.mccme.ru/mod/statements/view3.php?chapterid=516#1 Недавно Петя занялся изучением древних цивилизаций. Он...

Пересечение эллипса и окружности
С помощью программы на С/С++ вычислить с помощью любого вычислительного метода (сканирования, итераций и т.п.) две точки пересечения...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru