![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
dimka37 |
![]()
Сообщение
#1
|
Школьник ![]() Группа: Продвинутые Сообщений: 26 Регистрация: 18.12.2010 Город: Иваново Учебное заведение: ИГЭУ Вы: студент ![]() |
Здравствуйте!
суть задачи состоит в следующем: даны координаты(х,у) трех вершин треугольника, и дана четвертая координата точки. требуется определить принадлежит ли точка треугольнику или нет. у меня в принципе задача решена , но только для всех треугольиков кроме прямоугольных. Т.к. я действовал по следующему алгоритму решения данной задачи: я находил уравнения трех прямых которые образуют треугольник, т.е. находил угол наклона(к) к=(у1-у2)/(х1-х2) и так далее... вот здесь то и скрывается подвох... если задать координаты прямоугольного треугольника, то получается деление на ноль... вот я и не могу от этого избавиться. подскажите, как действовать? |
![]() ![]() |
dimka37 |
![]()
Сообщение
#2
|
Школьник ![]() Группа: Продвинутые Сообщений: 26 Регистрация: 18.12.2010 Город: Иваново Учебное заведение: ИГЭУ Вы: студент ![]() |
а для того что бы написать функцию пересечения отрезков надо составить уравнения этих прямых. . . и это опять же сводится к угловым коэффициентам прямых(IMG:style_emoticons/default/smile.gif) и к возможному делению на ноль если мы k находим по формуле у1-у2/х1-х2
есть вариант представлению уравнения прямой вида ах+bу+с=0 тогда в этом случае деление на ноль отсутствует(IMG:style_emoticons/default/smile.gif) |
Botan |
![]()
Сообщение
#3
|
Новичок ![]() Группа: Продвинутые Сообщений: 5 Регистрация: 26.12.2010 Город: Moscow Учебное заведение: МГТУ им Н.Э. Баумана Вы: студент ![]() |
а для того что бы написать функцию пересечения отрезков надо составить уравнения этих прямых. . . и это опять же сводится к угловым коэффициентам прямых(IMG:style_emoticons/default/smile.gif) и к возможному делению на ноль если мы k находим по формуле у1-у2/х1-х2 есть вариант представлению уравнения прямой вида ах+bу+с=0 тогда в этом случае деление на ноль отсутствует(IMG:style_emoticons/default/smile.gif) Да. Если вы решили использовать второй метод, то прямые стоит хранить как три коэффицента в уравнении ax+by+c=0. Однако в большинстве случаев это будет написано (извинияюсь за выражение) быдлокодом, в котором легко ошибится, да так, что легче будет написать новую программу, чем искать ошибку в этой. Поэтому рекомендую добить первый метод. З.Ы. мне не сложно. могу привести работоспособный код. правда на С++... паскаль малость подзабыл... но перевести с С++ на паскаль обычно легко получается.... |
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 28.5.2025, 1:11 |
Зеркало сайта Решебник.Ру - reshebnik.org.ru