Для чего нужна триангуляция
Триангул я ция (от лат. triangulum — треугольник) — один из методов создания опорной геодезической сети.
Состоит в построении рядов или сетей примыкающих друг к другу треугольников и в определении положения их вершин в избранной системе координат. В каждом треугольнике измеряют все три угла, а одну из его сторон определяют из вычислений путём последовательного решения предыдущих треугольников, начиная от того из них, в котором одна из его сторон получена из измерений. Если сторона треугольника получена из непосредственных измерений, то она называется базисной стороной триангуляции. В рядах или сетях триагуляции для контроля и повышения их точности измеряют большее число базисов или базисных сторон, чем это минимально необходимо.
Принято считать, что метод триангуляции изобрёл и впервые применил В. Снеллиус в 1615–17 гг. при прокладке ряда треугольников в Нидерландах для градусных измерений. Работы по применению метода триангуляции для топографических съёмок в дореволюционной России начались на рубеже 18–19 вв. К началу 20 в. метод триангуляции получил повсеместное распространение.
Триангуляция имеет большое научное и практическое значение. Она служит для: определения фигуры и размеров Земли методом градусных измерений; изучения горизонтальных движений земной коры; обоснования топографических съёмок в различных масштабах и целях; обоснования различных геодезических работ при изыскании, проектировании и строительстве крупных инженерных сооружений, при планировке и строительстве городов и т.д.
При построении триангуляции в государственной геодезической сети (ГГС) исходят из принципа перехода от общего к частному, от крупных треугольников к более мелким. В связи с этим триангуляция подразделяется на классы, отличающиеся точностью измерений и последовательностью их построения. В малых по территории странах триангуляция высшего класса строят в виде сплошных сетей треугольников. В государствах с большой территорией (Россия, Китай, Индия, США, Канада и др.) триангуляцию строят по некоторой схеме и программе.
Государственная триангуляция РФ делится на 4 класса (рис.).
Государственная триангуляция 1-го класса строится в виде рядов треугольников со сторонами 20–25 км, расположенных примерно вдоль меридианов и параллелей и образующих полигоны с периметром 800–1000 км. Углы треугольников в этих рядах измеряют высокоточными теодолитами, с погрешностью не более ± 0,7″. В местах пересечения рядов триангуляции 1-го класса измеряют базисы при помощи мерных проволок, причём погрешность измерения базиса не превышает 1 : 1000000 доли его длины, а выходные стороны базисных сетей определяются с погрешностью около 1 : 300 000. После изобретения высокоточных электрооптических дальномеров стали измерять непосредственно базисные стороны с погрешностью не более 1 : 400 000.
Пространства внутри полигонов триангуляции 1-го класса покрывают сплошными сетями треугольников 2-го класса со сторонами около 10–20 км, причём углы в них измеряют с той же точностью, как и в 1-ом классе. В сплошной сети триангуляции 2-го класса внутри полигона 1-го класса измеряется также базисная сторона с указанной выше точностью. На концах каждой базисной стороны 1-го и 2-го классов выполняют астрономические определения широты и долготы с погрешностью не более ± 0,4«, а также азимута с погрешностью около ± 0,5«. Кроме того, астрономические определения широты и долготы выполняют и на промежуточных пунктах рядов триангуляции 1-го класса через каждые примерно 100 км, а по некоторым особо выделенным рядам и значительно чаще.
На основе рядов и сетей триангуляции 1-го и 2-го классов определяют пункты триангуляции 3-го и 4-го классов, причём их густота зависит от масштаба топографической съёмки. Например, при масштабе съёмки 1 : 5000 один пункт триангуляции должен приходиться на каждые 20–30 км 2 . В сетях триангуляции 3-го и 4-го классов погрешности измерения углов не превышают соответственно 1,5« и 2,0«.
В практике допускается вместо триангуляции применять метод полигонометрии. При этом ставится условие, чтобы при построении опорной геодезической сети тем и др. методом достигалась одинаковая точность определения положения пунктов земной поверхности.
Вершины треугольников триангуляции. обозначаются на местности деревянными или металлическими вышками высотой от 6 до 55 м в зависимости от условий местности (см. Сигнал геодезический). Пункты триангуляции в целях долговременной их сохранности на местности закрепляются закладкой в грунт особых устройств в виде металлических труб или бетонных монолитов с вделанными в них металлическими марками (см. Центр геодезический), фиксирующими положение точек, для которых даются координаты в соответствующих каталогах.
Координаты пунктов триангуляции определяют из математической обработки рядов или сетей. Построение триангуляции и её математическая обработка приводят к созданию на всей территории страны единой системы координат, позволяющей ставить топографо-геодезические работы в разных частях страны одновременно и независимо друг от друга. При этом обеспечивается соединение этих работ в одно целое и создание единой общегосударственной топографической карты страны в установленном масштабе.
| ©® СПБ ТЕХНИКУМ ГЕОДЕЗИИ И КАРТОГРАФИИ |
Зачем нужна триангуляйия, что она даёт?
Приветствую, объясните на пальцах, зачем нужна триангуляция, т.е разбиение многоугольника на треугольники? Т.е например есть у меня полигон(многоугольник), для чего мне делать триангуляцию. Ну разбил я его на кучу треугольников, а дальше что? для чего её использовать?
#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 полигон с «дырами»
Можно и сюда применить. Но это тоже будет «триангуляция ради триангуляции».
Заливать можно и поточечно, а площади считать аналитически.
Зачем нужна триангуляция полигона?
Приветствую, объясните на пальцах, зачем нужна триангуляция полигона? например, есть у меня полигон, провёл я над ним скажем триангуляцию Делоне, получил кучу треугольников, а что дальше с этим хозяйством делать? Для чего оно применяется?

xterro ★★★★★
15.11.13 10:50:03 MSK

Например, твой GPU умеет рисовать только треугольники.
monk ★★★★★
( 15.11.13 10:56:45 MSK )

что дальше с этим хозяйством делать?
GPU умеет только треугольники рисовать.
Kosyak ★★★★
( 15.11.13 10:58:52 MSK )
Ответ на: комментарий от Kosyak 15.11.13 10:58:52 MSK

Можно про это чуточку подробнее, что рисовать? Многоугольник? А зачем для его рисования делать триангуляцию, если он задач множеством точек, просто соединив которые мы и получаем многоугольник. Или она как то используется в алгоритмах работы с полигонами?
xterro ★★★★★
( 15.11.13 11:02:15 MSK ) автор топика
Последнее исправление: xterro 15.11.13 11:02:22 MSK (всего исправлений: 1)
Ответ на: комментарий от xterro 15.11.13 11:02:15 MSK

Да, это, я имел ввиду триангуляцию, не на уровне железа, а на прикладном уровне )
xterro ★★★★★
( 15.11.13 11:03:09 MSK ) автор топика
Тебе это не нужно.
dn2010 ★★★★★
( 15.11.13 11:37:26 MSK )
Ответ на: комментарий от xterro 15.11.13 11:02:15 MSK

Если ты хочешь закрасить полигон, то для треугольника расчёты гораздо проще.
xeiph
( 15.11.13 11:43:04 MSK )
Ответ на: комментарий от dn2010 15.11.13 11:37:26 MSK

// а еще я не понял, зачем ТС хочет военно-испытательный полигон триангулировать: геодезией занялся что ли?
Anon
( 15.11.13 11:43:18 MSK )

через 3 точки можно провести плоскость — факт. через 4 — не факт.
bvn13 ★★★★★
( 15.11.13 11:46:19 MSK )

quickquest ★★★★★
( 15.11.13 11:57:34 MSK )
Ответ на: комментарий от xeiph 15.11.13 11:43:04 MSK

Да, кстати, как раз закрасить полигон мне и нужно. Так же в полигоне может быть несколько «дыр». К тому же закрашивать нужно не только сплошным цветом, но и паттерном. Но разве для заливки полигона не применяют специальные алгоритмы(типа построчного или с затравкой?)
xterro ★★★★★
( 15.11.13 12:02:03 MSK ) автор топика

Кстати,
а ты что: нашел нормальную библиотеку триангуляции Делоне? Ато libqhull — какой-то ад!
Anon
( 15.11.13 12:02:19 MSK )
Ответ на: комментарий от xterro 15.11.13 12:02:03 MSK

Что ты называешь «полигоном»? Многоугольник что ли?
Если он с дырками, ты его без триангуляции не зальешь, да.
Anon
( 15.11.13 12:04:28 MSK )
Ответ на: Кстати, от Anon 15.11.13 12:02:19 MSK

Нет, я нашёл только алгоритм ))) у меня сейчас задача «обработать» полигон. На первом этапе пока нужно сделать заливку. Ну и копаясь по форумам и статьям, увидел, что много где упоминается это слово «триангуляция». Погуглил, оказывается это разбиение полигона на треугольники, но непонятно стало, зачем?. Одно дело, если он применяется на уровне железа(раз GPU может только в треугольниках рисовать, мол проще и всё такое), но на прикладном уровне зачем её использовать? Вот и хотел выяснить )
xterro ★★★★★
( 15.11.13 12:05:13 MSK ) автор топика
Ответ на: комментарий от Anon 15.11.13 12:04:28 MSK

Вот, услышал одно применение — заливка полигона, уже понятней 🙂
xterro ★★★★★
( 15.11.13 12:06:53 MSK ) автор топика
Ответ на: комментарий от xterro 15.11.13 12:06:53 MSK

Про другое — отрисовка поверхности трехмерной фигуры — тебе уже говорили. Т.е., скажем, есть у тебя набор точек, принадлежащих «кривой» поверхности и ты ее хочешь отрисовать. Если у тебя равномерная координатная сетка, проблем нет (я такой алгоритм в своей fitsview реализовал): проходишься туда-сюда, рисуя в нечетных проходах треугольники (TRIANLE_STRIP) по часовой, а в четных — против часовой стрелки. Если у тебя N точек по вертикали, то нужно будет сделать всего (N-1) проходов. А вот если точки неравномерно расположены, то тут уже жопа: или интерполируй на равномерную сетку (но тут все равно придется триангулировать, если только не пользуешься интерполяцией ортонормированными полиномами), или сразу триангулируй и отстраивай треугольниками.
Anon
( 15.11.13 12:16:33 MSK )
Ответ на: комментарий от xterro 15.11.13 12:02:03 MSK

Для построчной закраски треугольника очень просто посчитать правую и левую границу строки, а для более сложной формы нужно что-то более хитрое.
xeiph
( 15.11.13 12:18:52 MSK )
Ответ на: комментарий от xeiph 15.11.13 12:18:52 MSK

Т.е по сути чтобы залить полигон с «дырами» нужно: 1. Триангулировать этот полигон, т.е разбить его на треугольники 2. В цикле перебрать эти треугольники и залить каждый так?
xterro ★★★★★
( 15.11.13 12:32:08 MSK ) автор топика
Ответ на: комментарий от xterro 15.11.13 12:32:08 MSK

Может быть можно и по другому, но так точно можно.
xeiph
( 15.11.13 12:34:39 MSK )
Ответ на: Кстати, от Anon 15.11.13 12:02:19 MSK
нашел нормальную библиотеку триангуляции Делоне?
Триангуляция в UX исследованиях: использование нескольких методов

Для запуска UX-исследования нужно убедить стейкхолдеров в его необходимости, и это часто бывает большой проблемой. Помимо опасений, что это будет стоить слишком дорого (что совсем необязательно!) или займет слишком много времени (хотя это может быть и быстро!), у людей, которым не доводилось получать пользу от исследований, часто бывают сомнения, что это поможет, и что результатам можно будет доверять.
Последнее опасение особенно характерно для небольших исследований, когда люди справедливо отмечают, что полученные выводы не могут быть «подтверждены» статистически. С этим аргументом сложно спорить, потому что так и есть. Небольшой размер выборки действительно является ограничением многих качественных UX-исследований. И наоборот, отсутствие контекста и смыслов сильно ограничивают количественные методы, такие как изучение данных аналитики.
Развернуть
UX методы, так и другие имеют свои ограничения. Но опустить руки и бросить заниматься исследованиями — не лучший способ решить эту проблему. Вместо этого лучше всего комбинировать несколько методов, чтобы недостатки одного компенсировались данными из другого. Такой подход называется триангуляцией.
Согласно «Энциклопедии исследовательского дизайна» , триангуляция — это практика использования нескольких источников данных или нескольких подходов к анализу данных для повышения достоверности результатов исследования.
Термин «триангуляция» заимствован из геометрии. Его суть заключается в том, что знание точного местоположения 2-х точек позволяет определить расстояние до третьей. В социальных исследованиях триангуляция не обязательно означает, что вам нужны именно два разных метода, а просто говорит о поиске альтернативных точек зрения или верификации результатов.
По сути, триангуляция означает взгляд на вопрос с другой точки зрения, который позволяет увидеть ранее незаметную часть ответа. Вы, наверное, много раз делали это в повседневной жизни, когда в определённых ситуациях спрашивали чье-то мнение, надеясь, что взгляд со стороны откроет что-то, что вы упускаете из виду.
2. Примеры триангуляции в UX
Триангуляция может принимать разные формы. Она может быть так же проста, как изучение имеющихся данных аналитики и опросов удовлетворенности клиентов.
Триангуляция в юзабилити принимает разные формы. Здесь показаны два примера, как можно триангулировать UX-исследования.
Слева: триангуляция нескольких методов для изучения одного и того же сценария (количественное исследование, качественное исследование и экспертная оценка).
Справа: триангуляция нескольких метрик, связанных с одним и тем же сценарием (показатель удовлетворенности, время на задание и объём выручки).
Развернуть
Некоторые примеры триангуляции исследований:
- Показатели удовлетворенности снижаются ⟶ проверьте, как изменилась выручка и время на задание.
- Количественный юзабилити-тест указывает на низкие показатели успешного завершения задания по форме оформления подписки ⟶ проведите качественное исследование, чтобы понять, где именно пользователи сталкиваются с проблемами.
- Менеджеры по продажам сообщают, что пользователи считают программное обеспечение сложным ⟶ проведите исследование, чтобы выявить юзабилити-проблемы.
- В аналитике наблюдается много ошибок по какому-то функционалу ⟶ проверьте обращения в службу поддержки, чтобы посмотреть, жалуются ли на него клиенты.
- На интервью выявлен неожиданный мотив пользователей к покупке товара/услуги ⟶ проведите опрос, чтобы оценить частотность этого мотива.
- Один исследователь отмечает несколько важных инсайтов в транскриптах интервью ⟶ пусть другой исследователь сделает то же самое отдельно от первого, чтобы проверить, отметит ли он те же инсайты.
3. Когда нужна триангуляция?
Чем важнее решение, тем целесообразнее проводить триангуляцию перед его принятием. Но в конечном итоге вы в любом случае получите еще один источник данных, ищете вы его или нет — это показатели рыночного успеха вашего продукта после внедрения вашего дизайна. Конечно, перерабатывать продукт тогда уже будет гораздо сложнее и дороже.
Предварительная триангуляция снизит вероятность неожиданной реакции ваших пользователей.
Вопрос должен заключаться не в том, «сколько времени мы можем потратить на исследования», а в том, «насколько мы готовы принимать риски проблем или провала».
Развернуть
Дорогостоящие решения, такие как изменение дизайна всего продукта, требуют серьёзной триангуляции, сочетающей сбор и анализ качественных и количественных данных, а также привлечение внешней независимой экспертизы.
Простые, легко исправляемые решения не требуют таких больших вложений. Но опытные команды знают, что стоит потратить как минимум несколько часов, чтобы проверить, как имеющиеся доступные данные соотносятся с выбранным решением.
Проводить триангуляцию намного проще, если ваша UX-команда обладает гибким набором разнообразных навыков. Вам нужен опыт в разных методах, чтобы вы могли их достаточно быстро применить так, чтобы получить полезный результат и при этом не замедлить темпы принятия решений и разработки продукта. В конечном счете, это разнообразие навыков является важным шагом для формирования зрелой UX-культуры, которая позволяет быстро получать ценную и достоверную информацию.