|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
29.11.2009, 10:59 | #1 |
ACM!
Форумчанин
Регистрация: 19.06.2009
Сообщений: 382
|
Задача на геометрию
Помогите с задачкой:
http://acmp.ru/?main=task&id_task=12 Была идея находить центр прямоугольника (XС = (X1 + X4) / 2; YС = (Y2 + Y3) / 2), а потом проверять, пересекается ли отрезок (XC,YC)(X,Y) и каждый из четырех отрезков-сторон прямоугольника. Если есть хоть одно пересечение, тогда неудачное приземление. X1, X2, X3, X4, Y1, Y2, Y3, Y4 - координаты прямоугольника, XC, YC - позиция центра, X, Y - координаты приземления. Но застрял на нахождении пересечения отрезков. Как это сделать? А может вообще идея не верная? |
29.11.2009, 11:23 | #2 |
Форумчанин
Регистрация: 10.10.2009
Сообщений: 680
|
Если обозначить прямоугольник АВСD, а точку приземления К, то К принадлежи прямоугольнику, если равны площадь ABCD и сумма площадей KAB, KВC, KDC, KАD. При этом К находится строго внутри (не на границе) в том случае, если площади всех 4 треугольников ненулевые.
Это мое решение. Ваше решение тоже верное, только оно мне кажеться более сложным в плане "придумывания реализации" и в плане теории вообще. Что бы проверить, пересекаються ли отрезки АВ и СD, надо проверять через векторное произведение, находяться ли А и В по разные стороны от СD и находяться ли С и D по разные стороны от АВ (надо смотреть на знак ориентированой площади построенных на векторах треугольников). Можете потренироваться, на АСМП есть задача, которая так и называеться - "пересечение отрезков". Только у нее сложность выше на несколько процентов по сравнению с этой. На будущее - не там создаете темы. Такий теме место в помощи студентам. |
29.11.2009, 11:28 | #3 |
Любопытная Вредина
Участник клуба
Регистрация: 19.06.2009
Сообщений: 1,285
|
рассматривай 4 треугольника (x2y2,x1y1,xy) (x4y4,x1y1,xy) (x2y2,x3y3,xy)
(x4y4,x3y3,xy) если их общая площадь равна сумме площадей треугольников (x2y2,x1y1,x4y4) и (x2y2,x4y4,x3y3) значит приземлился на участке если нет то не попал! //чуть не успела!
Дурь - это особая форма материи, которая не возникает ниоткуда и не исчезает никуда, а лишь переходит из одной головы в другую.
|
29.11.2009, 12:48 | #4 |
ACM!
Форумчанин
Регистрация: 19.06.2009
Сообщений: 382
|
Так, пролистал учебник по геометрии вперед, нашел, что площадь треугольника = основание * высота / 2. Сейчас попробую...
Да, мой вариант был страшный . Попытался по Википедии понять, что такое вектор, понял только, что это отрезок с направлением З.Ы.: А почему в Помощь студентам? Там же вроде задачки учебные, а тут ну... не учебная задача |
29.11.2009, 12:54 | #5 | |
Любопытная Вредина
Участник клуба
Регистрация: 19.06.2009
Сообщений: 1,285
|
Цитата:
Дурь - это особая форма материи, которая не возникает ниоткуда и не исчезает никуда, а лишь переходит из одной головы в другую.
|
|
29.11.2009, 12:57 | #6 | |
ACM!
Форумчанин
Регистрация: 19.06.2009
Сообщений: 382
|
Цитата:
|
|
29.11.2009, 13:03 | #7 | |
Форумчанин
Регистрация: 10.10.2009
Сообщений: 680
|
Цитата:
По поводу площади - Ваша находка может быть использована только в векторке. Вообще, нормальное нахождение площади треугольника по координатам вершин - это Героном. Ну а задача к разделу не привязана, так как нету наработок на конкретном языке, и самой привязаности к языку (Вы ведь не будуте против, если Вам решение на плюсах дать?). Фактически, Вы не требуете кода, только алго, так что нету привязанности ни к одному языку. |
|
29.11.2009, 13:10 | #8 | |
ACM!
Форумчанин
Регистрация: 19.06.2009
Сообщений: 382
|
Да... Извиняйте за глупые вопросы, но я в физико-химическом классе учусь, поэтому не особо люблю геометрию... Чтобы найти длину стороны, нашел формулу:
Цитата:
|
|
29.11.2009, 13:12 | #9 |
Любопытная Вредина
Участник клуба
Регистрация: 19.06.2009
Сообщений: 1,285
|
а ты нарисуй в координатной сетке свои 2 точки и отрезок их соединяющии и все поймешь
Дурь - это особая форма материи, которая не возникает ниоткуда и не исчезает никуда, а лишь переходит из одной головы в другую.
|
29.11.2009, 13:39 | #10 |
ACM!
Форумчанин
Регистрация: 19.06.2009
Сообщений: 382
|
Вот, накалякал код, но он не хочет работать че-то! В принципе то написано правильно?
2LeBron: Видите ли, у меня именно с задачами на геометрию напряг . Пытаюсь это исправить... Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Пожалуйста, помогите решить геометрию | Emi | Свободное общение | 8 | 21.05.2009 11:45 |