Создание треугольных сеток на сфере: различия между версиями
ErnieBoyd (обсуждение | вклад) м (→Метод бисекций) |
ErnieBoyd (обсуждение | вклад) |
||
Строка 4: | Строка 4: | ||
== Генерация сетки в сферическом треугольнике == | == Генерация сетки в сферическом треугольнике == | ||
В качестве базы для создания сетки используется сферический треугольник, заданный координатами своих вершин. | |||
=== Метод бисекций === | === Метод бисекций === | ||
Назовём бисекциями операции деления исходного треугольника на четыре треугольника | Назовём бисекциями операции деления исходного треугольника на четыре треугольника нового поколения. Собственно термин «бисекция» относится к делению сторон пополам. В середины рёбер вставляются новые вершины (белые точки на рисунках), которые соединяются новыми рёбрами (пунктирные линии), образующими новые треугольники. Следующее поколение получается очередной бисекцией. | ||
{| cellspacing="10" | {| cellspacing="10" | ||
Строка 15: | Строка 17: | ||
|} | |} | ||
В терминах геометрии на сфере задача вставки точек в стороны треугольников решается последовательным решением [http://gis-lab.info/qa/sphere-geodesic-invert-problem.html обратной] и [http://gis-lab.info/qa/sphere-geodesic-direct-problem.html прямой] геодезических задач. Однако в данном случае гораздо проще использовать векторную алгебру. Пусть концы стороны заданы векторами '''a''' и '''b'''; тогда середина ''' | В терминах геометрии на сфере задача вставки точек в стороны треугольников решается последовательным решением [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{ | : <math>\mathbf{f} = \frac{\mathbf{a} + \mathbf{b}}{| \mathbf{a} + \mathbf{b} |}</math> | ||
=== Метод трисекций === | === Метод трисекций === | ||
Исходный треугольник делится на девять треугольников нового поколения. В результате трисекции каждая сторона делится на три равных отрезка, в концы которых вставляются вершины. Итого шесть новых вершин, и седьмая вставляется в геометрический центр треугольника. Вершины соединяются рёбрами, образующими треугольники. | |||
Проще всего вычислить положение центральной точки '''g''': | |||
: <math>\mathbf{g} = \frac{\mathbf{a} + \mathbf{b} + \mathbf{c}}{| \mathbf{a} + \mathbf{b} + \mathbf{c} |}</math> | |||
где '''a''', '''b''' и '''c''' — векторы вершин исходного треугольника. | |||
Разделить стороны на равные отрезки сложнее. Простое решение предлагает утилита '''PROJ.4 geod'''. | |||
== Ссылки == | == Ссылки == |
Версия от 12:37, 16 апреля 2014
Два-три предложения.
Генерация сетки в сферическом треугольнике
В качестве базы для создания сетки используется сферический треугольник, заданный координатами своих вершин.
Метод бисекций
Назовём бисекциями операции деления исходного треугольника на четыре треугольника нового поколения. Собственно термин «бисекция» относится к делению сторон пополам. В середины рёбер вставляются новые вершины (белые точки на рисунках), которые соединяются новыми рёбрами (пунктирные линии), образующими новые треугольники. Следующее поколение получается очередной бисекцией.
В терминах геометрии на сфере задача вставки точек в стороны треугольников решается последовательным решением обратной и прямой геодезических задач. Однако в данном случае гораздо проще использовать векторную алгебру. Пусть концы стороны заданы векторами a и b; тогда середина f вычисляется как их нормированная сумма:
Метод трисекций
Исходный треугольник делится на девять треугольников нового поколения. В результате трисекции каждая сторона делится на три равных отрезка, в концы которых вставляются вершины. Итого шесть новых вершин, и седьмая вставляется в геометрический центр треугольника. Вершины соединяются рёбрами, образующими треугольники.
Проще всего вычислить положение центральной точки g:
где a, b и c — векторы вершин исходного треугольника.
Разделить стороны на равные отрезки сложнее. Простое решение предлагает утилита PROJ.4 geod.
Ссылки
- Задачи на сфере: обратная геодезическая задача
- Задачи на сфере: прямая геодезическая задача
- man_geod – PROJ.4