← Назад к геометрии

Векторы

Длина векторов, сумма, скалярное и векторное произведение, площадь треугольника

🐍 Python
x1, y1, x2, y2 = map(int, input().split())
x3, y3, x4, y4 = map(int, input().split())

# координаты первого вектора
xx1, yy1 = x2 - x1, y2 - y1
# координаты второго вектора
xx2, yy2 = x4 - x3, y4 - y3

# длина векторов
print((xx1**2 + yy1**2)**0.5, (xx2**2 + yy2**2)**0.5)

# координаты вектора суммы
print(xx1 + xx2, yy1 + yy2)

# скалярное и векторное произведение
print(xx1 * xx2 + yy1 * yy2, xx1 * yy2 - xx2 * yy1)

# площадь треугольника на векторах
print(abs(xx1 * yy2 - xx2 * yy1) / 2)
⚙️ C++
#include <bits/stdc++.h>
using namespace std;

int main() {
    int x1, y1, x2, y2, x3, y3, x4, y4;
    cin >> x1 >> y1 >> x2 >> y2;
    cin >> x3 >> y3 >> x4 >> y4;
    
    // координаты первого вектора
    int xx1 = x2 - x1, yy1 = y2 - y1;
    // координаты второго вектора
    int xx2 = x4 - x3, yy2 = y4 - y3;
    
    // длина векторов
    cout << sqrt(xx1*xx1 + yy1*yy1) << " " << sqrt(xx2*xx2 + yy2*yy2) << "\n";
    
    // координаты вектора суммы
    cout << xx1 + xx2 << " " << yy1 + yy2 << "\n";
    
    // скалярное и векторное произведение
    cout << xx1*xx2 + yy1*yy2 << " " << xx1*yy2 - xx2*yy1 << "\n";
    
    // площадь треугольника на векторах
    cout << abs(xx1*yy2 - xx2*yy1) / 2.0 << "\n";
    
    return 0;
}

Основные операции с векторами

Координаты вектора по двум точкам

Если даны точки A(x₁, y₁) и B(x₂, y₂), то вектор AB имеет координаты:

(x₂ - x₁, y₂ - y₁)

Длина вектора

|AB| = √((x₂ - x₁)² + (y₂ - y₁)²)

Сумма векторов

При сложении векторов их координаты складываются:

(x₁ + x₂, y₁ + y₂)

Скалярное произведение

(x₁, y₁) · (x₂, y₂) = x₁·x₂ + y₁·y₂

Скалярное произведение равно |a|·|b|·cos(α), где α — угол между векторами.

Векторное произведение (псевдоскалярное)

(x₁, y₁) × (x₂, y₂) = x₁·y₂ - x₂·y₁

Векторное произведение равно |a|·|b|·sin(α). Оно показывает ориентацию:

Площадь треугольника на векторах

S = |x₁·y₂ - x₂·y₁| / 2

Площадь треугольника, построенного на векторах a и b, равна половине модуля их векторного произведения.

Формат ввода и вывода

Ввод:

Вывод:

Пример ввода:

0 0 3 4
0 0 1 2

Первый вектор: (3, 4), длина = 5
Второй вектор: (1, 2), длина ≈ 2.236
Сумма: (4, 6)
Скалярное произведение: 3·1 + 4·2 = 11
Векторное произведение: 3·2 - 1·4 = 2
Площадь треугольника: 2/2 = 1

Вывод:
5.0 2.23606797749979
4 6
11 2
1.0

Попробовать операции с векторами онлайн

Введите координаты двух векторов:

Результат появится здесь...