C++におけるVector2の使用法


C++において、Vector2は2次元のベクトルを表すために使用されるデータ構造です。Vector2は、座標や方向などの2次元の情報を表現するのに便利です。以下に、Vector2の使用法とコード例をいくつか紹介します。

  1. Vector2の作成と初期化: Vector2を作成するには、次のようにします。
#include <iostream>
#include <cmath>
struct Vector2 {
    float x;
    float y;
};
int main() {
    Vector2 v1; // デフォルトコンストラクタを使用して初期化
    v1.x = 2.0f;
    v1.y = 3.0f;
    Vector2 v2 = {5.0f, 7.0f}; // 初期化リストを使用して初期化
    std::cout << "v1: (" << v1.x << ", " << v1.y << ")" << std::endl;
    std::cout << "v2: (" << v2.x << ", " << v2.y << ")" << std::endl;
    return 0;
}
  1. ベクトルの演算: Vector2は、ベクトルの演算に使用することができます。例えば、ベクトルの加算、減算、スカラー倍などが可能です。
Vector2 addVectors(const Vector2& v1, const Vector2& v2) {
    Vector2 result;
    result.x = v1.x + v2.x;
    result.y = v1.y + v2.y;
    return result;
}
Vector2 subtractVectors(const Vector2& v1, const Vector2& v2) {
    Vector2 result;
    result.x = v1.x - v2.x;
    result.y = v1.y - v2.y;
    return result;
}
Vector2 scalarMultiply(const Vector2& v, float scalar) {
    Vector2 result;
    result.x = v.x * scalar;
    result.y = v.y * scalar;
    return result;
}
  1. ベクトルの長さや正規化: ベクトルの長さを計算したり、ベクトルを正規化することもできます。
float length(const Vector2& v) {
    return std::sqrt(v.x * v.x + v.y * v.y);
}
Vector2 normalize(const Vector2& v) {
    float len = length(v);
    Vector2 result;
    result.x = v.x / len;
    result.y = v.y / len;
    return result;
}

これらはVector2の基本的な使用法とコード例の一部です。さまざまな用途に応じて、さらに多くの操作が可能です。ベクトル演算やベクトルの性質を詳しく学ぶには、C++のベクトルライブラリのドキュメントやチュートリアルを参照することをおすすめします。