25 return { 0.0f, 0.0f, 0.0f };
29 const float inv_length = 1.0f /
GetLength;
30 return *
this * inv_length;
35 return std::format(
"( x : {}, y : {}, z : {} )",
std::string FloatingPointNumToString(const T num, const int digit=kDigit, const int width=kWidth)
小数を文字列に変換する関数. C++ では C のフォーマットのように %3.3f とかで小数を文字列に変換できないため自作する.
constexpr bool IsEqual(const T num1, const T num2) noexcept
C++において,小数同士の計算は誤差が出てしまう. 誤差込みで値が等しいか調べる.
Vector3 & operator*=(const float num) noexcept
Vector3 & operator-=(const Vector3 &other) noexcept
Vector3 GetNormalized() const noexcept
単位ベクトルを返す. normalizeとは,ベクトルを正規化(単位ベクトルに変換)する操作を表す. 絶対値が0のベクトルの場合,そのまま0ベクトルを返す.
std::string ToCsvString() const
このベクトルをCSV形式の文字列にして返す. x, y, z の形式,小数点以下3桁まで.
float GetLength() const noexcept
ベクトルの長さを返す.
Vector3 & operator+=(const Vector3 &other) noexcept
Vector3 & operator/=(const float num)
std::string ToString() const
このベクトルを文字列にして返す. (x, y, z) の形式,小数点以下3桁まで.