[−][src]Struct yoyo_physics::bezier::BezierCoefficients
Polynomial coefficients of a 2D cubic Bezier curve.
In general, a cubic Bezier curve can be represented by
x = a * t^3 + b * t^2 + c * t
(where x
, a
, b
and c
are vectors).
Fields
c: (T, T)
This is the third and last coefficient (excluding the constant).
b: (T, T)
This is the second coefficient.
a: (T, T)
This is the first coefficient.
Implementations
impl<T> BezierCoefficients<T> where
T: Float,
[src]
T: Float,
pub fn new(points: [(T, T); 2]) -> BezierCoefficients<T>
[src]
This function precomputes the coefficients of a 3rd degree polynomial for a cubic Bezier curve.
pub fn sample_x(&self, t: T) -> T
[src]
This function computes the x
coordinate for a given t
argument.
Specifically, this is: (x, _) = f(t)
(note that f
is a parametric
function).
pub fn sample_y(&self, t: T) -> T
[src]
This function computes the y
coordinate for a given t
argument.
Specifically, this is: (_, y) = f(t)
(note that f
is a parametric
function).
pub fn sample_dxdt(&self, t: T) -> T
[src]
This function computes the derivative of the x
coordinate with respect
to t
for a given t
argument. Specifically, this is: (x', _) = f'(t)
(note that f
is a parametric function).
pub fn sample_dydt(&self, t: T) -> T
[src]
This function computes the derivative of the y
coordinate with respect
to t
for a given t
argument. Specifically, this is: (_, y') = f'(t)
(note that f
is a parametric function).
pub fn sample_dydx(&self, t: T) -> T
[src]
This function computes the derivative of the y
coordinate with respect
to x
for a given t
argument.
Auto Trait Implementations
impl<T> RefUnwindSafe for BezierCoefficients<T> where
T: RefUnwindSafe,
T: RefUnwindSafe,
impl<T> Send for BezierCoefficients<T> where
T: Send,
T: Send,
impl<T> Sync for BezierCoefficients<T> where
T: Sync,
T: Sync,
impl<T> Unpin for BezierCoefficients<T> where
T: Unpin,
T: Unpin,
impl<T> UnwindSafe for BezierCoefficients<T> where
T: UnwindSafe,
T: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,