Векторы в 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-графике!

Скрыть рекламу навсегда

🌱 Индвидидулаьные занятия

Индивидуальные онлайн-занятия по программированию для детей и подростков

Личный подход, без воды, с фокусом на понимание и реальные проекты.

🚀 Записаться на занятие