Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.04.2010, 18:18   #11
silent_1991
Пользователь
 
Регистрация: 06.11.2009
Сообщений: 68
По умолчанию

Вот, накидал за 5 минут))) Не проверял, но, думаю, ошибиться негде.

Код:
double tper(double A1, double B1, double C1, double A2, double B2, double C2, double *x, double *y)
{
    if ((A1 * B2 - A2 * B1) == 0)
    {
        if (((A1 * C2 - A2 * C1) == 0) && ((B1 * C2 - B2 * C1) == 0))
        {
            return 1; // Прямые совпадают (бесконечное количество точек пересечения)
        }
        else
        {
            return 2; // Прямые параллельны
        }
    }
    else // Прямые имеют точку пересечения
    {
        *x = - (C1 * B2 - C2 * B1) / (A1 * B2 - A2 * B1);
        *y = - (A1 * C2 - A2 * C1) / (A1 * B2 - A2 * B1);
        
        return 3;
    }
}
silent_1991 вне форума Ответить с цитированием
Старый 22.04.2010, 18:49   #12
QuadroX
323787261
Пользователь
 
Аватар для QuadroX
 
Регистрация: 19.12.2008
Сообщений: 49
По умолчанию

Прямых то 3, а в ваших процедурах только 2 проверяются. =(
ICQ: 323787261
Email: pschegolevatykh@gmail.com
QuadroX вне форума Ответить с цитированием
Старый 22.04.2010, 18:52   #13
silent_1991
Пользователь
 
Регистрация: 06.11.2009
Сообщений: 68
По умолчанию

Ну а что мешает проверить попарно все три прямые, сравнить координаты и, если они равны, они и являются координатами точки пересечения. Нужно учитывать случай, когда на какой-либо проверке функция вернула 1, не паниковать, т.к. тогда две прямые совпадают и координатами точки пересечения будут координаты пересечения третьей из прямых с какой-либо из двух совпавших.
silent_1991 вне форума Ответить с цитированием
Старый 15.05.2010, 22:31   #14
ZHanara
Новичок
Джуниор
 
Регистрация: 15.05.2010
Сообщений: 1
Вопрос to4ka perese4eni9 3x pr9mix

Zdrastvuite!!!Astron,vi mojete mne napisat' programmu na C++?U men9 slabovato s programmirovaniem!please!
ZHanara вне форума Ответить с цитированием
Старый 16.05.2010, 00:31   #15
sabbathist
Пользователь
 
Регистрация: 23.07.2009
Сообщений: 66
По умолчанию

Цитата:
Сообщение от Anatole Посмотреть сообщение
Во-первых, для того чтобы задать прямую на плоскости необходимо 2 переменные, а не 3.
Ну, тут вы сказали ерунду, согласитесь
O(n)
sabbathist вне форума Ответить с цитированием
Старый 16.05.2010, 00:34   #16
silent_1991
Пользователь
 
Регистрация: 06.11.2009
Сообщений: 68
По умолчанию

sabbathist,
Хорошо, назовите, какая третья переменная нужна для того, чтобы задать прямую на плоскости?
silent_1991 вне форума Ответить с цитированием
Старый 16.05.2010, 00:50   #17
sabbathist
Пользователь
 
Регистрация: 23.07.2009
Сообщений: 66
По умолчанию

Ну, вообще говоря, уравнение, которое было дано в первом сообщении темы это каноническое уравнение прямой, вида (x-x0)/l=(y-y0)/m, где (l,m) - координаты нормального вектора нашей прямой, только переписанное в другом виде, где у нас A=m, B=-l, C=ly0-mx0. Вот вам и три переменные.
Существует много способов задать прямую. Например, уравнение вида y=kx+b, где k-тангенс угла между прямой и осью Ox, называется уравением прямой с угловым коэффицентом. Система уравнений вида
x=x0+t
y=y0+t
называется параметрическими уравнениями прямой на плоскости. И так далее...
O(n)
sabbathist вне форума Ответить с цитированием
Старый 16.05.2010, 00:51   #18
silent_1991
Пользователь
 
Регистрация: 06.11.2009
Сообщений: 68
По умолчанию

Переменными, вообще говоря, являются x и y. Как в каноническом, так и с угловым коэффициентом, так и в общем, так и в нормальном и ещё в куче других. А l, m, A, B и C - константы. А параметрические - на то и параметрические, что вводится параметр. Параметр - не переменная.

Последний раз редактировалось silent_1991; 16.05.2010 в 00:55.
silent_1991 вне форума Ответить с цитированием
Старый 16.05.2010, 00:56   #19
sabbathist
Пользователь
 
Регистрация: 23.07.2009
Сообщений: 66
По умолчанию

Перечитайте топик еще раз, тогда вы поймете, что имел в виду Anatole. Мы говорим о разных вещах.
O(n)
sabbathist вне форума Ответить с цитированием
Старый 16.05.2010, 01:01   #20
silent_1991
Пользователь
 
Регистрация: 06.11.2009
Сообщений: 68
По умолчанию

Я склонен считать, что это Anatole не понял условие, потому как всё-таки переменными во всех трёх уравнениях следует считать X и Y. Просто нужно решить три системы и сравнить корни, если они совпадут - то все прямые пересекаются в одной точке...

Или я всё равно чего-то не понял?)))

Последний раз редактировалось silent_1991; 16.05.2010 в 01:03.
silent_1991 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Точка пересечения отрезков Witaliy Помощь студентам 5 25.12.2011 13:15
Определить принадлежит ли точка с координатами х,у заштрихованной части плоскости. Брутальный М. Паскаль, Turbo Pascal, PascalABC.NET 8 04.04.2011 20:32
Треугольник на плоскости задан координатами своих вершин.Найти координаты точки пересечения его медиан. Silver23 Помощь студентам 2 13.01.2010 15:59
Программа должна вывести координаты точки пересечения прямых Natasha666 Общие вопросы Delphi 1 20.05.2009 00:52