Add geom::cross_product_matrix
This commit is contained in:
parent
1cc2c23602
commit
49eafc4806
1 changed files with 13 additions and 0 deletions
|
|
@ -364,6 +364,19 @@ namespace psemek::geom
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template <typename T>
|
||||||
|
matrix<T, 3, 3> cross_product_matrix(vector<T, 3> const & v)
|
||||||
|
{
|
||||||
|
auto r = matrix<T, 3, 3>::zero();
|
||||||
|
r[0][1] = -v[2];
|
||||||
|
r[0][2] = v[1];
|
||||||
|
r[1][0] = v[2];
|
||||||
|
r[1][2] = -v[0];
|
||||||
|
r[2][0] = -v[1];
|
||||||
|
r[2][1] = v[0];
|
||||||
|
return r;
|
||||||
|
}
|
||||||
|
|
||||||
template <typename T, std::size_t R, std::size_t C>
|
template <typename T, std::size_t R, std::size_t C>
|
||||||
std::ostream & operator << (std::ostream & os, matrix<T, R, C> const & m)
|
std::ostream & operator << (std::ostream & os, matrix<T, R, C> const & m)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue