lipm_walking_controller
1.6.0
slerp.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2018-2019, CNRS-UM LIRMM
3
* All rights reserved.
4
*
5
* Redistribution and use in source and binary forms, with or without
6
* modification, are permitted provided that the following conditions are met:
7
*
8
* 1. Redistributions of source code must retain the above copyright notice,
9
* this list of conditions and the following disclaimer.
10
*
11
* 2. Redistributions in binary form must reproduce the above copyright notice,
12
* this list of conditions and the following disclaimer in the documentation
13
* and/or other materials provided with the distribution.
14
*
15
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
16
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
19
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
20
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
21
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
24
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
25
* POSSIBILITY OF SUCH DAMAGE.
26
*/
27
28
#pragma once
29
30
#include <Eigen/Dense>
31
32
namespace
utils
33
{
34
48
inline
Eigen::Matrix3d
slerp
(
const
Eigen::Matrix3d & from,
const
Eigen::Matrix3d & to,
double
t)
49
{
50
Eigen::Quaterniond qFrom(from);
51
Eigen::Quaterniond qTo(to);
52
return
qFrom.slerp(t, qTo).toRotationMatrix();
53
}
54
55
}
// namespace utils
56
57
using
utils::slerp
;
utils
Utility functions and classes.
Definition:
clamp.h:35
utils::slerp
Eigen::Matrix3d slerp(const Eigen::Matrix3d &from, const Eigen::Matrix3d &to, double t)
Spherical linear interpolation between two rotation matrices.
Definition:
slerp.h:48
include
lipm_walking
utils
slerp.h
Generated on Tue Mar 19 2024 15:56:24 for lipm_walking_controller by
1.8.17