Векторы в 2D и 3D: сложение, скалярное произведение
Что такое вектор? 🧭
Представь, что ты управляешь персонажем в игре. Вектор — это просто стрелка, которая показывает:
- Направление 🧭 — куда двигаться
- Длину 📏 — как далеко двигаться
В 2D-играх векторы имеют две координаты: (x, y)
В 3D-играх — три координаты: (x, y, z)
🎮 В геймдеве векторы используются для движения персонажей, физики объектов, расчета освещения и многого другого!
Сложение векторов ➕
Когда ты складываешь два вектора, ты просто комбинируешь их перемещения!
Вектор A = (2, 3) Вектор B = (1, -1) A + B = (2+1, 3+(-1)) = (3, 2)
Визуально это выглядит так: ты проходишь путь вектора A, затем от его конца — путь вектора B.
Задача на сложение 🎯
Твой персонаж переместился на вектор (5, 2), затем на вектор (-3, 4). Каково итоговое перемещение?
Показать решение
Шаг 1: Запишем векторы:
Вектор A = (5, 2) Вектор B = (-3, 4)
Шаг 2: Сложим соответствующие координаты:
A + B = (5 + (-3), 2 + 4) = (2, 6)
Ответ: (2, 6)
Скалярное произведение ✖️
Это особенная операция, которая показывает, насколько два вектора "совпадают" по направлению.
Формула: A · B = Aₓ·Bₓ + Aᵧ·Bᵧ
В 3D просто добавляем z-координату: A · B = Aₓ·Bₓ + Aᵧ·Bᵧ + A_z·B_z
| Результат | Что означает |
|---|---|
| > 0 | Векторы смотрят в одном направлении |
| = 0 | Векторы перпендикулярны |
| < 0 | Векторы смотрят в противоположные стороны |
💡 В играх скалярное произведение используется для:
- Определения видимости объектов
- Расчета освещения
- Проверки, смотрит ли враг на игрока
Практическое применение в играх 🎮
Пример 1: Движение персонажа
Когда ты нажимаешь две клавиши движения одновременно, их векторы складываются:
Вперед: (0, 1) Вправо: (1, 0) Итог: (1, 1) — движение по диагонали!
Пример 2: Проверка видимости
Определим, видит ли стражник игрока:
Направление взгляда стража: V = (0, 1) Направление на игрока: P = (3, 4) Нормализуем векторы и найдем скалярное произведение
🔥 Профессиональный совет: всегда нормализуйте векторы перед скалярным произведением, если вам важно только направление, а не длина!
Проверь себя 📝
Задача 1
Сложи векторы: A = (7, -2, 4) и B = (3, 5, -1)
Показать решение
A + B = (7+3, -2+5, 4+(-1)) = (10, 3, 3)
Задача 2
Найди скалярное произведение: C = (2, 5) и D = (-3, 1)
Показать решение
C · D = (2 * -3) + (5 * 1) = -6 + 5 = -1
Векторы смотрят в противоположные направления!
Задача 3 🧠
Персонаж движется со скоростью (3, 2). Ветер дует с силой (-1, 4). С какой скоростью будет двигаться персонаж?
Показать решение
Итоговая скорость = (3 + (-1), 2 + 4) = (2, 6)
Заключение 🌟
Векторы — это фундаментальный инструмент в арсенале геймдевелопера. Сегодня ты освоил:
- 📌 Основы векторов в 2D и 3D
- ➕ Сложение векторов для комбинирования перемещений
- ✖️ Скалярное произведение для анализа направлений
Помни: практика — ключ к mastery! Создавай простые игровые сцены и экспериментируй с векторами. У тебя все получится! 🚀
В следующем уроке мы explore векторное произведение и его потрясающие применения в 3D-графике!