![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Пользователь
Регистрация: 22.09.2007
Сообщений: 15
|
![]()
в ромбе- 4 условий. 4 стороны. 1 из сторон- гипотенуза моего треугольника. Надо задать ограничения на гипотенузу и 2 катета.
|
![]() |
![]() |
![]() |
#12 |
Great Code Monkey
Форумчанин
Регистрация: 09.08.2007
Сообщений: 533
|
![]()
Через ромб не получится, как узнать, что точка расположена внутри треугольника, я написал выше.
|
![]() |
![]() |
![]() |
#13 | |
Пользователь
Регистрация: 22.09.2007
Сообщений: 15
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#14 |
Great Code Monkey
Форумчанин
Регистрация: 09.08.2007
Сообщений: 533
|
![]()
Более подробно.
Сеоединяешь точку с вершинами треугольника. Получаются три треугольника. Вершины каждого из получившихся треугольников - это две вершины исходного треугольника и точка. Складываешь площади полученных треугольников. Если получившаяся сумма равна площади исходного треугольника, то точка лежит внутри. |
![]() |
![]() |
![]() |
#15 |
Great Code Monkey
Форумчанин
Регистрация: 09.08.2007
Сообщений: 533
|
![]()
Square := 1/2 * Abs((Bx-Ax) * (Cy-Ay) - (By-Ay) * (Cx-Ax));
SqKAC := 1/2 * Abs((Kx-Ax) * (Cy-Ay) - (Ky-Ay) * (Cx-Ax)); SqKAB := 1/2 * Abs((Bx-Ax) * (Ky-Ay) - (By-Ay) * (Kx-Ax)); SqKBC := 1/2 * Abs((Bx-Kx) * (Cy-Ky) - (By-Ky) * (Cx-Kx)); PointInside := SqKAB + SqKAC + SqKBC <= Square; |
![]() |
![]() |
![]() |
#16 |
Новичок
Джуниор
Регистрация: 04.05.2010
Сообщений: 1
|
![]()
А если задача такая:С клавиатуры по часовой стрелке вводятся две координаты многоугольника-точки Х и У, а нам надо определить попадает ли точка в данный многоугольник или нет.
Подскажите плиз как именно это стоит сделать? |
![]() |
![]() |
![]() |
#17 |
Форумчанин
Регистрация: 30.04.2010
Сообщений: 317
|
![]()
Сеоединяешь точку с вершинами многоугольника. Получаются n треугольникoв Вершины каждого из получившихся треугольников - это две вершины исходного многоугольника и точка. Складываешь площади полученных треугольников. Если получившаяся сумма равна площади исходного многоугольника, то точка лежит внутри.
icq:627719[сто сорок четыре] - помогу с Pascal & Delphi!
|
![]() |
![]() |
![]() |
#18 |
Владимир М.
Участник клуба
Регистрация: 30.10.2006
Сообщений: 1,289
|
![]()
Ваш алгоритм работает только для выпуклых фигур.
Соединяешь вершины попарно - получаешь список ребер (отрезков). Из данной точки проводишь горизонтальный луч - если он пересечет ребра четное число раз (0, 2, 4 ..) то точка лежит ВНЕ фигуры. При проходе точно через точку считаем только 1 проход ребра (вершины предварительно упорядочить по возрастанию координат).
Берегите друг друга!
|
![]() |
![]() |
![]() |
#19 |
Регистрация: 04.09.2010
Сообщений: 4
|
![]()
Помогите с задачкой пожалуйста....Нужно найти опред. интеграл методом Монте-Карло.... интег. от 0 до 2 (х^3 -x^2)dx.......
|
![]() |
![]() |
![]() |
#20 |
Пользователь
Регистрация: 27.08.2010
Сообщений: 95
|
![]()
формула эллипса:
(x/a)^2 + (y/b)^2 = 1; a,b - большая, малая полуось. -a<=x<=a - поскольку a^2 + b^2 >= 1 для любых a,b. Преобразуем уравнение эллипса: (x/a)^2 + (y/b)^2 = 1 => y = +- sqrt(b^2(1 - (x/a)^2)), т.е.: -sqrt(b^2(1 - (x/a)^2))<= y <=sqrt(b^2(1 - (x/a)^2)) В итоге делаем две проверки: Код:
Последний раз редактировалось vlad_light; 07.09.2010 в 01:54. |
![]() |
![]() |