Пересечение линий. - 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; // Второй отрезок пересекается за своими границами...

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

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

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