В предыдущей части мы разобрались, как выводить на экран двумерные объекты, такие как пиксель и линия (отрезок), но ведь хочется поскорее создать что-то трехмерное. В этой статье впервые попробуем вывести 3D-объект на экран и познакомимся с новыми математическими объектами, такими как вектор и матрица, а также некоторыми операциями над ними, но только с теми, которые применим на практике.
Читать полностью »
Рубрика «обучающий материал»
3D своими руками. Часть 2: оно трехмерное
2020-04-18 в 12:06, admin, рубрики: 3D-программирование, javascript, вектор, матрица, обучающий материал, Работа с 3D-графикойКак создать мультиагентную транспортную модель
2020-03-28 в 19:28, admin, рубрики: java, MATSim, open source, обучающий материал, транспорт, транспортное моделирование, Урбанизм, урбанистикаПривет!
Представим, что у нас есть задача построить новую дорогу. Можно построить магистраль с двумя полосами в каждую сторону, но что, если этого будет недостаточно? Или, наоборот, окажется, что хватило бы и одной полосы, но для реализации проекта пришлось выкупать множество земельных участков? В обоих случаях принятое решение будет неэффективным. Чтобы минимизировать подобные риски, транспортные планировщики обращаются за помощью к компьютерному моделированию. Эта статья – краткий экскурс в мир мультиагентного моделирования.
3D своими руками. Часть 1: пиксели и линии
2020-03-25 в 13:49, admin, рубрики: 3D-программирование, javascript, обучающий материал, Работа с 3D-графикойЭтот цикл статей я хочу посвятить читателям, желающим изучить мир 3D-программирования с нуля, людям, которые хотят узнать основы создания 3D-составляющей игр и приложений. Каждую операцию мы будем реализовывать с чистого листа, чтобы понимать каждый аспект, даже если есть уже готовая функция, которая делает это быстрее. Научившись, мы будем переходить на встроенные инструменты по работе с 3D. По прочтению цикла статей вы поймете как создаются сложные трехмерные сцены со светом, тенями, текстурами и эффектами, как все это сделать без глубоких познаний в математике и многое другое. Сможете все это делать как самостоятельно, так и при помощи готовых инструментов.
Читать полностью »
Пишем свой язык программирования, часть 4: Представление структур и классов, генерация аллокаторов
2019-01-25 в 15:10, admin, рубрики: open source, абстракции, архитектура виртуальных машин, виртуализация, высокая производительность, Компиляторы, мозг, новый язык программирования, обучающий материал, разработка стековой вм, разработка языков программированияДоброго времени суток тем, кто решил ознакомиться с моей очередной статьёй.
Первым делом выкладываю ссылки на предыдущие части:
Часть 1: пишем языковую ВМ
Часть 2: промежуточное представление программ
Часть 3: Архитектура транслятора. Разбор языковых структур и математических выражений
Также стоит выложить ссылки на репозиторий и на небольшую обзорную статью, в которой я вкратце описал проделанную работу целиком.
Итак, в прошлой статье я описывал создание транслятора с более-менее высокоуровневого языка программирования в промежуточное представление и дальнейшую сборку приложения.
Сейчас перед нами стоит задача добавления в язык структур и классов, для того чтобы он имел функциональность современных аналогов. В данной статье не будет приведен код описываемой
функциональности, т.к. его много, он довольно скучный и далеко не всем будет интересно в нем копаться. Только теория. И немного картинок.
Начнем творить…
Читать полностью »
Пишем свой язык программирования, часть 3: Архитектура транслятора. Разбор языковых структур и математических выражений
2019-01-09 в 12:45, admin, рубрики: open source, абстракции, архитектура виртуальных машин, виртуализация, высокая производительность, мозг, новый язык программирования, обучающий материал, разработка стековой вм, разработка языков программирования, СофтВведение
Приветствую вас, заинтересованные читающие разработчики на не важно каких языках, на которых я ориентирую эти статьи и чьи поддержку и мнения я ценю.
Для начала, по устоявшимся традициям, я приведу ссылки на предыдущие статьи:
Часть 1: пишем языковую ВМ
Часть 2: промежуточное представление программ
Для формирования в вашей голове полного понимания того, что в этих статьях мы пишем, вам стоит заранее ознакомиться с предыдущими частями.
Также мне стоит разместить сразу ссылку на статью о проекте, который был написан мной ранее и на основе которого идет весь этот разбор полётов: Клац сюды. С ним пожалуй стоит ознакомиться первым делом.
И немного о проекте:
→ Небольшой сайт проекта
→ GitHub репозиторий
Ну и также скажу сразу, что все написано на Object Pascal, а именно — на FPC.
Итак, начнем.
Читать полностью »
Пишем свой язык программирования, часть 2: промежуточное представление программ
2019-01-07 в 12:32, admin, рубрики: open source, абстракции, архитектура виртуальных машин, виртуализация, высокая производительность, мозг, новый язык программирования, обучающий материал, разработка стековой вм, разработка языков программирования, СофтВведение
Приветствую всех, кто заглянул почитать мою очередную статью.
Повторюсь, я описываю создание языка языка программирования, на основе проведенной ранее работы, результаты которой описал в этом посте.
В первой части (линк: habr.com/post/435202) я описал этапы проектирования и написания языковой ВМ, которая будет выполнять наши будущие приложения на нашем будущем языке.
В этой статье я планирую описать основные этапы создания промежуточного языка программирования, который будет собираться в абстрактный байткод для уже непосредственного выполнения на нашей ВМ.
Думаю, что не помешает сразу привести ссылки на сайт проекта и его репозиторий.
Пишем свой язык программирования, часть 1: пишем языковую ВМ
2019-01-05 в 15:59, admin, рубрики: open source, абстракции, архитектура виртуальных машин, виртуализация, высокая производительность, мозг, новый язык программирования, обучающий материал, разработка стековой вм, разработка языков программирования, СофтВведение
Доброго времени суток всем хабрачитателям!
Итак, пожалуй стоит сказать, что целью моей работы, на основе которой будет написан ряд статеек было пройти весь путь создания полнофункционального ЯП самому с 0 и затем поделиться своими знаниями, наработками и опытом с интересующимися этим людьми.
Я буду описывать создание языка, который описал ранее тут.
Он заинтересовал многих и вызвал бурную дискуссию в комментариях. Следовательно — тема интересна многим.
Думаю, что сразу стоит выложить информацию о проекте:
Сайт (будет заполнен документацией чуть позже).
Репозиторий
Чтобы самому потрогать проект и увидеть все в действии, лучше скачать репозиторий и запускать все из папки bin. В релиз я не спешу выкладывать последние версии языка и среды выполнения, т.к. мне порой бывает просто лень это делать.
Кодить я умею на C/C++ и на Object Pascal. Проект я писал на FPC, т.к. на мой взгляд этот язык гораздо проще и лучше подходит для написание подобного. Вторым определяющим фактором стало то, что FPC поддерживает огромное количество целевых платформ и пересобрать проект под нужную платформу можно с минимумом переделок. Если вы по непонятным мне причинам не любите Object Pascal, то не спешите закрывать пост и бежать кидаться камнями в комментарии. Этот язык весьма красив и нагляден, а кода я буду приводить не так уж и много. Только то, что нужно.
Итак, начну пожалуй я своё повествование.
Читать полностью »
Рассказывать ли сотрудникам о социальной инженерии?
2017-08-11 в 12:23, admin, рубрики: информационная безопасность, обучающий материал, руководства, социальная инженерияДа, я знаю, что термину «социальная инженерия» уже много лет, что Кевина уже давно отпустили, что есть куча материалов о том, как защититься от этих «инженеров». Я не собираюсь пинать мертвую кобылу, я хочу узнать у кого такая же кобыла тоже сдохла, а у кого отлично живет. Иными словами — мы на предприятии обучаем пользователей основам ИБ, рассылаем им информацию по разным типам атак и способам борьбы с ними. Примером такой рассылки про социальную инженерию я и хочу с вами поделиться.
Читать полностью »
Создаем мобильную игру на Monogame, решая типичные проблемы начинающего разработчика
2016-08-09 в 13:20, admin, рубрики: C#, monogame, windows phone, обучающий материал, разработка игр, разработка под windows phoneЦелью данной статьи является систематизация материалов для создания простых игр на фреймворке Monogame. В статье будут рассмотрены решения типичных задач, с которыми приходится сталкиваться всем разработчикам при создании игр для мобильных платформ: независимость текстур от разрешения экрана, создание меню и смена игровых сцен (экранов), нюансы работы со звуком и шрифтами, сохранение рекордов. В статье приведены примеры кода, а так же даны ссылки на полезные и актуальные источники информации по Monogame и разработке под платформу Windows в целом, ну и конечно, моя история создания своих первых игр.
Читать полностью »
Три пятерки для электронщика
2015-11-26 в 7:53, admin, рубрики: diy или сделай сам, Блог компании Мастер Кит, мастер кит, обучающий материал, обучение с подкреплением, схемотехника, Электроника для начинающихКомпания Мастер Кит, выпускающая серию наборов для начинающих под общим названием «Азбука электронщика», конечно же, не могла обойти вниманием такой известный компонент, как «легендарный» интегральный таймер NE555. И, если в первом наборе «Основы схемотехники», рассматриваются 15 простейших схем с применением основных электронных компонентов (резисторов, конденсаторов, транзисторов, диодов), то в наборе, который мы назвали «Классика схемотехники», приведены 20 схем с применением таймера NE555.