Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
1 / 1 / 1
Регистрация: 28.01.2014
Сообщений: 139

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

29.10.2014, 15:31. Показов 2270. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задана окружность с центром в точке O(x0;y0) и Радиусом R0 и прямая y=ax+b
Определить, пересекаются ли прямая и окружность. При положительном ответе найти точки пересечения.
P.S. Обязательно использования оператора if
Заранее благодарен
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.10.2014, 15:31
Ответы с готовыми решениями:

Пересечение прямой и окружности
На плоскости заданы множество точек А и множество окружностей В. Найдите две такие различные точки из А, что проходящая через них прямая...

Проверить пересечение окружности и прямой
Заданы окружность радиуса R с центром в начале координат и прямая, проходящая через точки А (х; у) и В (х; -у).). Написать программу,...

Функция определяющая пересечение окружности и прямой
Пожалуйста напишите код с комментариями а то я немного тупенькая . Нужно | разработать функцию, определяющую, пересекаются ли...

1
 Аватар для D_in_practice
343 / 343 / 331
Регистрация: 02.10.2014
Сообщений: 666
29.10.2014, 16:24
Лучший ответ Сообщение было отмечено jon4eg как решение

Решение

Код на С++
C++
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#include <iostream>
#include <cmath>
 
using namespace std;
 
int main(){
    
    double x0;
    cout << "Ââåäèòå x0 = ";
    cin >> x0;
    
    double y0;
    cout << "Ââåäèòå y0 = ";
    cin >> y0;
    
    double r;
    do{
        cout << "Ââåäèòå R = ";
        cin >> r;
    }while (r < 0);
    
    cout << "y = kx + p" << endl;
    
    double k;
    cout << "Ââåäèòå k = ";
    cin >> k;
    
    double p;
    cout << "Ââåäèòå p = ";
    cin >> p;
    
    //ax^2 + bx + c = 0
    
    double a = 1 + k * k;
    double b = 2 * k * (p - y0) - 2 * x0;
    double c = x0 + (p - y0) * (p - y0) - r * r;
    
    double d = b * b - 4 * a * c;
    if (d < 0)
        cout << "Íå ïåðåñåêàþòñÿ" << endl;
    else if (d == 0){
        double x = (-1) * b / (2 * a);
        double y = k * x + p;
        cout << "Ïðÿìàÿ êàñàåòñÿ îêðóæíîñòè â òî÷êå: " << endl;
        cout << "x = " << x << ", y = " << y << endl;
    }else{
        double x1 = (-1) * (b + sqrt(d)) / (2 * a);
        double y1 = k * x1 + p;
        double x2 = (-1) * (b - sqrt(d)) / (2 * a);
        double y2 = k * x2 + p;
        cout << "Ïðÿìàÿ ïåðåñåêàåò îêðóæíîñòü â òî÷êàõ: " << endl;
        cout << "x1 = " << x1 << ", y1 = " << y1 << endl;
        cout << "x2 = " << x2 << ", y2 = " << y2 << endl;
    }
        
    return 0;
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.10.2014, 16:24
Помогаю со студенческими работами здесь

Пересечение эллипса и окружности
Доброго времени суток. Собственно нужно написать алгоритм пересечения эллипса и окружности. Фигуры задаются координатами центров и...

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

Пересечение кубической параболы и окружности
Задание звучит так: с клавиатуры вводятся коэффициенты, которые определяют полином третьего степени. Найти точки пересечения его с...

Пересечение сторонами треугольника вписанной окружности. Подскажите алгоритм
На плоскости заданы множество точек и окружность радиусом R с центром в начале координат. Построить множество всех треугольников с...

Нахождение пересечения прямой и окружности
Входные данные (х1,х2,у1,у2,х0,у0,R) считываются с файлы. Не могу понять, как сделать через уравнение прямой, проходящей через 2 точки (для...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3, Box2D, FreeType и SDL3_ttf из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru