Преобразование треугольников в четырехугольники
Может ли кто то помочь с преобразованием треугольников в четырехугольники? Сам плохо в этом разбираюсь, но нужно сделать свою функцию для этого (язык программирования не имеет значения).
Есть список полигонов вида:[[0, 1, 2], [2, 1, 3]. ] и вершин [0.1, 0.2, 0.1. ]
Могу заплатить за помощь или готовое решение.
На сайте c 06.02.2012
Сообщений: 881
Калининград
первое же видео на ютубе
Репутация: 0
На сайте c 06.09.2018
Сообщений: 3
Тверь
Цитата Motocat:
первое же видео на ютубе
Мне нужен алгоритм, в максе я знаю как это сделать.
На сайте c 31.01.2011
Сообщений: 273
город Хряков
Цитата Motocat:
первое же видео на ютубе
Я так понял, ТС спрашивает про алгоритм, а не про какую кнопку нажать.
Цитата EugeneEx:
Может ли кто то помочь с преобразованием треугольников в четырехугольники? Сам плохо в этом разбираюсь, но нужно сделать свою функцию для этого (язык программирования не имеет значения).
Есть список полигонов вида:[[0, 1, 2], [2, 1, 3]. ] и вершин [0.1, 0.2, 0.1. ]
Могу заплатить за помощь или готовое решение.
Не на том форуме вопрос.
Я так понял, вам нужен алгоритм. Если так, то советую поискать на хабре, наверняка где-то есть уже написанное решение.
Ну или давайте разберемся 🙂
У вас есть массив треугольников, каждый треугольник имеет вид [1, 2, 3] — массив из трех точек.
Нужно получить на выходе массив четырехугольников. Четырехугольник — это два треугольника. Соответствнно, на выходе у вас будет массив вида
треугольник1[точка1, точка2, точка3],
треугольник2[точка1, точка2, точка3]
треугольник1[точка1, точка2, точка3],
треугольник2[точка1, точка2, точка3]
четырехугольник2[треугольник1[точка1, точка2, точка3],треугольник2[точка1, точка2, точка3]],
Таким образом, Вам надо найти пары треугольников, имеющие общую грань.
Для того, чтобы этого достичь, самый простой, прямой и медленный путь выглядит так:
1. Создаем пустой массив, заготовку под конечный результат.
2. Начинаем перебор всех треугольников исходного массива.
3. Для каждого треугольника перебираем все остальные треугольники исходного массива, ищем такой, с которым у текущего треугольника есть общая грань (две общих точки).
4.1. Если не нашли пару — это изолированный треугольник. Убираем его в отдельный массив изолированных треугольников.
4. Если нашли пару, тогда оба треугольника удаляем из массива, и создаем элемент массива результатов — квад, состоящий из двух найденных треугольников.
5. Ищем следующий треугольник для анализа. Для этого нужно сделать два шага:
5.1 перебираем уже найденные квады, пробуем найти к каждому их треугольнику прилегающий треугольник в исходном массиве (так же, как в пункте 3). Если поиск удался — повторяем алгоритм с шага 3 для найденного треугольника из исходного массива.
5.2 если смежный треугольник в исходном массиве не найден — берем первый оставшийся треугольник исходного массива, и повторяем для него процедуру с шага 3.
6. Повторяем процедуру до тех пор, пока в исходном массиве остаются любые треугольники.
Таким образом, на входе у нас есть исходный массив треугольников, на выходе мы получаем массив квадов, каждый из которых состоит из двух треугольников, и массив треугольников, не имеющих смежных (см. видео выше — там видно, что после квадификации осталось несколько треугольников, которые «не пригодились»).
Ладно, вот вам пдф, там английский язык и уйма математики, но в разделе 3.1 — алгоритмы квадификации 🙂
Как из 4 треугольников сделать один треугольник? Как из 4 треугольников сделать четырёхугольник?
смотри глазоньками.

Остальные ответы
Капец. Сложить их вершинами о одну точку)
NaumenkoВысший разум (856829) 8 лет назад
не получится!
НУР.Мастер (1790) 8 лет назад
НУР.Мастер (1790) 8 лет назад
тут посмотри
Виктория ДубинаЗнаток (273) 8 лет назад
НУР. Мастер (1790) А Вы зашли?
Похожие вопросы
Ваш браузер устарел
Мы постоянно добавляем новый функционал в основной интерфейс проекта. К сожалению, старые браузеры не в состоянии качественно работать с современными программными продуктами. Для корректной работы используйте последние версии браузеров Chrome, Mozilla Firefox, Opera, Microsoft Edge или установите браузер Atom.
Как из треугольника сделать четырехугольник
Начертите два четырехугольника с вершинами в узлах сетки, из которых можно сложить а) как треугольник, так и пятиугольник; б) и треугольник, и четырехугольник, и пятиугольник. Покажите, как это можно сделать.
Решение
Один из возможных примеров показан на рис..
Источники и прецеденты использования
| олимпиада | |
| Название | Математический праздник |
| год | |
| Год | 2009 |
| Класс | |
| Класс | 7 |
| задача | |
| Номер | 5 |
Проект осуществляется при поддержке и .
Сделать из треугольника прямоугольник
Есть ли в природе простые графические способы сделать например из треугольника площадью Х прямоугольник такой же площади или круг или квадрат.
#1
17:47, 5 фев 2017
qwaqwe
еще проще чем посчитать площадь треугольника и потом создать с такой площадью круг или квадрат? о_О
#2
17:49, 5 фев 2017
qwaqwe
> Есть ли в природе простые графические способы сделать например из треугольника
> площадью Х прямоугольник такой же площади или круг или квадрат.
geometry shader for rescue!
Хватаешь треугольник — считаешь его площадь + усредненную позицию трёх вершин.
Генеришь прямоугольник.
DONE, вы прекрасны.
#3
17:57, 5 фев 2017
Простите, не так обяснил.
Графическое исполнение имелось ввиду, прямоугольник перетекает в квадрат, квадрат в круг и тд.
#4
18:04, 5 фев 2017
морфинг точек по набору шаблонов самое простое) иметь обарзец когда из этих точек построен треугольник, круг, прямоугольник итд.
потом интерполировать точки фигуры в шаблоны. остальное не входит в «простые способы»
#5
18:07, 5 фев 2017
Да, вроде морфинг точек подходит.
ПОдскажите пожалуйста где можно посмотреть с примерами.
#6
9:37, 6 фев 2017
qwaqwe
А что тут сложного. Интерполируешь в шейдере позийию точек и всё.
#7
12:02, 6 фев 2017
HplusDiese
> Интерполируешь в шейдере позийию точек и всё.
Было три точки (треугольник), а стало 100500 (круг).
#8
12:05, 6 фев 2017
Mikle
Треугольник придется делать из стольких же точек. Ежу понятно.