1. Первым делом записываем уравнение прямой проходящей через две точки: (
http://ru.wikipedia.org/wiki/Прямая)
(y1-y2)x+(x1-x2)y+(x1y2-x2y1)=0, где (x1,y1) и (x2,y2) - две точки.
Теперь уберем равенство нулю и будем иметь функцию f(x,y). Если f(x,y)<0 то (x,y) лежит ниже прямой описываемой двумя точками(x1,y1) и (x2,y2), если равно 0 - то эта точка принадлежит прямой, если > - то выше прямой.
2. Пусть есть отрезок l1, задваемый точками p1 и p2, и отрезок l2,с точками p3,p4. Создаем функцию для первого отрезка f1, и проверяем знаки
f1(p3) и f1(p4). Если они разные - то
прямая f1 и
отрезок l2 пересекаются. осталось, чтобы пересекались отрезки, для этого можно а) сделать то же самое для f2 и p1 и p2 - если пересекаются, то и отрезки пересекаются. б) наделать условий на координаты точек, ну тут можно напутать)))
Соотетственно проверяете пересечение вашего отрезка с каждой стороной квадрата и делаете выводы.
Вариант 2.
Через площадь треугольника. (
http://ru.wikipedia.org/wiki/Треугольник)
По формуле 8 считает площадь треугольника - s1. Потом, по этой же формуле, считаете сумму площадей трех треугольников S3, в каждый из которых входит одна сторона исходного треугольника и исследуемая точка p1. Если s1 = S3, то p1 лежит внутри треугольника, или на его границе, если s1<S3, значит p1 снаружи. Соответственно разбиваете Ваш квадрат на 2 треугольника и проверяете две точки вашего отрезка.
Надеюсь изложил понятно, и с реализацией проблем не возникнет!)) пишите, если что, чем смогу помогу))