Pull to refresh
8
0
Григорий Еремин @egaxegax

Программирование

Send message

Сайт с поддержкой markdown на GitHub-Pages платформе

Level of difficulty Easy
Reading time 2 min
Views 4.5K

Хочу рассказать о своём новом (хотя существует уже почти 3 года) сайте egaxegax.github.io, после закрытия предыдущего сайта egaxegax.appspot.com на хостинге Google App Engine в начале 2021 года. О нём я писал в статье Cайт на Django-nonrel на платформе Google App Engine для Python. Эта статья рассчитана на тех, кто хочет узнать или получить простой сайт с возможностью добавления и правки контента на основе создания markdown-постов.

Читать далее
Total votes 15: ↑3 and ↓12 -9
Comments 11

Добавление расчёта пути к схеме метро Москвы из Википедии

Level of difficulty Easy
Reading time 3 min
Views 3.2K

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

Для этого решил адаптировать не алгоритм к схеме, а схему к алгоритму. Поскольку алгоритм BFS использует перебор массивов станций, координат линий и пересадок, то нужно было распарсить схему из Википедии в массивы: для этого я написал различные варианты CSS-селекторов.

Читать далее
Total votes 9: ↑9 and ↓0 +9
Comments 8

Карта метро Москвы с расчётом пути

Level of difficulty Easy
Reading time 2 min
Views 10K

В своей предыдущей статье про интерактивную карту метро Москвы я описывал процесс создания векторной карты на svg-движке, сравнивая с канвасным отображением.

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

Читать далее
Total votes 6: ↑5 and ↓1 +4
Comments 14

Cайт на Django-nonrel на платформе Google App Engine для Python

Reading time 3 min
Views 8.8K
В этой статье я хочу немного рассказать о разработке своего проекта — сайта egaxegax.appspot.com.

Поскольку являюсь большим поклонником языка Python, свой сайт я решил создать на популярном фреймворке Django. Чтобы использовать его на бесплатном хостинге appspot.com, адаптировал код для использования NoSQL версии Django и платформы Google App Engine (GAE).

Читать дальше →
Total votes 17: ↑6 and ↓11 -5
Comments 6

Карта метро Москвы. SVG-версия

Reading time 2 min
Views 24K
Продолжаю тему разработки векторной (по координатам в градусах) карты для браузера dbcartajs. В новой версии библиотеки (v2) я перевел отрисовку объектов с канваса на svg. И переделал несколько примеров, в частности карту метро Москвы.

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

image
Читать дальше →
Total votes 19: ↑18 and ↓1 +17
Comments 20

Пересчет изображений под разные картографические проекции в WebGL

Reading time 2 min
Views 8.6K
В посте на своем блоге «gdal_translate и gdalwarp для перепроицирования изображений» описывался процесс получения картинок под разные проекции с помощью утилит GDAL. Полученные изображения я использовал как подложки для карт в примерах проекта dbCartajs. Позже, работая над портированием канвасной версии своего планетария на WebGL, описанной в статье «Звездное небо на WebGL с использованием Three.js» на Хабре, у меня возникла мысль со временем перенести не только глобус, но и плоские на карты на WebGL, используя вместо фона текстуры. То есть для создания карты обойтись только использованием браузера и JavaScript без использования серверных компонентов.

image
Читать дальше →
Total votes 18: ↑14 and ↓4 +10
Comments 2

Звездное небо на WebGL с использованием Three.js

Reading time 2 min
Views 21K
В посте про «Звездное небо на Canvas» я уже описывал свой проект, где при помощи JavaScript на канвасе 2d формируется изображение глобуса Земли на фоне звезд, планет и орбит космических аппаратов. Для создания трехмерной картины звездного неба на плоскости я использовал формулы перевода трехмерных координат X, Y, Z отображаемых объектов: звезд, планет, космических аппаратов (КА), — в плоские декартовые координаты X, Y. Основную часть этих формул я взял из проекта Marble из состава KDE. Портированный с C++ на JavaScript код я сохранил в файле starry.js.

Starry Sky 3D
Читать дальше →
Total votes 22: ↑21 and ↓1 +20
Comments 4

Звездное Небо на Canvas. Созвездия

Reading time 2 min
Views 19K
Продолжение темы, начатой в предыдущей статье. Идеей к ее развитию послужило прочтение статьи на Хабре «LibCanvas: На пути к звёздам», где описывается реализация планетария на Canvas с выводом созвездий и планет в геодезической системе координат (с координатами точки наблюдения, азимутом и высотой над горизонтом). В посте автор дает ссылку на базу данных звезд и созвездий, которой я любезно воспользовался. Файл содержит координаты прямого восхождения (Right Ascension, в часах) и склонения (Declination, в градусах) звезд, точек созвездий и их названий. Я перевел их в радианы и сохранил в файл constellations.js для своего «звездного» проекта Starry Sky.

Starry Sky
Читать дальше →
Total votes 29: ↑25 and ↓4 +21
Comments 3

Схема пригородного движения ж/д сообщения Москвы и МО на Canvas

Reading time 2 min
Views 22K
Ещё одна схема движения железнодорожного транспорта с использованием возможностей Canvas и dbCartajs.
Moscow Rail Map

В оригинале она называется Moscow Underground and Commuter Rail Map, её можно видеть в тамбурах подмосковных электричек. Изначально я хотел реализовать именно эту карту в качестве очередного демо к проекту dbcartajs, но в Сети нашёл лишь копию карты, снятую на мобильный телефон с неважным качеством. Зато с легкостью нашел с десяток схем Московского метро. Самая красивая, на мой взгляд, в Википедии, самая неказистая оказалась почему-то у Яндекса с его-то возможностями. Собственно SVG-вариант из Википедии я и переделал под Canvas, о чем писал в предыдущей статье.
Читать дальше →
Total votes 28: ↑23 and ↓5 +18
Comments 22

Карта метро Москвы на Canvas

Reading time 1 min
Views 36K
Идея попробовать нарисовать карту появилась после просмотра карты метро в Википедии в формате SVG. В Firefox она открывается долго, к тому же при разрешении 1600x1300 она не вмещается в экран, а скроллинг по ней работает тоже очень долго. Стало интересно, а в Canvas она тоже будет тормозить? Решил нарисовать свою версию карты метро Москвы в качестве очередного демо для проекта dbcartajs.

image
Читать дальше →
Total votes 73: ↑50 and ↓23 +27
Comments 40

Звездное небо на Canvas

Reading time 2 min
Views 10K
В этой статье я хочу более подробно рассказать о примере Starry Sky (Звездное Небо), реализованном с помощью скриптов dbcartajs (о них написано в предыдущей статье). Он включает в себя идеи других «звездных» проектов, которые были портированы на JavaScript. Рассмотрим их подробнее. Алгоритм формирования звездного неба был позаимствован из проекта Marble KDE (плагин stars), расчет положения планет построен на основе замечательной статьи шведского астронома Поля Шлетера, модель движения космических аппаратов SGP4/SDP4 предоставлена модулем satellite-js, формулы солнечного терминатора (ночной зоны) взяты с астрономического форума. Вид орбит как эллипсов (мгновенная орбита) подсмотрен у Сelestia.
Starry Sky
Читать дальше →
Total votes 9: ↑7 and ↓2 +5
Comments 3

Карта с проекциями из Proj4js на Canvas

Reading time 2 min
Views 7.5K
Решил написать пост о популярном нынче Canvas из HTML5 и о своем проекте dbcartajs, его использующем. Почему Canvas? Немного истории. Прежде для создания изображений, иллюстрирующих различные расчетные модели (например, вывод окружности по радиусу и центру в координатах, вывод многоугольника с количеством вершин N и площадью S, вывод окружности на сферу и т.д.), я и мои коллеги по работе в институте использовали различные элементы управления из разных сред разработки: PictureBox их VB6, QPainter и QCanvas из Qt, Canvas из Tk и, наконец, создание изображений по mapfile из MapServer. Позже после знакомства с возможностями HTML5 я решил перейти на использование Canvas и Web-разработку с JavaScript. Удобно — для отладки и разработки нужен лишь браузер.
imageimage
Читать дальше →
Total votes 9: ↑9 and ↓0 +9
Comments 3

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity