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

Материал из GIS-Lab
Перейти к навигации Перейти к поиску
Строка 19: Строка 19:
|[[Image:trimesh_bi1.png|frame|c|center|Первая бисекция]]
|[[Image:trimesh_bi1.png|frame|c|center|Первая бисекция]]
|[[Image:trimesh_bi2.png|frame|c|center|Вторая бисекция]]
|[[Image:trimesh_bi2.png|frame|c|center|Вторая бисекция]]
|- valign="bottom"
|[[Image:trimesh_tri.png|frame|c|center|Трисекция]]
|}
|}


Строка 24: Строка 26:


Исходный треугольник делится на девять треугольников нового поколения. В результате трисекции каждая сторона делится на три равных отрезка, в концы которых вставляются вершины. Итого шесть новых вершин, и седьмая вставляется в геометрический центр треугольника. Вершины соединяются рёбрами, образующими треугольники.
Исходный треугольник делится на девять треугольников нового поколения. В результате трисекции каждая сторона делится на три равных отрезка, в концы которых вставляются вершины. Итого шесть новых вершин, и седьмая вставляется в геометрический центр треугольника. Вершины соединяются рёбрами, образующими треугольники.
[[Image:trimesh_tri.png|frame|c|left|Трисекция]]


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

Версия от 14:05, 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 задаёт число отрезков.

Ссылки

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