Библиотека для работы с системами координат и преобразованиями между ними. Она настолько мощно абстрагирует работу с системами координат, что я использую её в каждом своем проекте, где есть хоть немного графики.
Полностью заного переписал этот рейтрейсинг, улучшил архитектуру, добавил возможность рисовать не только path-tracing (фотореалистичная графика), но и ray-tracing (быстрый, но не такой реалистичный). Используется в множестве моих других проектов.
Форк кода одного чувака с гитхаба. Выбрал именно его код, потому что он был максимально простым, и компилировался без проблем, а результаты давал впечатляющие. При помощи этого кода я впервые понял как работает рейтрейсинг и решил разобраться в нем ещё лучше, улучшив код, добавив пару фич.
Вторая оболочка над функциями WinApi. Наследует идеи GraphWinApi, но уже с намного более продуманной архитектурой. Так же имеет в себе оболочку над AGG для рисования со сглаживанием, EasyBMP и STB для сохранения изображений в файлы. Используется в множестве моих других проектов, но не как библиотека для создания приложений, а как графическая библиотека. И я думаю, надо выносить часть, отвечающую за цвет, точки и рисование в отдельную либу.
Алгоритм для рисования изображения, когда оно получено не полностью. Задает не только порядок обхода пикселей, но и сам алгоритм рисования этого изображения. Использовалось для рейтрейсинга, чтобы в реальном времени показывать то, что рендерилось очень долго. Время работы от количества пикселей: линейное. К сожалению имеет в зависимостях TWG, поэтому не получится использовать её кому-то кроме меня.
Программа для изучения английских слов. Интерфейс простейший: слово на английском и четыре кнопки, где надо выбрать правильный ответ. Написана на основе TWG. Слова я по ней не учу *facepalm*.
Попытка изобрести алгоритм для определения нахождения точки внутри полигона при помощи разложения пространства полигона в дерево. Попытка неудачная, либо мне просто не хватило терпения.
Попытка написать код для нахождения оптимальной раскладки на основе идеи об аккордах. Забросил проект по причине невероятной сложности, которую себе воздвиг (хотел одновременно учитывать слои и продублированные клавиши). Дневник разработки раскладки.
Объясняю как работает метод Ньютона для решения систем нелинейных уравнений. Стараюсь рассказать это максимально подробно и качественно. Захотел написать после того, как сам разобрался в нём и не нашел чего-то подобного в интернете.
Так как я с третьего курса пишу отчеты в LaTeX, то я решил собрать большинство штук, которые я использую в одно место, а так же заготовку титульного листа. Намного удобнее Word'а для генерации таблиц, графиков, а так же математических формул. Но к сожалению очень большой порог вхождения и за полгода существования репозитория, никто из моих одногруппников так этим и не воспользовался.
Как-то собрал в одно место все солнечные затмения за 21 век благодаря одной проге, чтобы это индексировалось поисковиками, и я обрел популярность. Хоть попытка неудачная, зато я знаю когда будет ближайшее солнечное затмение в моем городе.
Выложил для того, чтобы говорить одногруппникам: посмотри на гитхабе как я сделал, а так же чтобы в ежедневной активности было много зеленых точек, типо что я не фигней занимаюсь. Так же там есть реально годные репозитории.
Пишем методы для решения СЛАУ. Но СЛАУ задаются не в плотном формате, а в формате, когда имеется много нулей. Решаться она должна в этом же формате. Это применяется в МКЭ, где у каждого элемента лишь несколько соседей, и когда оперативная память ограниченая гигабайтами, а время - неделями (если составлять матрицу с нулями, то вы не найдете столько оперативки чтобы это всё хранить и столько времени, чтобы это ждать).
Реализуем методы для решения дифференциальных уравнений что проходили на первой части этого предмета при помощи методов, похожих на МКЭ. В этом предмете плохо то, что методичка написана ужасно, ничего не понятно, исследования бессмысленные, и мы не проводим никаких симуляиций физических процессов, только абстрактные кони в вакууме. Зато курсач я написал почти божественно.
Пишем решатели однородных дифференциальных уравнений и применяем это в каких-то физических задачах. Так как предмет появился только при нас, попытался написать свою методичку.
Пишем свой компилятор очень маленького подмножества Си. Предмет предназначен для понимая устройства компиляторов и изучения таких фишек в программировании, как: конечный автомат и грамматики. Код писал в основном не я.
Простые лабы на освоение основных криптографических концепций, таких как: частотность букв, хеш, протокол Диффи-Хеллмана, открытый и закрытый ключ, симметричное, асимметричное шифрование. Самое крутое что есть в этом репозитории - это программа автоматической расшифровки текста, зашифрованного перестановкой букв в алфавите. Для этого я использую генетический алгоритм и хитрые метрики по частотности биграмм и триграмм. Для этого смотри папку 1.
Пишем программы, которые используют такие фичи линукса, как: fork, pipe, execl, openp. Благодаря этому предмету я понял, что либо я не понимаю Linux, либо у него ужасная архитектура!
Changelog
2021.08.26
Перевод этой страницы на новый блог на Zola.
2019.06.10
Первый релиз.