Пересечение линий. - C#

Узнай цену своей работы

Формулировка задачи:

Здраствуйте. Прошу помощи в не легком курсовом проекте. Делаю триангуляцию случайных точек. Помогите пожалуйста определить пересекаются ли отрезки (знаем координаты X и Y для каждой точки (Не Point'ы)). Текст из рисунка: "Это 4ая точка, которая была поставлена на плоскости, а это значит, что вот этой линии быть недолжно... Как же проверить эти линии на пересечение?" Заранее спасибо. Надеюсь на вашу помощь, так как завтра нужно сдавать. Сам сделал все что мог. Опыта не хватает =(

Решение задачи: «Пересечение линий.»

textual
Листинг программы
            if ((div = (int)((double)dy2 * dx1 - (double)dx2 * dy1)) == 0)
                return false; // Линии параллельны...
            if (div > 0)
            {
                if ((mul = (int)((double)dx1 * dyy - (double)dy1 * dxx)) < 0 || mul > div)
                    return false; // Первый отрезок пересекается за своими границами...
                if ((mul = (int)((double)dx2 * dyy - (double)dy2 * dxx)) < 0 || mul > div)
                    return false; // Второй отрезок пересекается за своими границами...
            }
 
            if ((mul = -(int)((double)dx1 * dyy - (double)dy1 * dxx)) < 0 || mul > -div)
                return false; // Первый отрезок пересекается за своими границами...
            if ((mul = -(int)((double)dx2 * dyy - (double)dy2 * dxx)) < 0 || mul > -div)
                return false; // Второй отрезок пересекается за своими границами...

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.455 из 5
Похожие ответы