Создание треугольных сеток на сфере: различия между версиями

Материал из GIS-Lab
Перейти к навигации Перейти к поиску
Строка 11: Строка 11:
Назовём бисекциями операции деления исходного треугольника на четыре треугольника нового поколения. Собственно термин «бисекция» относится к делению сторон пополам. В середины рёбер вставляются новые вершины (белые точки на рисунках), которые соединяются новыми рёбрами (пунктирные линии), образующими новые треугольники. Следующее поколение получается очередной бисекцией.
Назовём бисекциями операции деления исходного треугольника на четыре треугольника нового поколения. Собственно термин «бисекция» относится к делению сторон пополам. В середины рёбер вставляются новые вершины (белые точки на рисунках), которые соединяются новыми рёбрами (пунктирные линии), образующими новые треугольники. Следующее поколение получается очередной бисекцией.


В терминах геометрии на сфере задача вставки точек в стороны треугольников решается последовательным решением [http://gis-lab.info/qa/sphere-geodesic-invert-problem.html обратной] и [http://gis-lab.info/qa/sphere-geodesic-direct-problem.html прямой] геодезических задач. Однако в данном случае гораздо проще использовать векторную алгебру. Пусть концы стороны заданы векторами '''a''' и '''b'''; тогда середина '''f''' вычисляется как их нормированная сумма:
В терминах геометрии на сфере задача вставки точек в стороны треугольников решается последовательным решением [http://gis-lab.info/qa/sphere-geodesic-invert-problem.html обратной] и [http://gis-lab.info/qa/sphere-geodesic-direct-problem.html прямой] геодезических задач. Однако в данном случае гораздо проще использовать векторную алгебру. Пусть концы стороны заданы векторами '''a''' и '''b'''; тогда средняя точка '''f''' вычисляется как их нормированная сумма:


: <math>\mathbf{f} = \frac{\mathbf{a} + \mathbf{b}}{| \mathbf{a} + \mathbf{b} |}</math>
: <math>\mathbf{f} = \frac{\mathbf{a} + \mathbf{b}}{| \mathbf{a} + \mathbf{b} |}</math>

Версия от 13:06, 16 апреля 2014

Эта страница является черновиком статьи.


Два-три предложения.

Генерация сетки в сферическом треугольнике

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

Метод бисекций

Назовём бисекциями операции деления исходного треугольника на четыре треугольника нового поколения. Собственно термин «бисекция» относится к делению сторон пополам. В середины рёбер вставляются новые вершины (белые точки на рисунках), которые соединяются новыми рёбрами (пунктирные линии), образующими новые треугольники. Следующее поколение получается очередной бисекцией.

В терминах геометрии на сфере задача вставки точек в стороны треугольников решается последовательным решением обратной и прямой геодезических задач. Однако в данном случае гораздо проще использовать векторную алгебру. Пусть концы стороны заданы векторами a и b; тогда средняя точка f вычисляется как их нормированная сумма:

Первая бисекция
Вторая бисекция
Трисекция

Метод трисекций

Исходный треугольник делится на девять треугольников нового поколения. В результате трисекции каждая сторона делится на три равных отрезка, в концы которых вставляются вершины. Итого шесть новых вершин, и седьмая вставляется в геометрический центр треугольника. Вершины соединяются рёбрами, образующими треугольники.

Проще всего вычислить положение центральной точки g:

где a, b и c — векторы вершин исходного треугольника.

Разделить стороны на три равных отрезка сложнее. Простое решение предлагает утилита PROJ.4 geod:

$ geod +a=$earth_radius +lat_1=$lat1 +lon_1=$lon1 +lat_2=$lat2 +lon_2=$lon2 +n_S=3

где параметры lat_1, lon_1, lat_2, lon_2 задают начало и конец линии, а параметр n_S задаёт число отрезков.

Ссылки

Сферические многогранники