GIS-LAB

Географические информационные системы и дистанционное зондирование


Форумы GIS-Lab.info

Геоинформационные системы (ГИС) и Дистанционное зондирование Земли


Создание треугольных сеток на сфере

Обсуждение материалов сайта: вопросы, замечания, предложения

Создание треугольных сеток на сфере

Сообщение Игорь Белов » 22 апр 2014, 23:25

Хотел написать заметку, получилась статья. Возможно, это совсем не то, что нужно. Прошу посмотреть и высказаться.

====
P. S. от 07.06.2014
Статья опубликована.
  • 4

Последний раз редактировалось Игорь Белов 17 июн 2014, 22:49, всего редактировалось 1 раз.
Игорь Белов
Гуру
 
Зарегистрирован: 04 янв 2011
Откуда: Казань (на карте)
 
Сообщения: 1277
Репутация: 762
Статьи: 12
Проекты: 1

Re: Создание треугольных сеток на сфере

Сообщение Boris » 02 июн 2014, 01:32

Спасибо за статью!
У меня она вызвала интерес, т.к. я как раз сам задумался о создании покрытия из близких по форме и площади фигур. Позволю высказать свои замечания, скорее вопросы, т.к. я не все понял:
1. статья посвящена построению сетки равносторонних (или близких к ним) или разделению уже существующего треугольника?
2. в тексте есть несколько оценок "не правильности" или "не тождественности" получаемых фигур. хотелось бы понять масштабы этой неоднородности или увидеть ссылку на документ, где это расшифровывается.
3. если можно:
- то в координатах "икосаэдра" укажите дробную (или иррациональную) функцию, которая образует дробь, т.к. разные программы имеют различную внутреннюю точность расчетов.
- для фразы
Внутренний угол треугольников, сходящихся в вершине икосаэдра, равен 72° при эталонном 60°.
расшифруйте, что именно это означает, и какие последствия дает.
4.
Можно собрать тройки соседних вершин и на каждом треугольнике программой triangulate построить сетку. Однако с частью граней возникает проблема разрыва, поскольку выходные долготы находятся в диапазоне от −180° до +180°.
Если я понял правильно статью, то эту проблему вы предлагаете решить построением сетки на 4-х треугольниках, а при "размножении" результатов использовать ПО, которое учтет эту проблему?
5.
В качестве координатной системы указана «долгота/широта неопределённая»: "CoordSys Earth Projection 1, 0"
- поскольку в тексте всплывает отсылка к Mapinfo, то данное определение неточно. В Mapinfo определение "CoordSys Earth Projection 1, 0" означает "внутренняя система координат Mapinfo, выражаемая в градусах, которая начиная с версии 4.5 совпадает с WGS84".
6. пример в самом конце дан в SHP файлах :( , хотя по тексту ожидаешь его в MIF/MID, - это критично, потому как MIF можно посмотреть "глазами", что бы оценить что получилось, а SHP уже требует наличия ГИС.
7. не понял как физически получен результат icos4.zip. В том плане, что лично мне интересно получить покрытие из близких к равностороннему схожих по размеру треугольников, которые бы можно было считать плоскими на земной поверхности (для себя я бы определил из как вписанные к круг радиуса 20 км или имеющих грань меньше (20000*cos (π/6)).
Еще раз спасибо за статью.
  • 0

Boris
Гуру
 
Зарегистрирован: 10 апр 2006
Откуда: Париж (на карте)
 
Сообщения: 3867
Репутация: 328
Статьи: 3
Проекты: 1

Re: Создание треугольных сеток на сфере

Сообщение Игорь Белов » 17 июн 2014, 00:19

Борис, спасибо за внимание к этой заметке. Постараюсь ответить на Ваши вопросы, извините за задержку.
Boris писал(а):1. статья посвящена построению сетки равносторонних (или близких к ним) или разделению уже существующего треугольника?

Разделению существующего. Предполагается расположить базовые треугольники такие, какие нам нравятся, так, как нам нравится, и затем раздробить их на мелкие.

Boris писал(а):2. в тексте есть несколько оценок "не правильности" или "не тождественности" получаемых фигур. хотелось бы понять масштабы этой неоднородности или увидеть ссылку на документ, где это расшифровывается.

На самом деле оценка одна. В постановку задачи я добавил сноску: «Эталон - равносторонний треугольник, в котором, как следствие, равны углы. Количественной мерой близости к эталону может быть, например, отношение синусов длин короткой и длинной сторон. Оно же равно отношению синусов наименьшего и наибольшего углов.»

Boris писал(а):3a. в координатах "икосаэдра" укажите дробную (или иррациональную) функцию, которая образует дробь, т.к. разные программы имеют различную внутреннюю точность расчетов.

Немного сферической тригонометрии, и вот формула для длины a ребра сферического икосаэдра:
cos a/2 = cos 60° / sin 36° = sqrt((5 + sqrt(5)) / 10)

Если две вершины совместить с полюсами, широты остальных будут
φ = ±(90° − a)

SpeedCrunch рисует для широт такие цифры:
Код: Выделить всё
90-degrees(acos(cos(radians(60))/sin(radians(36))))*2
26.56505117707798935157219372045329467120421429964522

90-degrees(acos(sqrt((5+sqrt(5))/10)))*2
26.56505117707798935157219372045329467120421429964522

Думаю, эта школьная информация будет лишней в статейке.

Boris писал(а):3b. для фразы «Внутренний угол треугольников, сходящихся в вершине икосаэдра, равен 72° при эталонном 60°.» расшифруйте, что именно это означает, и какие последствия дает.

Ну, это просто факт, связанный со вопросом №2 об искажениях. Возможно, следует для сравнения привести значения угла при вершине 90° для октаэдра и 120° для тетраэдра. Но лучше, думаю, просто удалить эту фразу. Что скажете?

Boris писал(а):4. «Можно собрать тройки соседних вершин и на каждом треугольнике программой triangulate построить сетку. Однако с частью граней возникает проблема разрыва, поскольку выходные долготы находятся в диапазоне от −180° до +180°.» Если я понял правильно статью, то эту проблему вы предлагаете решить построением сетки на 4-х треугольниках, а при "размножении" результатов использовать ПО, которое учтет эту проблему?

Именно так.

Boris писал(а):5. «В качестве координатной системы указана «долгота/широта неопределённая»: "CoordSys Earth Projection 1, 0"» - поскольку в тексте всплывает отсылка к Mapinfo, то данное определение неточно. В Mapinfo определение "CoordSys Earth Projection 1, 0" означает "внутренняя система координат Mapinfo, выражаемая в градусах, которая начиная с версии 4.5 совпадает с WGS84".

Спасибо за ценное замечание, поправил текст.

Boris писал(а):6. пример в самом конце дан в SHP файлах :( , хотя по тексту ожидаешь его в MIF/MID, - это критично, потому как MIF можно посмотреть "глазами", что бы оценить что получилось, а SHP уже требует наличия ГИС.
7. не понял как физически получен результат icos4.zip.

MIF/MID генерировались программами triangulate и shiftxy. Действительно ли примеры выходых файлов нужны в дополнение к длинным листингам? Лично мне было бы интереснее скомпилировать коды и щупать собственноручно сгенерированные MIF'ы.
А результаты получены из MIF'ов в процессе ручной сборки в QGIS, потому и в формате SHP.

Boris писал(а):лично мне интересно получить покрытие из близких к равностороннему схожих по размеру треугольников, которые бы можно было считать плоскими на земной поверхности (для себя я бы определил из как вписанные к круг радиуса 20 км или имеющих грань меньше (20000*cos (π/6)).

Утилита разбивки базового треугольника triangulate с ходу выделяет уйму памяти под вершины, рёбра и фасетки. Может быстро упереться в ограничение системы. С Вашими цифрам, вроде, должно получиться. Иначе придётся решать задачу несколько сложнее.
  • 0

Игорь Белов
Гуру
 
Зарегистрирован: 04 янв 2011
Откуда: Казань (на карте)
 
Сообщения: 1277
Репутация: 762
Статьи: 12
Проекты: 1

Re: Создание треугольных сеток на сфере

Сообщение Boris » 17 июн 2014, 12:05

Спасибо за разъяснения и за статью.
3а: формулы с косинусами вполне достаточно
3b: да, стоит удалить.
  • 0

Boris
Гуру
 
Зарегистрирован: 10 апр 2006
Откуда: Париж (на карте)
 
Сообщения: 3867
Репутация: 328
Статьи: 3
Проекты: 1

Re: Создание треугольных сеток на сфере

Сообщение Игорь Белов » 17 июн 2014, 21:52

Boris писал(а):3а: формулы с косинусами вполне достаточно
3b: да, стоит удалить.

Сделано, формула добавлена, предложение удалено. Спасибо!
  • 0

Игорь Белов
Гуру
 
Зарегистрирован: 04 янв 2011
Откуда: Казань (на карте)
 
Сообщения: 1277
Репутация: 762
Статьи: 12
Проекты: 1


Вернуться в Материалы сайта

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0


(Геокруг)

© GIS-Lab и авторы, 2002-2013. При использовании материалов сайта, ссылка на GIS-Lab и авторов обязательна. Содержание материалов - ответственность авторов (подробнее).