mag and normal
parent
6646db8249
commit
1ceb71aac9
|
@ -1,6 +1,6 @@
|
||||||
cmake_minimum_required(VERSION 3.20)
|
cmake_minimum_required(VERSION 3.20)
|
||||||
include(cmake/color.cmake)
|
include(cmake/color.cmake)
|
||||||
set(BLT_VERSION 0.20.11)
|
set(BLT_VERSION 0.20.12)
|
||||||
set(BLT_TEST_VERSION 0.0.1)
|
set(BLT_TEST_VERSION 0.0.1)
|
||||||
|
|
||||||
set(BLT_TARGET BLT)
|
set(BLT_TARGET BLT)
|
||||||
|
|
|
@ -135,6 +135,26 @@ namespace blt
|
||||||
return mat;
|
return mat;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
T magnitude() const
|
||||||
|
{
|
||||||
|
T ret;
|
||||||
|
for (blt::u32 i = 0; i < columns; i++)
|
||||||
|
{
|
||||||
|
for (blt::u32 j = 0; j < rows; j++)
|
||||||
|
ret += (data[i][j] * data[i][j]);
|
||||||
|
}
|
||||||
|
return std::sqrt(ret);
|
||||||
|
}
|
||||||
|
|
||||||
|
matrix_t normalize() const
|
||||||
|
{
|
||||||
|
auto mag = magnitude();
|
||||||
|
matrix_t mat = *this;
|
||||||
|
if (mag == 0)
|
||||||
|
return mat;
|
||||||
|
return mat / mag;
|
||||||
|
}
|
||||||
|
|
||||||
constexpr inline const blt::vec<T, rows>& operator[](u32 column) const
|
constexpr inline const blt::vec<T, rows>& operator[](u32 column) const
|
||||||
{
|
{
|
||||||
return data[column];
|
return data[column];
|
||||||
|
|
Loading…
Reference in New Issue