|
|

Public Member Functions | |
| Vector3 | GetBinormal (real time) const |
| Returns the normalized binormal vector at the given time. | |
| Vector3 | GetNormal (real time) const |
| Returns the normalized normal vector at the given time. | |
| real | GetCurvature (real time) const |
| Returns the curvature of the curve at the given time. | |
| real | GetTorsion (real time) const |
| Returns the torsion of the curve at the given time. | |
| Matrix4x4 | GetFrame (real time) const |
| Returns the curve's Frenet-Serret coordinate frame (as 4x4 TNBP row-major matrix) at the given time. | |
| void | GetFrame (real time, Vector3 &position, Vector3 &tangent, Vector3 &normal, Vector3 &binormal) const |
| Returns the curve's Frenet-Serret coordinate frame at the given time in the given vectors. | |
| Matrix4x4 | GetFrame (real time, const Vector3 &upVector) const |
| Returns the curve's coordinate frame (as 4x4 TNBP row-major matrix) respecting the given up vector at the given time. | |
| void | GetFrame (real time, const Vector3 &upVector, Vector3 &position, Vector3 &tangent, Vector3 &normal, Vector3 &binormal) const |
| Returns the curve's coordinate frame respecting the given up vector at the given time in the given vectors. | |
|
|
Returns the binormal vector at the given time. |
|
|
Returns the curvature of the curve at the given time. If the curvature is indeterminate (which happens when the speed of the curve at the given time is 0) std::numeric_limits<real>::quiet_NaN() is returned. Curvature is computed by this function as follows: Let X(t) be the curve and X'(t) and X''(t) denote the first and second derivatives of X(t), respectively, then curvature is defined as: k(t) = |X'(t) x X''(t)| / |X'(t)|^3 where x denotes the cross product. Note that the curvature returned by this function will always be a positive value. |
|
||||||||||||||||||||||||||||
|
Returns the curve's coordinate frame respecting the given up vector at the given time in the given vectors. The given up vector must not be the zero vector and it need not necessarily be of unit length. Unlike the Frenet-Serret frame returned by the Curve3::GetFrame member functions that do not take an up vector as argument, this function returns a frame oriented using the given up vector. This means that the returned coordinate frame will not flip at the control points like the Frenet-Serret frame might do. However, it imposes the restriction that the curve must never be colinear to the given up vector, i.e. the tangent vector of the curve should never point in the same direction as the up vector. |
|
||||||||||||
|
Returns the curve's coordinate frame (as 4x4 TNBP row-major matrix) respecting the given up vector at the given time. The given up vector must not be the zero vector and it need not necessarily be of unit length. Unlike the Frenet-Serret frame returned by the Curve3::GetFrame member functions that do not take an up vector as argument, this function returns a frame oriented using the given up vector. This means that the returned coordinate frame will not flip at the control points like the Frenet-Serret frame might do. However, it imposes the restriction that the curve must never be colinear to the given up vector, i.e. the tangent vector of the curve should never point in the same direction as the up vector. |
|
||||||||||||||||||||||||
|
Returns the curve's coordinate frame at the given time in the given vectors. The TNB vectors are the curve's Frenet-Serret frame for the givne time. |
|
|
Returns the curve's coordinate frame at the given time. The returned matrix is a row-major TNBP matrix that contains the tangent vector in the first row, the normal vector in the second row, the binormal vector in the third row, and the position in the fourth row. The TNB vectors are the curve's Frenet-Serret frame for the given time. |
|
|
Returns the normalized normal vector at the given time. |
|
|
Returns the torsion of the curve at the given time. If the torsion is indeterminate std::numeric_limits<real>::quiet_NaN() is returned. Torsion is computed by this function as follows: Let X(t) be the curve and X'(t), X''(t), and X'''(t) denote the first, second, and third derivatives of X(t), respectively, then torsion is defined as: (X'(t) x X''(t)) * X'''(t) t(t) = --------------------------- |X'(t) x X''(t)|^2 where x denotes the cross product and * denotes the dot product. |
|
Copyright © by Martin Ecker |