Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.15.3.154] |
|
Сообщ.
#1
,
|
|
|
есть две линии, как узнать пересекаются ли они?
|
Сообщ.
#2
,
|
|
|
Y=A1 X+B1
Y=A2 X+B2 Не пересекаются: A1=A2, B1!=B2 - чтоб не совпадали. |
Сообщ.
#3
,
|
|
|
ничего не понял )))
|
Сообщ.
#4
,
|
|
|
2 Chief, у тебя под линией что понимаеться? Прямая?
Две прямые не пересекаються только если они паралельны и не совпадают иначе они пересекаються.... Или может у тебя отрезки? |
Сообщ.
#5
,
|
|
|
есть два отрезка, каждый описан двумя парами координат. нужно определить есть ли точка пересечения у этих отрезков.
|
Сообщ.
#6
,
|
|
|
2 Chief
Цитата Есть 2 отрезка: X1,Y1-X2,Y2 и X3,Y3-X4,Y4. Они пересекаются, если (((X3-X1)*(Y2-Y1)-(Y3-Y1)*(X2-X1))*((X4-X1)*(Y2-Y1)-(Y4-Y1)*(X2-X1))<=0) AND (((X1-X3)*(Y4-Y3)-(Y1-Y3)*(X4-X3))*((X2-X3)*(Y4-Y3)-(Y2-Y3)*(X4-X3))<=0) или, эти отрезки лежат на одной прямой, и их проекции на оси координат пересекаются. |
Сообщ.
#7
,
|
|
|
спасибо
|
Сообщ.
#8
,
|
|
|
А как узнать в какой точке они пересекутся?
|
Сообщ.
#9
,
|
|
|
решить уравнение
A1 X+B1=A2 X+B2, подставить X в любое из уравнений прямых PS: вроде бы это еще в школе проходят, классе в восьмом... |
Сообщ.
#10
,
|
|
|
Ну как бы для отрезков будет немного посложнее simplevolk почитай http://alglib.sources.ru/obsolete/geometry/sectint.php
|
Сообщ.
#11
,
|
|
|
int0, ну как бы для отрезков будет ровно так же. плюс проверка что точка пересечения в границах отрезков, см. выше
|