5 template<
typename T, qualifier Q>
14 T CosAlpha = dot(x, y);
16 T Alpha =
acos(CosAlpha);
18 T SinAlpha =
sin(Alpha);
20 T t1 =
sin((
static_cast<T
>(1) - a) * Alpha) / SinAlpha;
21 T t2 =
sin(a * Alpha) / SinAlpha;
24 return x * t1 + y * t2;
27 template<
typename T, qualifier Q>
38 Result.x = v.x * Cos - v.y * Sin;
39 Result.y = v.x * Sin + v.y * Cos;
43 template<
typename T, qualifier Q>
65 template<
typename T, qualifier Q>
76 template<
typename T, qualifier Q>
87 Result.y = v.y * Cos - v.z * Sin;
88 Result.z = v.y * Sin + v.z * Cos;
92 template<
typename T, qualifier Q>
103 Result.x = v.x * Cos + v.z * Sin;
104 Result.z = -v.x * Sin + v.z * Cos;
108 template<
typename T, qualifier Q>
119 Result.x = v.x * Cos - v.y * Sin;
120 Result.y = v.x * Sin + v.y * Cos;
124 template<
typename T, qualifier Q>
135 Result.y = v.y * Cos - v.z * Sin;
136 Result.z = v.y * Sin + v.z * Cos;
140 template<
typename T, qualifier Q>
151 Result.x = v.x * Cos + v.z * Sin;
152 Result.z = -v.x * Sin + v.z * Cos;
156 template<
typename T, qualifier Q>
167 Result.x = v.x * Cos - v.y * Sin;
168 Result.y = v.x * Sin + v.y * Cos;
172 template<
typename T, qualifier Q>
183 T Angle =
acos(dot(Normal, Up));
185 return rotate(Angle, RotationAxis);
GLM_FUNC_QUALIFIER vec< 3, T, Q > cross(vec< 3, T, Q > const &x, vec< 3, T, Q > const &y)
Definition func_geometric.inl:175
GLM_FUNC_QUALIFIER vec< L, T, Q > sin(vec< L, T, Q > const &v)
Definition func_trigonometric.inl:41
GLM_FUNC_QUALIFIER vec< L, T, Q > cos(vec< L, T, Q > const &v)
Definition func_trigonometric.inl:50
GLM_FUNC_QUALIFIER vec< L, T, Q > acos(vec< L, T, Q > const &v)
Definition func_trigonometric.inl:77
GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool all(vec< L, bool, Q > const &v)
Definition func_vector_relational.inl:67
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, bool, Q > equal(vec< L, T, Q > const &x, vec< L, T, Q > const &y)
Definition func_vector_relational.inl:40
GLM_FUNC_DECL qua< T, Q > slerp(qua< T, Q > const &x, qua< T, Q > const &y, T a)
Definition quaternion_common.inl:41
GLM_FUNC_DECL T angle(qua< T, Q > const &x)
Definition quaternion_trigonometric.inl:6
GLM_FUNC_DECL GLM_CONSTEXPR genType epsilon()
Return the epsilon constant for floating point types.
Definition scalar_constants.inl:6
GLM_FUNC_DECL mat< 4, 4, T, Q > orientation(vec< 3, T, Q > const &Normal, vec< 3, T, Q > const &Up)
Definition rotate_vector.inl:174
GLM_FUNC_DECL vec< 3, T, Q > rotateY(vec< 3, T, Q > const &v, T const &angle)
Definition rotate_vector.inl:94
GLM_FUNC_DECL vec< 3, T, Q > rotateZ(vec< 3, T, Q > const &v, T const &angle)
Definition rotate_vector.inl:110
GLM_FUNC_DECL vec< 3, T, Q > rotateX(vec< 3, T, Q > const &v, T const &angle)
Definition rotate_vector.inl:78
Core features
Definition common.hpp:21
Definition qualifier.hpp:36
Definition qualifier.hpp:35