Pull to refresh

3d проекции

Design
Французская компания Easyweb занимается созданием трехмерных проекций на фасадах зданий, оживляя обыденные урбанистические декорации. Возможно, именно эта технология в скором будущем изменит, столь привычный нам, городской пейзаж.
Total votes 93: ↑85 and ↓8 +77
Views 1.8K
Comments 58

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

Website development *JavaScript *Vector graphics *Canvas *
Sandbox
Решил написать пост о популярном нынче 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
Views 7.2K
Comments 3

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

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

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

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

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

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

Использование вулканизации для polymer-модулей

Website development *JavaScript *
Tutorial
polymerjs vulcanize

Проекте, над которым я сейчас работаю, имеет виджетоподобную клиентскую архитектуру. Причем виджеты системы могут использовать любую библиотеку для своей реализации, например, ReactJS, PolymerJS, VueJS, d3JS и другие. Несколько виджетов системы реализованы, как раз, как вэб-компоненты на базе PolymerJS.

Поэтому предлагаю вашему вниманию один из подходов для оптимизации polymer-виджетов.



Содержание:


1. Описание проблемы
2. Какие сложности возникают?
3. Как их можно решить?
4. Библиотека vulcanize-polymer-module
4.1. Структура
4.2. Описание bower.json
4.3. Описание package.json
4.3.1. Установка утилит
4.3.2. Настройка RollupJS
4.4. vulcanize-utils.js
5. Выводы
Читать дальше →
Total votes 12: ↑10 and ↓2 +8
Views 2.7K
Comments 6

Как мы учились находить заказы по пути домой

Ситимобил corporate blog Python *Machine learning *

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

Нам жаловались на некоторые предложения: водители считали, что им предлагают заказы не по пути. Поэтому они часто отказывались от заказа после подачи автомобиля, что приводило к плохому пользовательскому опыту и у водителей, и у пассажиров. Мы решили пересмотреть алгоритм. Самый сложный вопрос в этой задаче — «что такое по пути?». Оказалось, каждый водитель понимает это по-своему.

Мы поделимся опытом решения этой аналитической задачи с геоданными. Расскажем, как мы собирали информацию, какие алгоритмы легли в основу текущей версии и с какими сложностями сталкивались в процессе.

Поехали
Total votes 27: ↑27 and ↓0 +27
Views 4.6K
Comments 8