![]() |
|
Модераторы: volvo877, Snowy, MetalFan |
![]()
|
|
| TORQUE |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 20.12.2005 Репутация: нет Всего: нет |
Отрезки на плоскости задаются парами целочисленных координат концевых точек. Определить, пересекаются ли 2 отрезка.
немогу понять как сделать прогу помогите |
|||
|
||||
| Fighter |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 810 Регистрация: 5.1.2005 Репутация: нет Всего: 2 |
Для начала это чистейшей воды математика. Это сообщение отредактировал(а) Fighter - 20.12.2005, 19:52 |
|||
|
||||
| Zero |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: нет Всего: 24 |
Вообще на первый взгляд, сразу как то нормальное ничё и не предумывается...
Если решать графически, то там просто конечно, программно строятся две прямые на графике, и если пиксели пересекаются, то.... ну ясно. Если аналитически, то можно например по формуле: (x-x0)/(x1-x0)=(y-y0)/(y1-y0) построить прямую, и потом по уравнениям прямым определить имеется ли общая точка пересечения... Но как это реализовать программно (чтобы без гемора) пока нету времени думать. Мож попоже если чё придёт в голову напишу. |
|||
|
||||
| Fighter |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 810 Регистрация: 5.1.2005 Репутация: нет Всего: 2 |
Тебе кстати надо это графически решить, или можно в текстовом режиме, и чтобы программа просто выводила на экран сообщение, что отрезки пересекаются. |
|||
|
||||
| Zero |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: нет Всего: 24 |
Fighter а ты вот тут:
какое-нибудь упомянание про графики видел??? |
||||
|
|||||
| TORQUE |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 20.12.2005 Репутация: нет Всего: нет |
Спасибо всем кто помогоал я решил её
а теперь вышла другая проблема как наити плошадь S, закрашенную в красный цвет. Если кординаты двух многоугольников заданы. Присоединённый файл ( Кол-во скачиваний: 14 )
1.JPG 4,41 Kb |
|||
|
||||
| TORQUE |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 20.12.2005 Репутация: нет Всего: нет |
Спасибо всем кто помогоал я решил её
а теперь вышла другая проблема как наити плошадь S, закрашенную в красный цвет. Если кординаты двух многоугольников заданы. Присоединённый файл ( Кол-во скачиваний: 20 )
1.JPG 4,41 Kb |
|||
|
||||
| Zero |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: нет Всего: 24 |
Дык, ты хоть решение покажи, а то вдруг, у кого-нибудь ещё появится такой вопрос, и воспользовавшись поиском сможет найти ответ.
PS: Новые вопросы, задавай в новых темах. (чтобы облегчить поиск тех, кого этот вопрос вдруг заинтерисует, и не путать тех кто ищет ответ на предыдущий вопрос) |
||||
|
|||||
| TORQUE |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 20.12.2005 Репутация: нет Всего: нет |
Решение: только формулы 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
этот вопрос по той же теме Это сообщение отредактировал(а) TORQUE - 21.12.2005, 17:35 |
||||
|
|||||
| Zero |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: нет Всего: 24 |
Первое что приходит в голову, это свести задачу к нахождению точек в виде (x,y), которые входят в область первого и второго многоугольника, естественно с заданной дискретностью (точностью) ─ в одной системе координат, потом каждый элемент массива сравнить между собой, т.е. если точки совпали, то счётчику прибавлять единицу. И в конце, умножить значение счётчика, на заданную точность, т.е. если например, расстояние между отдельными точками, взять 0,1 ─ то площадь будет равна = количество точек пересечения, тоесть значение счётчика умноженное на 0,1.
Добавлено @ 23:05 Но можно ещё, каким-нибудь способом определить все точки пересечения, многоугольников и общие концевые точки, отдельных многоуольников, и в заданном пространстве найти площадь, но это наверно более геморно будет. |
|||
|
||||
| TORQUE |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 20.12.2005 Репутация: нет Всего: нет |
Zero непонял объясни чуть чуть получше (заранее спасибо)
|
|||
|
||||
| Zero |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: нет Всего: 24 |
PS: такие темы надо писать в разделе алгоритмы.... И поиск по интернету для начала не повредит (один запрос рамблера, и вот результат): http://cityref.ru/get.php?id=12174 http://allbest.ru/referats/search.cgi?q=%C...%FC%ED%E8%EA%E0. |
|||
|
||||
| TORQUE |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 20.12.2005 Репутация: нет Всего: нет |
Чё никто незнает как решить эту задачу.
Помогите чтоли |
|||
|
||||
| TORQUE |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 20.12.2005 Репутация: нет Всего: нет |
||||
|
||||
| Zero |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: нет Всего: 24 |
Дык я же тебе ссылки скинул.
|
|||
|
||||
![]()
|
| Правила форума "Delphi" | |
|
|
Запрещается! 1. Обсуждать и делится взломанными компонентами или программным обеспечением 2. Публиковать ссылки на варез 3. Оффтопить
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |