Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 54, средняя оценка - 4.74
serega1785
0 / 0 / 0
Регистрация: 13.04.2013
Сообщений: 22
#1

Найти координаты точек пересечения прямой и окружности - C++

26.04.2013, 23:29. Просмотров 7104. Ответов 5
Метки нет (Все метки)

Найти координаты точек пересечения прямой y=kx+b и окружности радиуса R с центром в начале координат. В каких координатных четвертях находятся точки пересечения? Если точек пересечения нет или прямая касается окружности, выдать соответствующее сообщение
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.04.2013, 23:29     Найти координаты точек пересечения прямой и окружности
Посмотрите здесь:

нахождение точек пересечения прямой и эллипса C++
C++ Найти количество общих точек окружности и прямой
Точки пересечения окружности и прямой C++
C++ Найти координаты точек пересечения двух кругов
Вычислительная геометрия (Даны координаты центра, R окружности, координаты точки вне окруж-ти. Найти точку пересечения одной из касательных с окруж-ю) C++
C++ Определить, сколько точек пересечения имеют прямая и окружность и найти координаты этих точек
Найти координаты точек пересечения окружности с экспонентой и сформировать из них множество А C++
C++ По заданным координатам центра окружности и ее радиусу определить координаты точек пересечения окружности с осями координат.
C++ Найти координаты точек пересечения параболы и экспоненты
Дайте готовый код нахождения точки пересечения окружности с прямой :-) C++
Найти количество и координаты точек пересечения 2-х эллипсов C++
Нахождение пересечения прямой и окружности C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
IrineK
Заблокирован
27.04.2013, 04:28     Найти координаты точек пересечения прямой и окружности #2
Алгоритм:
Миниатюры
Найти координаты точек пересечения прямой и окружности  
Ternsip
 Аватар для Ternsip
660 / 188 / 6
Регистрация: 10.05.2012
Сообщений: 595
27.04.2013, 10:13     Найти координаты точек пересечения прямой и окружности #3
serega1785, http://e-maxx.ru/algo/circle_line_intersection
вам только нужно переделать из уравнения y = kx + b в общее уравнение прямой и нормализовать его для точности.

Добавлено через 5 минут
y = Kx + B => Ax+By+C = 0
A = K
B = -1
C = B
Нормализовать, значит :
m = sqrt(A*A + B*B);
C /= m;
B /= m;
A /= m;
Прямая коснётся окружности, тогда и только тогда когда есть ровно 1 точка пересечения
serega1785
0 / 0 / 0
Регистрация: 13.04.2013
Сообщений: 22
27.04.2013, 15:01  [ТС]     Найти координаты точек пересечения прямой и окружности #4
я просил на языке программирования а не в решении на листочке((( напишите плиз на языке с++ я просто 0)))
Ternsip
 Аватар для Ternsip
660 / 188 / 6
Регистрация: 10.05.2012
Сообщений: 595
27.04.2013, 15:52     Найти координаты точек пересечения прямой и окружности #5
serega1785, Прочитайте, для начала, что вам написали, там и код есть и разжевали всё в подробностях.
Ivan lupa
0 / 0 / 0
Регистрация: 06.03.2016
Сообщений: 1
06.03.2016, 21:23     Найти координаты точек пересечения прямой и окружности #6
Python
K и B - коэфициенты в уравнении прямой y=Kx+B
center - координаты центра
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
def line_cirle_itersection(center, radius, K, B):                                                   
    a = 1 + K**2                                                                                    
    b = -2*center[0] + 2*K*B -2*K*center[1]                                                         
    c = -radius**2 + (B-center[1])**2 + center[0]**2                                                
    D = b**2 - 4*a*c                                                                                
    if D < 0:                                                                                       
        return []                                                                                   
    x1 = (-b-math.sqrt(D))/(2*a)                                                                    
    x2 = (-b+math.sqrt(D))/(2*a)                                                                    
    return [                                                                                        
        (x1, K*x1 + B),                                                                             
        (x2, K*x2 + B),                                                                             
    ]
Yandex
Объявления
06.03.2016, 21:23     Найти координаты точек пересечения прямой и окружности
Ответ Создать тему
Опции темы

Текущее время: 05:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru