Форум программистов, компьютерный форум, киберфорум
Наши страницы

Выявить все треугольники, не пересекающиеся с другими треугольниками этого набора - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Дебильные указатели http://www.cyberforum.ru/cpp-beginners/thread1195058.html
Здравствуйте, граждане. Я начинающий программист на AcrionScript. Но в универе учу С++ и понимаю, что нужно освоить и этот язык, чтобы считать себя полноценным программистом. Но я не могу разобраться...
C++ Выделение памяти. Создать шаблонный класс-матрица Я считываю с файла значения от 1 до 1000000,а потом в методе "copycolumn" копирую одну колонку из матрицы в другой массив. Программа запускается,долго выполняется и потом выдает сообщения,что там... http://www.cyberforum.ru/cpp-beginners/thread1195052.html
C++ Односвязным списком вывод информации
Я хочу присвоить Х = 6 и вывести список что-то ничего не получается #include <iostream> #include <conio.h> using namespace std; struct number { int x; };
Уборка мусора из double C++
Подскажите, как убрать мусор из числа типа double. Например число 13 на самом деле не 13, а 13.00000001.
C++ Ткните лицом в ошибку в коде http://www.cyberforum.ru/cpp-beginners/thread1195016.html
В общем написал код для данного задания: "Задать два массива целых чисел с помощью датчика случайных чисел. Создать третий массив из индексов повторяющихся элементов исходных массивов (индексы...
C++ Считывание из файла С++ Программа, которая считывает текст из файла и выводит его на экран, заменив цифры от "0" до "9" словами (ноль, один два), начиная каждое предложение с новой строки. Есть код, но не работает. Что не... подробнее

Показать сообщение отдельно
Kykylllka
0 / 0 / 0
Регистрация: 17.05.2014
Сообщений: 12

Выявить все треугольники, не пересекающиеся с другими треугольниками этого набора - C++

31.05.2014, 23:42. Просмотров 369. Ответов 6
Метки (Все метки)

Всем привет!

Пишу курсовик, столкнулся проблемой на самом важном пункте моей поставленной задачи: На плоскости имеется набор треугольников. Выявить все треугольники, не пересекающиеся с другими треугольниками этого набора.

Перелопатил весь интернет в поисках решения, ничего не нашёл, вообще ничего, все пишут про пересечение отрезков и останавливаются на этом.

Я понял, что надо подходить к решению через определение пересечения отрезков треугольника, написал алгоритм:

C++
1
2
3
4
5
float v1 = (stprov[j+1].X-stprov[i+1].X)*(stprov[i].Y-stprov[i+1].Y)-(stprov[j+1].Y-stprov[i+1].Y)*(stprov[i].X-stprov[i+1].X);
float v2 = (stprov[j+1].X-stprov[i+1].X)*(stprov[j].Y-stprov[i+1].Y)-(stprov[j+1].Y-stprov[i+1].Y)*(stprov[j].X-stprov[i+1].X);
float v3 = (stprov[j].X-stprov[i].X)*(stprov[i+1].Y-stprov[i].Y)-(stprov[j].Y-stprov[i].Y)*(stprov[i+1].X-stprov[i].X);
float v4 = (stprov[j].X-stprov[i].X)*(stprov[j+1].Y-stprov[i].Y)-(stprov[j].Y-stprov[i].Y)*(stprov[j+1].X-stprov[i].X);
if (((v1*v2)<0) && ((v3*v4)<0)) ...
Он вроде рабочий, но основная проблема состоит в том, что я не могу его реализовать для треугольника, а тем более для множества треугольников... Я перепробовал множество вариантов решения этой проблемы, но всё не то, всё не так.

У меня дело обстоит так, что я ввожу данные 3-мя способами: рандом, с файла, в ручную и по этим данным строю треугольники. Данные о координатах каждой точки находятся в структуре и к ним надо обращаться.
И каждый раз новые проблемы которые я ни как не могу обойти. Я не буду их описывать, я прошу у вас помощи, подкиньте идей, или просто пруф на спрятанную в самых недрах интернета страницу с решением поставленной задачи.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru