Чему вы научитесь
- Понимать как устроено трёхмерное пространство и системы координат
- Работать с векторами - складывать, вычитать, вычислять скалярное и векторное произведения
- Понимать что такое базис и как переходить между системами координат
- Читать и составлять матрицы трансформаций - масштабирования, вращения и переноса
- Понимать как работают однородные координаты и зачем они нужны
- Комбинировать трансформации в цепочки и понимать почему порядок имеет значение
- Разбираться в полном pipeline трансформаций от локального пространства до пикселя на экране
- Понимать разницу между ортографической и перспективной проекциями
- Работать с кватернионами - понимать их структуру, применять вращения и интерполировать между ними
- Решать практические задачи - пересечение лучей с геометрией, интерполяция атрибутов внутри треугольника
О курсе
Курс охватывает всю линейную алгебру которая нужна графическому разработчику - от базовых понятий до кватернионов и рейкастинга. Каждая тема подаётся через призму графики - мы не просто изучаем математику, мы сразу отвечаем на вопрос "зачем это нужно в реальной разработке".
Курс построен по принципу от простого к сложному. Мы начинаем с координатных систем и векторов, затем переходим к матрицам и трансформациям сначала в 2D потом в 3D, разбираем полный конвейер рендеринга и завершаем кватернионами - наиболее математически насыщенной темой.
Каждый урок рассчитан на 4-5 минут чтения. После каждого урока - от 8 до 16 контрольных вопросов для закрепления материала. Курс состоит из 9 модулей и 39 уроков.
Программирования в курсе нет - только математика. Но каждая тема сопровождается конкретными примерами из практики графического разработчика - шейдеры, анимация, рейкастинг, освещение, системы частиц. После курса вы будете понимать что происходит "под капотом" любого графического движка.
Для кого этот курс
Начальные требования
Базовая школьная математика - понимание тригонометрии на уровне синуса и косинуса, умение работать с уравнениями
Общее понимание что такое программирование - курс не требует написания кода, но примеры из практики будут понятнее тем кто хотя бы видел как выглядит код шейдера или игрового движка
Никаких предварительных знаний линейной алгебры не требуется - курс начинается с самых основ