![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 18.12.2009
Сообщений: 16
|
![]()
помогите решить пожалуйста:
Даны координаты трех вершин треугольника ABC и даны координаты четвертой вершины D. Определить, является ли эта точка внутренней точкой треугольника. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 13.10.2008
Сообщений: 714
|
![]()
дял начала начерти на листке как все это ьудет выглядеть, тойсть если я правильно понимаю, тебе ножно определить границы X Y, если координаты точки Д входят в ети храници, то точка лежит в треугольнике, и наоборот!
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 18.12.2009
Сообщений: 16
|
![]()
ну да!
но я не знаю как все это дело оформить((... |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 26.04.2008
Сообщений: 2,645
|
![]()
Как вариант вычислить площадь треугольников ABD ACD BCD. И если их сумма > площади ABC, то точка вне треугольника.
Площади вычислять по формуле Герона (через длины сторон) |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 18.12.2009
Сообщений: 16
|
![]()
подскажите где ошибка????
Код:
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 26.04.2008
Сообщений: 2,645
|
![]()
Вот этот способ. Но следует учесть, что при взятии корня от числа возникает погрешность. Можно пойти 3-мя путями:
1) учитывать погрешность (как в коде) 2) избавиться от корней путём применения формул (долго, но возможно) 3) выбрать другой метод (например, основанный на полуплоскостях) Код:
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 18.12.2009
Сообщений: 16
|
![]()
спасибо!все получилось)
а можешь объяснить вот это??? abs(ploshad(ax, ay, bx, by, dx, dy) + ploshad(ax, ay, dx, dy, cx, cy) + ploshad(dx, dy, bx, by, cx, cy) - ploshad(ax, ay, bx, by, cx, cy))> 0.0001 |
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 18.12.2009
Сообщений: 16
|
![]() |
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 17.12.2009
Сообщений: 74
|
![]()
На самом деле у этой задачи есть 3 популярных способа решения.
1 уже назвали. 2 рассмаривать 3 уравнения прямой для врешин и точки. 3 использовать векторное и псевдоскалярное произведения. 2,3 метод работают без погрешностей. |
![]() |
![]() |
![]() |
#10 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
Анатоль, а вот любопытно...
Цитата:
|
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Процедуры | Юля787 | Помощь студентам | 4 | 13.12.2009 15:06 |
процедуры | Maxxx 83 | Помощь студентам | 3 | 02.10.2009 19:16 |
Процедуры. | Olalya da Silva | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 07.05.2009 20:18 |
Процедуры | Sergeo_89 | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 28.01.2009 19:05 |
Запуск процедуры из процедуры с дополнением | 1sal1 | Общие вопросы Delphi | 3 | 06.10.2008 21:54 |