Войти
ПрограммированиеФорум2D графика и изометрия

Зачем нужна триангуляйия, что она даёт?

Страницы: 1 2 Следующая »
#0
10:31, 15 ноя. 2013

Приветствую, объясните на пальцах, зачем нужна триангуляция, т.е разбиение многоугольника на треугольники? Т.е например есть у меня полигон(многоугольник), для чего мне делать триангуляцию. Ну разбил я его на кучу треугольников, а дальше что? для чего её использовать?  Изображение


#1
10:56, 15 ноя. 2013

Рисовать

#2
11:05, 15 ноя. 2013

Я имел ввиду прикладной уровень, т.е например использование её в программах. Я знаю, что GPU её использует, но это дела "железные" )

#3
11:17, 15 ноя. 2013

Современные API не умеют рисовать что-то, кроме треугольников (я знаю про GL_QUADS). Кроме треугольников ты это никак не отрисуешь. А так что нравится, то и используй.

#4
13:08, 15 ноя. 2013

xterro
> Приветствую, объясните на пальцах, зачем нужна триангуляция, т.е разбиение многоугольника на треугольники?
треугольник - это ограниченная ребрами плоскость.

> Т.е например есть у меня полигон(многоугольник)
Полигон можно представить и не плоскостью.

Дальше я думаю понял.

> Ну разбил я его на кучу треугольников, а дальше что? для чего её использовать?
Рисовать. Потому что
> Современные API не умеют рисовать что-то, кроме треугольников

> я знаю про GL_QUADS
Рассматривается как плоскость. На аппаратном уровне работает только с треугольниками.

Плоскость нужна чтобы проще делать растеризацию.

#5
15:03, 15 ноя. 2013

xterro
> Я имел ввиду прикладной уровень, т.е например использование её в программах
Например, посчитать нормали (в случае выпуклой поверхности).

#6
15:24, 15 ноя. 2013

Sergio
> Например, посчитать нормали (в случае выпуклой поверхности).
А в чем проблема подсчитать без триангуляции?

#7
15:41, 15 ноя. 2013

MrShoor
> Sergio
> > Например, посчитать нормали (в случае выпуклой поверхности).
> А в чем проблема подсчитать без триангуляции?

Ну если у тебя плоскость задана какой-то ф-цией, то можешь посчитать и без триангуляции, а если ф-ции нету, а есть просто полик, тогда надо триангулировать, чтобы получить однозначные координаты для всех точек его поверхности. Плоскость в пространстве довольно же проблематично представить более чем тремя точками, не?

#8
16:33, 15 ноя. 2013

А можно ли её использовать для заливки полигона с "дырами"?

#9
17:10, 15 ноя. 2013

Просто так ничего триангулировать не надо. Триангуляция ради триангуляции не нужна.
Триангуляция, обычно -- это способ подразделения большой сложной задачи на более мелкие и простые.
Например, чтобы посчитать площадь полигона -- его можно триангулировать и сложить площади всех получившихся треугольников.
Короче, когда оно понадобится, то и вопросы такие отпадут.

#10
17:18, 15 ноя. 2013

Afadeev
> Короче, когда оно понадобится, то и вопросы такие отпадут.
+1

#11
17:49, 15 ноя. 2013
Ну если у тебя плоскость задана какой-то ф-цией, то можешь посчитать и без триангуляции, а если ф-ции нету, а есть просто полик, тогда надо триангулировать, чтобы получить однозначные координаты для всех точек его поверхности. Плоскость в пространстве довольно же проблематично представить более чем тремя точками, не?
Однозначные координаты всех точек поверхности нам уже заданы, полигоном. Триангуляция и нахождение усредненной нормали в точках - разные задачи, и могут решаться независимо друг от друга.
#12
18:12, 15 ноя. 2013

> Ну если у тебя плоскость задана какой-то ф-цией
А если не плоскость?

#13
18:17, 15 ноя. 2013
Просто так ничего триангулировать не надо. Триангуляция ради триангуляции не нужна.

Возможно, просто пытаюсь разобраться что это такое и можно ли её применить для моего случая - 2D полигон с "дырами". Нужно залить цветом(а также паттерном) и высчитать площадь :)
#14
18:43, 15 ноя. 2013

xterro
> и можно ли её применить для моего случая - 2D полигон с "дырами"
Можно и сюда применить. Но это тоже будет "триангуляция ради триангуляции".
Заливать можно и поточечно, а площади считать аналитически.

Страницы: 1 2 Следующая »
ПрограммированиеФорум2D графика и изометрия

Тема в архиве.