Борис, спасибо за внимание к этой заметке. Постараюсь ответить на Ваши вопросы, извините за задержку.
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 с ходу выделяет уйму памяти под вершины, рёбра и фасетки. Может быстро упереться в ограничение системы. С Вашими цифрам, вроде, должно получиться. Иначе придётся решать задачу несколько сложнее.