📜  Vector2 c++ (1)

📅  最后修改于: 2023-12-03 15:05:49.094000             🧑  作者: Mango

关于 Vector2 C++ 类的介绍

概述

Vector2 是一个表示 2D 向量的 C++ 类。向量是数学中的重要概念,在计算机图形学,物理仿真等领域都有广泛的应用。

一个二维向量可以表示为 (x, y),在代码中可以用一个 Vector2 类型的变量来存储。Vector2 类型提供了一些常见的向量运算功能,如加减法,点乘/叉乘,单位化等等。

使用示例
#include<iostream>
#include "Vector2.h"

int main() {
    Vector2 a(1.0f, 2.0f);
    Vector2 b(2.0f, 1.0f);

    Vector2 c = a + b;
    Vector2 d = a - b;
    Vector2 e = a * 2.0f;
    Vector2 f = b / 2.0f;

    std::cout << "a + b = (" << c.x << ", " << c.y << ")" << std::endl;
    std::cout << "a - b = (" << d.x << ", " << d.y << ")" << std::endl;
    std::cout << "a * 2 = (" << e.x << ", " << e.y << ")" << std::endl;
    std::cout << "b / 2 = (" << f.x << ", " << f.y << ")" << std::endl;

    float dot = Vector2::Dot(a, b);
    float cross = Vector2::Cross(a, b);

    std::cout << "dot(a, b) = " << dot << std::endl;
    std::cout << "cross(a, b) = " << cross << std::endl;

    Vector2 normalizedA = a.Normalized();
    Vector2 normalizedB = b.Normalized();

    std::cout << "Normalized a = (" << normalizedA.x << ", " << normalizedA.y << ")" << std::endl;
    std::cout << "Normalized b = (" << normalizedB.x << ", " << normalizedB.y << ")" << std::endl;

    return 0;
}
API 文档
构造函数
Vector2(); // 以 (0, 0) 初始化
Vector2(float x, float y); // 以 (x, y) 初始化
运算符重载
Vector2 operator+(const Vector2& rhs) const; // 向量加法
Vector2 operator-(const Vector2& rhs) const; // 向量减法
Vector2 operator*(float scalar) const; // 向量与标量的乘法
Vector2 operator/(float scalar) const; // 向量除以标量
bool operator==(const Vector2& rhs) const; // 向量相等判断
向量运算函数
float Magnitude() const; // 向量长度
float SqrMagnitude() const; // 向量长度的平方
Vector2 Normalized() const; // 归一化向量
static float Dot(const Vector2& a, const Vector2& b); // 点乘
static float Cross(const Vector2& a, const Vector2& b); // 叉乘
总结

Vector2 类提供了便捷的 2D 向量运算功能,开发者们在实现各种计算机图形学和物理仿真算法时,可以使用该类来方便地计算各种向量运算。