| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Object Pascal: кроссплатформенные технологии > графики |
| Автор: TORQUE 20.12.2005, 18:56 |
| Отрезки на плоскости задаются парами целочисленных координат концевых точек. Определить, пересекаются ли 2 отрезка. немогу понять как сделать прогу помогите |
| Автор: Fighter 20.12.2005, 19:52 | ||
Для начала это чистейшей воды математика. |
| Автор: Zero 20.12.2005, 23:04 |
| Вообще на первый взгляд, сразу как то нормальное ничё и не предумывается... Если решать графически, то там просто конечно, программно строятся две прямые на графике, и если пиксели пересекаются, то.... ну ясно. Если аналитически, то можно например по формуле: (x-x0)/(x1-x0)=(y-y0)/(y1-y0) построить прямую, и потом по уравнениям прямым определить имеется ли общая точка пересечения... Но как это реализовать программно (чтобы без гемора) пока нету времени думать. Мож попоже если чё придёт в голову напишу. |
| Автор: Fighter 21.12.2005, 03:05 | ||
Тебе кстати надо это графически решить, или можно в текстовом режиме, и чтобы программа просто выводила на экран сообщение, что отрезки пересекаются. |
| Автор: Zero 21.12.2005, 13:17 | ||||
Fighter а ты вот тут:
какое-нибудь упомянание про графики видел??? |
| Автор: TORQUE 21.12.2005, 16:58 |
| Спасибо всем кто помогоал я решил её а теперь вышла другая проблема как наити плошадь S, закрашенную в красный цвет. Если кординаты двух многоугольников заданы. |
| Автор: TORQUE 21.12.2005, 16:59 |
| Спасибо всем кто помогоал я решил её а теперь вышла другая проблема как наити плошадь S, закрашенную в красный цвет. Если кординаты двух многоугольников заданы. |
| Автор: Zero 21.12.2005, 17:16 | ||||
Дык, ты хоть решение покажи, а то вдруг, у кого-нибудь ещё появится такой вопрос, и воспользовавшись поиском сможет найти ответ.
PS: Новые вопросы, задавай в новых темах. (чтобы облегчить поиск тех, кого этот вопрос вдруг заинтерисует, и не путать тех кто ищет ответ на предыдущий вопрос) |
| Автор: TORQUE 21.12.2005, 17:31 | ||||
Решение: только формулы V:=((x4-x3)(y1-y3)-(y4-y3)(x1-x3)) / ((y4-y3)(x2-x1)-(x4x3)(y2-y1)) после с помощью V находим x5:=x1+v(x2-x1) y5:=y1+v(y2-y1) x5,y5 кординаты пересечения x1,y1-y1,y2 линия A x3,y3-x4,y4 линия B
этот вопрос по той же теме |
| Автор: Zero 21.12.2005, 23:03 |
| Первое что приходит в голову, это свести задачу к нахождению точек в виде (x,y), которые входят в область первого и второго многоугольника, естественно с заданной дискретностью (точностью) ─ в одной системе координат, потом каждый элемент массива сравнить между собой, т.е. если точки совпали, то счётчику прибавлять единицу. И в конце, умножить значение счётчика, на заданную точность, т.е. если например, расстояние между отдельными точками, взять 0,1 ─ то площадь будет равна = количество точек пересечения, тоесть значение счётчика умноженное на 0,1. Добавлено @ 23:05 Но можно ещё, каким-нибудь способом определить все точки пересечения, многоугольников и общие концевые точки, отдельных многоуольников, и в заданном пространстве найти площадь, но это наверно более геморно будет. |
| Автор: TORQUE 22.12.2005, 11:41 |
| Zero непонял объясни чуть чуть получше (заранее спасибо) |
| Автор: Zero 22.12.2005, 15:35 | ||
PS: такие темы надо писать в разделе алгоритмы.... И поиск по интернету для начала не повредит (один запрос рамблера, и вот результат): http://cityref.ru/get.php?id=12174 http://allbest.ru/referats/search.cgi?q=%C2%FB%F7%E8%F1%EB%E5%ED%E8%FF%20%EF%EB%EE%F9%E0%E4%E8%20%EF%F0%EE%E8%E7%E2%EE%EB%FC%ED%EE%E3%EE%20%EC%ED%EE%E3%EE%F3%E3%EE%EB%FC%ED%E8%EA%E0. |
| Автор: TORQUE 5.1.2006, 12:37 |
| Чё никто незнает как решить эту задачу. Помогите чтоли |
| Автор: TORQUE 26.1.2006, 16:47 |
| Люди чё то я про эту задачу забыл. Попробуйте сейчас решить её. Буду очень благодарен за старания. Как наити плошадь S, закрашенную в красный цвет. Если кординаты двух многоугольников заданы. Рисунок выше |
| Автор: Zero 27.1.2006, 00:12 |
| Дык я же тебе ссылки скинул. |
| Автор: TORQUE 27.1.2006, 11:11 |
| У меня эти сылки не открываются!! Добавлено @ 11:17 Там ничего такого нету. Zero |
| Автор: TORQUE 28.1.2006, 10:37 |
| Люди скиньте хоть что нибудь об этой программе хоть код, хоть алгоритм, хоть формулы, хоть что. Просто я сильно привязался к этой задаче. Очень сильно хочу её решить!!! Но немогу |
| Автор: TORQUE 30.1.2006, 16:16 |
| Люди я не успокоюсь пока вы мне не дадите ответ или решение. |